Dela via


Route - Get Route Matrix

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

Get Route Matrix-API:et är en HTTP-GET begäran 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 Get Route Directions API, som tillhandahå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 med 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. Låt oss till exempel säga att ett matleveransfö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 väg 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 Routningsriktningar.

Den maximala storleken på 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 en asynkron routningsmatrisbegäran

Det asynkrona API:et är lämpligt för bearbetning av stora volymer med 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 svar på 200 om begäran har slutförts 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 (det behöver inte vara kvadrat).

Asynkrona svar lagras i 24 timmar. 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 om routningsmatris till Azure Maps

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

    HTTP 202 Accepted – Begäran om routningsmatris har godkänts.

    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 har godkänts 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 om nedladdnings-URL:en som hämtas i steg 3 för att ladda ned resultatet

Ladda ned synkroniseringsresultat

När du gör en GET-begäran för API 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 svarets platsrubrik. 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 togs emot efter att matrisvägens begäran har godkänts.

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äkerhetsmodellen. Det representerar ett unikt ID för Azure Maps-kontot och kan hämtas från Konto-API:et för Azure Maps-hanteringsplan. Information om hur du använder Microsoft Entra ID-säkerhet i Azure Maps finns i följande artiklar för vägledning.

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 har godkänts: Begäran har godkänts för bearbetning. Använd URL:en i platsrubriken för att försöka igen eller komma åt resultaten.

Sidhuvuden

Location: string

Other Status Codes

ErrorResponse

Ett oväntat fel uppstod.

Säkerhet

AADToken

Det här är Microsoft Entra OAuth 2.0 Flows. När du parkopplas med rollbaserad åtkomst i Azure kontroll 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 ett eller flera Azure Maps-resurskonton 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 till 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.

Anteckningar

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

Authorization URL är specifik för den offentliga Azure-molninstansen. Nationella moln har unika auktoriserings-URL:er och Microsoft Entra-ID-konfigurationer. * Den rollbaserade åtkomstkontrollen i Azure konfigureras från Azure-hanteringsplan via Azure-portalen, 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.

Typ: oauth2
Flow: implicit
Auktoriseringswebbadress: https://login.microsoftonline.com/common/oauth2/authorize

Omfattningar

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-portalen 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:er. Med andra ord kan den här nyckeln användas som en huvudnyckel i det konto som de har utfärdats i.

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

Typ: apiKey
I: query

SAS Token

Det här är en signaturtoken för delad åtkomst som skapas från sas-åtgärden Lista på Azure Maps-resursen via Azure-hanteringsplanet via Azure-portalen, 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 till 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 återgivningsmissbruket och regelbundet förnya SAS-token.

Typ: apiKey
I: header

Exempel

Successfully retrieve the status for a route matrix request

Exempelbegäran

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

Exempelsvar

{
  "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ägavsnittet.

RouteMatrix

Matrisresultatobjekt

RouteMatrixResult

Det här objektet returneras från ett lyckat Routningsmatrisanrop. Om till exempel 2 ursprung och 3 mål tillhandahålls, finns det 2 matriser med 3 element i varje. Varje elements innehåll beror på vilka 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

Ytterligare information.

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ägavsnittet.

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 modellen för elektrisk förbrukning. Ingår om vehicleEngineType är inställt på elektrisk och constantSpeedConsumptionInkWhPerHundredkm anges. Värdet för batteriConsumptionInkWh inkluderar den återhämtningsbara elenergin och kan därför vara negativ (vilket indikerar att man får energi). 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

Den beräknade avgångstiden 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 beräknad med tidsberoende historiska trafikdata. Ingår endast om computeTravelTimeFor = alla används i frågan.

lengthInMeters

integer

Egenskapen Längd i meter

liveTrafficIncidentsTravelTimeInSeconds

integer

Beräknad restid beräknad med hjälp av realtidshastighetsdata. 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. trafikstockningar). 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 hjälp av olika typer av trafikinformation måste parameterberäkningTravelTimeFor=alla läggas till.

travelTimeInSeconds

integer

Uppskattad restid i sekundegenskap 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 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 Routningsmatrisanrop. Om till exempel 2 ursprung och 3 mål tillhandahålls, finns det 2 matriser med 3 element i varje. Varje elements innehåll beror på vilka alternativ som anges i frågan.

Name Typ Description
formatVersion

string

Formatversionsegenskap

matrix

RouteMatrix[]

Resultat som en tvådimensionell matris med routningssammanfattningar.

summary

RouteMatrixSummary

Sammanfattningsobjekt

RouteMatrixResultResponse

Svarsobjekt för den aktuella cellen i indatamatrisen.

Name Typ Description
routeSummary

RouteLegSummary

Sammanfattningsobjekt för vägavsnittet.

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.