Azure Maps limit

surya chakravarthy 41 Reputation points
2023-05-12T09:48:17.5266667+00:00

Hi There!!
I have 0.8M of records to find the distance calculation. If I send it as a batches like 30k records each How many transactions per second it will fetch.
And I also wanted to know that I am calling the Maps api through databricks pyspark as a function call. so, How many times it will call the Maps api for 30k records from python function call.

Please let me know If further any information I can get regarding Azure Maps.
Thanks in Advance..!

Azure Maps
Azure Maps
An Azure service that provides geospatial APIs to add maps, spatial analytics, and mobility solutions to apps.
634 questions
{count} votes

Accepted answer
  1. rbrundritt 16,156 Reputation points Microsoft Employee
    2023-05-12T19:35:23.4866667+00:00

    Transactions per second is a relative metric that has a lot of variables:

    • Which API you are using. Matrix and the batch routing services will likely be slower than the regular routing service as batch type services are generally processed with less priority than real-time request services.
    • Your network latency and all the possible latency between you and the Azure Maps service.
    • Size of the downloaded data (matrix service is smaller than routing service).
    • How much load is on the Azure Maps platform when you are making your requests. At peak times batch serves can be deprioritized more.
    • The http library you are using to make the request can also have an impact.
    • If you are making the requests synchronously or have multiple requests made in parallel. Note that there is query per second limits. I believe the default limit is 50, but you can contact Azure support and request to increase this.

    The number of times you call the API will depend on how you plan to get the distances:

    • If you want to calculate a distance along a road using the routing or matrix service and that each record is being routed to one other point only (meaning 0.8M routes). Regardless of which method below you use, there will be 0.8M route transactions generated.
      • The async matrix service and batch routing service allows up to 700 origin-destination pairs/route requests per matrix/batch request, so it would take 1143 requests to start that process, plus another 2 x 1143 requests to check the status at least once and then download the results.
      • If using the real time routing service you would be making 1 request per origin-destination pair, so 0.8M requests.

    If instead you are trying to calculate a matrix between all possible paths of the 0.8M records (0.8M x 0.8M matrix) this would require 640B route paths. I'm assuming this isn't the case as this is a crazy amount, but if by chance this is what you are looking to do for matrix/batch routing you would likely be around 3B requests, and if using the real-time routing service 650B requests.

    • If all you need is straight line distances then don't use a service, this can be easily calculated if you have coordinates for each of your records. One of the most common distance calculations is the Haversine formula.
    1 person found this answer helpful.
    0 comments No comments

0 additional answers

Sort by: Most helpful