Share via


Route - Get Route Matrix

Använd för att hämta en vägmatris som visar restid och avstånd för alla möjliga par i en lista över ursprung och mål.

API:et Get Route Matrix är en HTTP-begäran GET som beräknar restiden och avståndet för alla möjliga par i en lista över ursprung och mål. Till skillnad från API:et Get Route Directions , som innehåller detaljerade väginstruktioner, fokuserar detta API på effektivitet genom att ge dig kostnaden (restid och avstånd) för routning från varje ursprung till varje mål. Mer information finns i Metodtips för Azure Maps Route-tjänsten.

För varje angivet ursprung beräknar tjänsten kostnaden för routning från det ursprunget till varje angivet mål. Uppsättningen ursprung och måluppsättningen kan betraktas som kolumn- och radrubriker i en tabell och varje cell i tabellen innehåller kostnaderna för routning från ursprunget till målet för cellen. Anta till exempel att ett livsmedelsleveransföretag har 20 förare och att de måste hitta den närmaste föraren för att hämta leveransen från restaurangen. För att lösa det här användningsfallet kan de anropa Matrix Route API.

För varje rutt returneras restiderna och avstånden. Du kan använda de beräknade kostnaderna för att avgöra vilka detaljerade vägar som ska beräknas med hjälp av API:et Route Directions.

Den maximala storleken för en matris för asynkron begäran är 700 och för synkroniseringsbegäran är den 100 (antalet ursprung multiplicerat med antalet mål).

Skicka begäran om synkron routningsmatris

Om ditt scenario kräver synkrona begäranden och matrisens maximala storlek är mindre än eller lika med 100, kanske du vill göra en synkron begäran. Den maximala storleken på en matris för det här API:et är 100 (antalet ursprung multiplicerat med antalet mål). Med den begränsningen i åtanke är exempel på möjliga matrisdimensioner: 10x10, 6x8, 9x8 (det behöver inte vara kvadrat).

GET https://atlas.microsoft.com/route/matrix/sync/json?api-version=1.0&subscription-key={subscription-key}

Skicka begäran om asynkron routningsmatris

Det asynkrona API:et är lämpligt för bearbetning av stora volymer av relativt komplexa routningsbegäranden. När du gör en begäran med hjälp av en asynkron begäran returnerar tjänsten som standard en 202-svarskod längs en omdirigerings-URL i fältet Plats i svarshuvudet. Den här URL:en bör kontrolleras regelbundet tills svarsdata eller felinformation är tillgänglig. Om waitForResults parametern i begäran är inställd på true får användaren ett 200-svar om begäran slutförs under 120 sekunder.

Den maximala storleken på en matris för det här API:et är 700 (antalet ursprung multiplicerat med antalet mål). Med den begränsningen i åtanke är exempel på möjliga matrisdimensioner: 50x10, 10x10, 28x25. 10x70 (den behöver inte vara kvadratisk).

De asynkrona svaren lagras i 14 dagar. Omdirigerings-URL:en returnerar ett 404-svar om det används efter förfalloperioden.

GET https://atlas.microsoft.com/route/matrix/json?api-version=1.0&subscription-key={subscription-key}

Här är en typisk sekvens med asynkrona åtgärder:

  1. Klienten skickar en GET-begäran för routningsmatrisen till Azure Maps

  2. Servern svarar med något av följande:

    HTTP 202 Accepted – Begäran om routningsmatris har accepterats.

    HTTP Error – Ett fel uppstod när begäran om routningsmatris bearbetades. Detta kan antingen vara en 400 Felaktig begäran eller någon annan felstatuskod.

  3. Om matrisvägens begäran godkändes innehåller platsrubriken i svaret URL:en för att ladda ned resultatet av begäran. Den här status-URI:n ser ut så här:

  GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}
  1. Klienten utfärdar en GET-begäran på nedladdnings-URL:en som hämtades i steg 3 för att ladda ned resultatet

Ladda ned synkroniseringsresultat

När du gör en GET-begäran för API:et för routningsmatrissynkronisering returnerar tjänsten 200 svarskod för lyckad begäran och en svarsmatris. Svarstexten innehåller data och det finns ingen möjlighet att hämta resultaten senare.

Ladda ned Async-resultat

När en begäran utfärdar ett 202 Accepted svar bearbetas begäran med hjälp av vår asynkrona pipeline. Du får en URL för att kontrollera förloppet för din asynkrona begäran i platsrubriken för svaret. Den här status-URI:n ser ut så här:

  GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}

Url:en som tillhandahålls av platsrubriken returnerar följande svar när en GET begäran utfärdas.

HTTP 202 Accepted – Matrisbegäran godkändes men bearbetas fortfarande. Försök igen om en stund.

HTTP 200 OK – Matrisbegäran har bearbetats. Svarstexten innehåller alla resultat.

GET https://atlas.microsoft.com/route/matrix/{format}?api-version=1.0

URI-parametrar

Name I Obligatorisk Typ Description
format
path True

string

Matris-ID:t togs emot efter att matrisvägens begäran godkändes.

api-version
query True

string

Versionsnummer för Azure Maps API.

Begärandehuvud

Name Obligatorisk Typ Description
x-ms-client-id

string

Anger vilket konto som är avsett för användning tillsammans med Microsoft Entra ID säkerhetsmodell. Den representerar ett unikt ID för Azure Maps-kontot och kan hämtas från Azure Maps hanteringsplans konto-API. Information om hur du använder Microsoft Entra ID säkerhet i Azure Maps finns i följande artiklar.

Svar

Name Typ Description
200 OK

RouteMatrixResult

Matrisbegäran har bearbetats. Svarstexten innehåller alla resultat.

202 Accepted

Stöds endast för asynkron begäran. Begäran accepterad: Begäran har godkänts för bearbetning. Använd URL:en i platsrubriken för att försöka igen eller komma åt resultatet.

Headers

Location: string

Other Status Codes

ErrorResponse

Det uppstod ett oväntat fel.

Säkerhet

AADToken

Det här är Microsoft Entra OAuth 2.0-flöden. När den är kopplad till rollbaserad åtkomstkontroll i Azure kan den användas för att styra åtkomsten till Azure Maps REST-API:er. Rollbaserade åtkomstkontroller i Azure används för att ange åtkomst till en eller flera Azure Maps resurskonto eller underresurser. Alla användare, grupper eller tjänstens huvudnamn kan beviljas åtkomst via en inbyggd roll eller en anpassad roll som består av en eller flera behörigheter för att Azure Maps REST-API:er.

För att implementera scenarier rekommenderar vi att du visar autentiseringsbegrepp. Sammanfattningsvis tillhandahåller den här säkerhetsdefinitionen en lösning för modellering av program via objekt som kan få åtkomstkontroll för specifika API:er och omfång.

Kommentarer

  • Den här säkerhetsdefinitionen x-ms-client-idkräver att huvudet används för att ange vilken Azure Maps resurs som programmet begär åtkomst till. Detta kan hämtas från Maps Management-API:et.

Authorization URL är specifikt för den offentliga Azure-molninstansen. Nationella moln har unika auktoriserings-URL:er och Microsoft Entra ID konfigurationer. * Den rollbaserade Azure-åtkomstkontrollen konfigureras från Azure-hanteringsplanet via Azure Portal, PowerShell, CLI, Azure SDK:er eller REST-API:er. * Användning av Azure Maps Web SDK möjliggör konfigurationsbaserad konfiguration av ett program för flera användningsfall.

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

Name Description
https://atlas.microsoft.com/.default https://atlas.microsoft.com/.default

subscription-key

Det här är en delad nyckel som etableras när du Skapa ett Azure Maps-konto i Azure Portal eller med hjälp av PowerShell, CLI, Azure SDK:er eller REST API.

Med den här nyckeln kan alla program komma åt alla REST-API:et. Med andra ord kan den här nyckeln användas som en huvudnyckel i det konto som de utfärdas i.

För offentligt exponerade program rekommenderar vi att du använder metoden för konfidentiella klientprogram för att komma åt Azure Maps REST-API:er så att din nyckel kan lagras på ett säkert sätt.

Type: apiKey
In: query

SAS Token

Det här är en signaturtoken för delad åtkomst som skapas från åtgärden Lista SAS på den Azure Maps resursen via Azure-hanteringsplanet via Azure Portal, PowerShell, CLI, Azure SDK:er eller REST-API:er.

Med den här token har alla program behörighet att komma åt med rollbaserade Åtkomstkontroller i Azure och detaljerad kontroll av förfallodatum, frekvens och region för användning för den specifika token. Med andra ord kan SAS-token användas för att tillåta program att styra åtkomsten på ett mer säkert sätt än den delade nyckeln.

För offentligt exponerade program rekommenderar vi att du konfigurerar en specifik lista över tillåtna ursprung på map-kontoresursen för att begränsa återgivningsmissbruk och regelbundet förnya SAS-token.

Type: apiKey
In: header

Exempel

Successfully retrieve the status for a route matrix request

Sample Request

GET https://atlas.microsoft.com/route/matrix/11111111-2222-3333-4444-555555555555?api-version=1.0

Sample Response

{
  "formatVersion": "0.0.1",
  "matrix": [
    [
      {
        "statusCode": 200,
        "response": {
          "routeSummary": {
            "lengthInMeters": 495,
            "travelTimeInSeconds": 134,
            "trafficDelayInSeconds": 0,
            "departureTime": "2018-07-27T22:55:29+00:00",
            "arrivalTime": "2018-07-27T22:57:43+00:00"
          }
        }
      },
      {
        "statusCode": 200,
        "response": {
          "routeSummary": {
            "lengthInMeters": 647651,
            "travelTimeInSeconds": 26835,
            "trafficDelayInSeconds": 489,
            "departureTime": "2018-07-27T22:55:29+00:00",
            "arrivalTime": "2018-07-28T06:22:44+00:00"
          }
        }
      }
    ],
    [
      {
        "statusCode": 200,
        "response": {
          "routeSummary": {
            "lengthInMeters": 338,
            "travelTimeInSeconds": 104,
            "trafficDelayInSeconds": 0,
            "departureTime": "2018-07-27T22:55:29+00:00",
            "arrivalTime": "2018-07-27T22:57:13+00:00"
          }
        }
      },
      {
        "statusCode": 200,
        "response": {
          "routeSummary": {
            "lengthInMeters": 647494,
            "travelTimeInSeconds": 26763,
            "trafficDelayInSeconds": 469,
            "departureTime": "2018-07-27T22:55:29+00:00",
            "arrivalTime": "2018-07-28T06:21:32+00:00"
          }
        }
      }
    ]
  ],
  "summary": {
    "successfulRoutes": 4,
    "totalRoutes": 4
  }
}

Definitioner

Name Description
ErrorAdditionalInfo

Ytterligare information om resurshanteringsfelet.

ErrorDetail

Felinformationen.

ErrorResponse

Felsvar

RouteLegSummary

Sammanfattningsobjekt för vägavsnitt.

RouteMatrix

Matrisresultatobjekt

RouteMatrixResult

Det här objektet returneras från ett lyckat Route Matrix-anrop. Om till exempel 2 ursprung och 3 mål tillhandahålls kommer det att finnas 2 matriser med 3 element i varje. Varje elements innehåll beror på de alternativ som anges i frågan.

RouteMatrixResultResponse

Svarsobjekt för den aktuella cellen i indatamatrisen.

RouteMatrixSummary

Sammanfattningsobjekt

ErrorAdditionalInfo

Ytterligare information om resurshanteringsfelet.

Name Typ Description
info

object

Den ytterligare informationen.

type

string

Ytterligare informationstyp.

ErrorDetail

Felinformationen.

Name Typ Description
additionalInfo

ErrorAdditionalInfo[]

Ytterligare information om felet.

code

string

Felkoden.

details

ErrorDetail[]

Felinformationen.

message

string

Felmeddelandet.

target

string

Felmålet.

ErrorResponse

Felsvar

Name Typ Description
error

ErrorDetail

Felobjektet.

RouteLegSummary

Sammanfattningsobjekt för vägavsnitt.

Name Typ Description
arrivalTime

string

Beräknad ankomsttid för rutten eller benet. Tiden är i UTC.

batteryConsumptionInkWh

number

Uppskattad elenergiförbrukning i kilowatttimmar (kWh) med hjälp av elförbrukningsmodellen. Ingår om vehicleEngineType är inställt på elektrisk och constantSpeedConsumptionInkWhPerHundredkm har angetts. Värdet för batteryConsumptionInkWh inkluderar den upprymda elenergin och kan därför vara negativ (vilket indikerar att energin ökar). Om både maxChargeInkWh och currentChargeInkWh anges begränsas återställningen för att säkerställa att batteriladdningsnivån aldrig överskrider maxChargeInkWh. Om varken maxChargeInkWh eller currentChargeInkWh anges antas obegränsad återhämtning i förbrukningsberäkningen.

departureTime

string

Beräknad avgångstid för rutten eller benet. Tiden är i UTC.

fuelConsumptionInLiters

number

Uppskattad bränsleförbrukning i liter med hjälp av förbränningsförbrukningsmodellen. Ingår om vehicleEngineType är inställt på förbränning och constantSpeedConsumptionInLitersPerHundredkm anges. Värdet blir icke-negativt.

historicTrafficTravelTimeInSeconds

integer

Beräknad restid som beräknas med tidsberoende historiska trafikdata. Ingår endast om computeTravelTimeFor = alla används i frågan.

lengthInMeters

integer

Egenskapen Längd i meter

liveTrafficIncidentsTravelTimeInSeconds

integer

Uppskattad restid som beräknas med hjälp av hastighetsdata i realtid. Ingår endast om computeTravelTimeFor = alla används i frågan.

noTrafficTravelTimeInSeconds

integer

Beräknad restid beräknad som om det inte finns några förseningar på rutten på grund av trafikförhållanden (t.ex. överbelastning). Ingår endast om computeTravelTimeFor = alla används i frågan.

trafficDelayInSeconds

integer

Uppskattad fördröjning i sekunder som orsakas av realtidsincidenter enligt trafikinformation. För rutter som planeras med avgångstid i framtiden är förseningar alltid 0. Om du vill returnera ytterligare restider med olika typer av trafikinformation måste parametern computeTravelTimeFor=all läggas till.

travelTimeInSeconds

integer

Uppskattad restid i egenskapen sekunder som inkluderar fördröjningen på grund av realtidstrafik. Observera att även när traffic=false travelTimeInSeconds fortfarande inkluderar fördröjningen på grund av trafik. Om DepartAt är i framtiden beräknas restiden med hjälp av tidsberoende historiska trafikdata.

RouteMatrix

Matrisresultatobjekt

Name Typ Description
response

RouteMatrixResultResponse

Svarsobjekt för den aktuella cellen i indatamatrisen.

statusCode

integer

StatusCode-egenskapen för den aktuella cellen i indatamatrisen.

RouteMatrixResult

Det här objektet returneras från ett lyckat Route Matrix-anrop. Om till exempel 2 ursprung och 3 mål tillhandahålls kommer det att finnas 2 matriser med 3 element i varje. Varje elements innehåll beror på de alternativ som anges i frågan.

Name Typ Description
formatVersion

string

Formatversionsegenskap

matrix

RouteMatrix[]

Resultat som en 2-dimensionell matris med vägsammanfattningar.

summary

RouteMatrixSummary

Sammanfattningsobjekt

RouteMatrixResultResponse

Svarsobjekt för den aktuella cellen i indatamatrisen.

Name Typ Description
routeSummary

RouteLegSummary

Sammanfattningsobjekt för vägavsnitt.

RouteMatrixSummary

Sammanfattningsobjekt

Name Typ Description
successfulRoutes

integer

Antal lyckade vägar i svaret.

totalRoutes

integer

Totalt antal begärda vägar. Antal celler i indatamatrisen.