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:
Klienten skickar en GET-begäran om routningsmatris till Azure Maps
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.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}
- 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 |
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 |
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.
- Mer information om Microsofts identitetsplattform finns i Översikt över Microsofts identitetsplattform.
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 |
---|---|
Error |
Ytterligare information om resurshanteringsfelet. |
Error |
Felinformationen. |
Error |
Felsvar |
Route |
Sammanfattningsobjekt för vägavsnittet. |
Route |
Matrisresultatobjekt |
Route |
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. |
Route |
Svarsobjekt för den aktuella cellen i indatamatrisen. |
Route |
Sammanfattningsobjekt |
ErrorAdditionalInfo
Ytterligare information om resurshanteringsfelet.
Name | Typ | Description |
---|---|---|
info |
object |
Ytterligare information. |
type |
string |
Ytterligare informationstyp. |
ErrorDetail
Felinformationen.
Name | Typ | Description |
---|---|---|
additionalInfo |
Ytterligare information om felet. |
|
code |
string |
Felkoden. |
details |
Felinformationen. |
|
message |
string |
Felmeddelandet. |
target |
string |
Felmålet. |
ErrorResponse
Felsvar
Name | Typ | Description |
---|---|---|
error |
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 |
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 |
Resultat som en tvådimensionell matris med routningssammanfattningar. |
|
summary |
Sammanfattningsobjekt |
RouteMatrixResultResponse
Svarsobjekt för den aktuella cellen i indatamatrisen.
Name | Typ | Description |
---|---|---|
routeSummary |
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. |