Delen via


Route - Get Route Matrix

Hiermee haalt u een routematrix op met de reistijd en afstand voor alle mogelijke paren in een lijst met oorsprongen en bestemmingen.

De Get Route Matrix-API is een HTTP-GET-aanvraag waarmee de reistijd en afstand voor alle mogelijke paren in een lijst met oorsprongen en bestemmingen worden berekend. In tegenstelling tot de Routebeschrijving ophalen API, die gedetailleerde route-instructies biedt, richt deze API zich op efficiƫntie door u de kosten (reistijd en afstand) van routering van elke oorsprong naar elke bestemming te geven. Zie Aanbevolen procedures voor de Azure Maps Route-servicevoor meer informatie.

Voor elke opgegeven oorsprong berekent de service de kosten van routering van die oorsprong naar elke opgegeven bestemming. De reeks oorsprongen en de set bestemmingen kunnen worden beschouwd als de kolom- en rijkoppen van een tabel en elke cel in de tabel bevat de kosten voor routering van de oorsprong naar de bestemming voor die cel. Stel dat een foodleveringsbedrijf 20 chauffeurs heeft en dat ze de dichtstbijzijnde chauffeur moeten vinden om de levering van het restaurant op te halen. Om deze use-case op te lossen, kunnen ze matrixroute-API aanroepen.

Voor elke route worden de reistijden en afstanden geretourneerd. U kunt de berekende kosten gebruiken om te bepalen welke gedetailleerde routes u wilt berekenen met behulp van de ROUTEBESCHRIJVING-API.

De maximale grootte van een matrix voor asynchrone aanvraag is 700 en voor de synchronisatieaanvraag is het 100 (het aantal oorsprongen vermenigvuldigd met het aantal bestemmingen).

Synchrone routematrixaanvraag verzenden

Als voor uw scenario synchrone aanvragen zijn vereist en de maximale grootte van de matrix kleiner is dan of gelijk is aan 100, kunt u een synchrone aanvraag indienen. De maximale grootte van een matrix voor deze API is 100 (het aantal oorsprongen vermenigvuldigd met het aantal bestemmingen). Met deze beperking in gedachten zijn voorbeelden van mogelijke matrixdimensies: 10x10, 6x8, 9x8 (het hoeft niet vierkant te zijn).

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

Asynchrone routematrixaanvraag verzenden

De Asynchrone API is geschikt voor het verwerken van grote volumes van relatief complexe routeringsaanvragen. Wanneer u een aanvraag indient met behulp van een asynchrone aanvraag, retourneert de service standaard een 202-antwoordcode langs een omleidings-URL in het veld Locatie van de antwoordheader. Deze URL moet periodiek worden gecontroleerd totdat de antwoordgegevens of foutgegevens beschikbaar zijn. Als waitForResults parameter in de aanvraag is ingesteld op waar, krijgt de gebruiker een 200-antwoord als de aanvraag binnen 120 seconden is voltooid.

De maximale grootte van een matrix voor deze API is 700 (het aantal oorsprongen vermenigvuldigd met het aantal bestemmingen). Met deze beperking in gedachten zijn voorbeelden van mogelijke matrixdimensies: 50x10, 10x10, 28x25. 10x70 (het hoeft niet vierkant te zijn).

De asynchrone antwoorden worden gedurende 24 uur opgeslagen. De omleidings-URL retourneert een 404-antwoord als deze wordt gebruikt na de verloopperiode.

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

Hier volgt een typische reeks asynchrone bewerkingen:

  1. Client verzendt een Route Matrix GET-aanvraag naar Azure Maps

  2. De server reageert op een van de volgende manieren:

    HTTP-202 Accepted - Routematrix-aanvraag is geaccepteerd.

    HTTP-Error: er is een fout opgetreden bij het verwerken van uw Route Matrix-aanvraag. Dit kan een ongeldige aanvraag van 400 of een andere foutcode zijn.

  3. Als de matrixroute-aanvraag is geaccepteerd, bevat de locatieheader in het antwoord de URL om de resultaten van de aanvraag te downloaden. Deze status-URI ziet er als volgt uit:

  GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}
  1. Client geeft een GET-aanvraag uit op de download-URL die is verkregen in stap 3 om de resultaten te downloaden

Synchronisatieresultaten downloaden

Wanneer u een GET-aanvraag voor routematrixsynchronisatie-API maakt, retourneert de service 200-antwoordcode voor een geslaagde aanvraag en een antwoordmatrix. De hoofdtekst van het antwoord bevat de gegevens en er is geen mogelijkheid om de resultaten later op te halen.

Asynchrone resultaten downloaden

Wanneer een aanvraag een 202 Accepted antwoord uitgeeft, wordt de aanvraag verwerkt met behulp van onze asynchrone pijplijn. U krijgt een URL om de voortgang van uw asynchrone aanvraag te controleren in de locatieheader van het antwoord. Deze status-URI ziet er als volgt uit:

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

De URL van de locatieheader retourneert de volgende antwoorden wanneer een GET aanvraag wordt uitgegeven.

HTTP-202 Accepted - Matrix-aanvraag is geaccepteerd, maar wordt nog steeds verwerkt. Probeer het over enige tijd opnieuw.

HTTP-200 OK - Matrixaanvraag is verwerkt. De hoofdtekst van het antwoord bevat alle resultaten.

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

URI-parameters

Name In Vereist Type Description
format
path True

string

Matrix-id ontvangen nadat de Matrix Route-aanvraag is geaccepteerd.

api-version
query True

string

Versienummer van Azure Maps-API.

Aanvraagkoptekst

Name Vereist Type Description
x-ms-client-id

string

Hiermee geeft u op welk account is bedoeld voor gebruik in combinatie met het Microsoft Entra ID-beveiligingsmodel. Het vertegenwoordigt een unieke id voor het Azure Maps-account en kan worden opgehaald uit de Account-API van het Azure Maps-beheervlak. Zie de volgende artikelen voor hulp voor het gebruik van Microsoft Entra ID-beveiliging in Azure Maps.

Antwoorden

Name Type Description
200 OK

RouteMatrixResult

Matrixaanvraag is verwerkt. De hoofdtekst van het antwoord bevat alle resultaten.

202 Accepted

Alleen ondersteund voor asynchrone aanvraag. Aanvraag geaccepteerd: de aanvraag is geaccepteerd voor verwerking. Gebruik de URL in de locatieheader om de resultaten opnieuw te proberen of te openen.

Kopteksten

Location: string

Other Status Codes

ErrorResponse

Er is een onverwachte fout opgetreden.

Beveiliging

AADToken

Dit zijn de Microsoft Entra OAuth 2.0 Flows. Wanneer deze is gekoppeld aan op rollen gebaseerd toegangsbeheer van Azure kan het worden gebruikt om de toegang tot Azure Maps REST API's te beheren. Op rollen gebaseerd toegangsbeheer van Azure wordt gebruikt om toegang aan te wijzen tot een of meer Azure Maps-resourceaccounts of subresources. Elke gebruiker, groep of service-principal kan toegang krijgen via een ingebouwde rol of een aangepaste rol die bestaat uit een of meer machtigingen voor Azure Maps REST API's.

Voor het implementeren van scenario's raden we u aan om verificatieconceptente bekijken. Kortom, deze beveiligingsdefinitie biedt een oplossing voor het modelleren van toepassingen via objecten die toegangsbeheer kunnen uitvoeren voor specifieke API's en bereiken.

Notities

  • Deze beveiligingsdefinitie vereist het gebruik van de x-ms-client-id-header om aan te geven tot welke Azure Maps-resource de toepassing toegang aanvraagt. Dit kan worden verkregen uit de Maps Management API-.

De Authorization URL is specifiek voor het exemplaar van de openbare Azure-cloud. Onafhankelijke clouds hebben unieke autorisatie-URL's en Microsoft Entra ID-configuraties. * Het op rollen gebaseerde toegangsbeheer van Azure wordt geconfigureerd vanuit het Azure-beheervlak via Azure Portal, PowerShell, CLI, Azure SDK's of REST API's. * Gebruik van de Azure Maps Web SDK maakt configuratiegebaseerde installatie van een toepassing mogelijk voor meerdere gebruiksscenario's.

Type: oauth2
Stroom: implicit
Autorisatie-URL: https://login.microsoftonline.com/common/oauth2/authorize

Bereiken

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

subscription-key

Dit is een gedeelde sleutel die wordt ingericht wanneer u Een Azure Maps-account maken in Azure Portal of met behulp van PowerShell, CLI, Azure SDK's of REST API.

Met deze sleutel heeft elke toepassing toegang tot alle REST API's. Met andere woorden, deze sleutel kan worden gebruikt als een hoofdsleutel in het account waarin ze worden uitgegeven.

Voor openbaar blootgestelde toepassingen is het raadzaam om de vertrouwelijke clienttoepassingen te gebruiken benadering voor toegang tot Azure Maps REST API's, zodat uw sleutel veilig kan worden opgeslagen.

Type: apiKey
In: query

SAS Token

Dit is een shared access Signature-token dat wordt gemaakt op basis van de bewerking List SAS op de Azure Maps-resource via het Azure-beheervlak via Azure Portal, PowerShell, CLI, Azure SDK's of REST API's.

Met dit token is elke toepassing gemachtigd voor toegang met op rollen gebaseerd toegangsbeheer van Azure en gedetailleerd beheer tot de vervaldatum, snelheid en regio(s) van gebruik voor het specifieke token. Met andere woorden, het SAS-token kan worden gebruikt om toepassingen toe te staan toegang op een veiligere manier te beheren dan de gedeelde sleutel.

Voor openbaar blootgestelde toepassingen wordt aangeraden een specifieke lijst met toegestane origins te configureren voor de resource van het Account toewijzen om het genereren van misbruik te beperken en het SAS-token regelmatig te vernieuwen.

Type: apiKey
In: header

Voorbeelden

Successfully retrieve the status for a route matrix request

Voorbeeldaanvraag

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

Voorbeeldrespons

{
  "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
  }
}

Definities

Name Description
ErrorAdditionalInfo

Aanvullende informatie over de resourcebeheerfout.

ErrorDetail

De foutdetails.

ErrorResponse

Foutreactie

RouteLegSummary

Overzichtsobject voor routesectie.

RouteMatrix

Matrixresultaatobject

RouteMatrixResult

Dit object wordt geretourneerd door een geslaagde routematrix-aanroep. Als er bijvoorbeeld 2 oorsprongen en 3 bestemmingen worden opgegeven, worden er 2 matrices met 3 elementen in elk opgegeven. De inhoud van elk element is afhankelijk van de opties in de query.

RouteMatrixResultResponse

Antwoordobject van de huidige cel in de invoermatrix.

RouteMatrixSummary

Samenvattingsobject

ErrorAdditionalInfo

Aanvullende informatie over de resourcebeheerfout.

Name Type Description
info

object

De aanvullende informatie.

type

string

Het extra informatietype.

ErrorDetail

De foutdetails.

Name Type Description
additionalInfo

ErrorAdditionalInfo[]

De fout bevat aanvullende informatie.

code

string

De foutcode.

details

ErrorDetail[]

De foutdetails.

message

string

Het foutbericht.

target

string

Het foutdoel.

ErrorResponse

Foutreactie

Name Type Description
error

ErrorDetail

Het foutobject.

RouteLegSummary

Overzichtsobject voor routesectie.

Name Type Description
arrivalTime

string

De geschatte aankomsttijd voor de route of het been. De tijd is in UTC.

batteryConsumptionInkWh

number

Geschat energieverbruik in kilowatturen (kWh) met behulp van het elektrische verbruiksmodel. Inbegrepen als vehicleEngineType is ingesteld op elektrische en constantSpeedConsumptionInkWhPerHundredkm is opgegeven. De waarde van batteryConsumptionInkWh omvat de gerecupereerde elektrische energie en kan daarom negatief zijn (wat aangeeft dat energie wordt gewonnen). Als zowel maxChargeInkWh als currentChargeInkWh zijn opgegeven, wordt de recuperatie beperkt om ervoor te zorgen dat het oplaadniveau van de batterij nooit hoger is dan maxChargeInkWh. Als maxChargeInkWh of currentChargeInkWh niet zijn opgegeven, wordt niet-getrainde recuperatie verondersteld in de verbruiksberekening.

departureTime

string

De geschatte vertrektijd voor de route of het been. De tijd is in UTC.

fuelConsumptionInLiters

number

Geschat brandstofverbruik in liter met behulp van het verbrandingsverbruiksmodel. Inbegrepen als vehicleEngineType is ingesteld op verbranding en constantSpeedConsumptionInLitersPerHundredkm is opgegeven. De waarde is niet-negatief.

historicTrafficTravelTimeInSeconds

integer

Geschatte reistijd berekend met tijdafhankelijke historische verkeersgegevens. Alleen opgenomen als computeTravelTimeFor = alles wordt gebruikt in de query.

lengthInMeters

integer

Eigenschap Length In Meters

liveTrafficIncidentsTravelTimeInSeconds

integer

Geschatte reistijd berekend met realtime snelheidsgegevens. Alleen opgenomen als computeTravelTimeFor = alles wordt gebruikt in de query.

noTrafficTravelTimeInSeconds

integer

Geschatte reistijd berekend alsof er geen vertragingen op de route zijn vanwege verkeersomstandigheden (bijvoorbeeld congestie). Alleen opgenomen als computeTravelTimeFor = alles wordt gebruikt in de query.

trafficDelayInSeconds

integer

Geschatte vertraging in seconden veroorzaakt door het realtime incident(en) op basis van verkeersinformatie. Voor routes gepland met vertrektijd in de toekomst is vertragingen altijd 0. Als u extra reistijden wilt retourneren met behulp van verschillende typen verkeersinformatie, moet u parameter computeTravelTimeFor=all toevoegen.

travelTimeInSeconds

integer

Geschatte reistijd in seconden eigenschap met de vertraging als gevolg van realtime verkeer. Houd er rekening mee dat zelfs wanneer verkeer=false travelTimeInSeconds de vertraging als gevolg van verkeer nog steeds bevat. Als DepartAt zich in de toekomst bevindt, wordt reistijd berekend met tijdafhankelijke historische verkeersgegevens.

RouteMatrix

Matrixresultaatobject

Name Type Description
response

RouteMatrixResultResponse

Antwoordobject van de huidige cel in de invoermatrix.

statusCode

integer

De eigenschap StatusCode voor de huidige cel in de invoermatrix.

RouteMatrixResult

Dit object wordt geretourneerd door een geslaagde routematrix-aanroep. Als er bijvoorbeeld 2 oorsprongen en 3 bestemmingen worden opgegeven, worden er 2 matrices met 3 elementen in elk opgegeven. De inhoud van elk element is afhankelijk van de opties in de query.

Name Type Description
formatVersion

string

Eigenschap Versie opmaken

matrix

RouteMatrix[]

Resultaten als een tweedimensionale matrix van routeoverzichten.

summary

RouteMatrixSummary

Samenvattingsobject

RouteMatrixResultResponse

Antwoordobject van de huidige cel in de invoermatrix.

Name Type Description
routeSummary

RouteLegSummary

Overzichtsobject voor routesectie.

RouteMatrixSummary

Samenvattingsobject

Name Type Description
successfulRoutes

integer

Aantal geslaagde routes in het antwoord.

totalRoutes

integer

Het totale aantal aangevraagde routes. Aantal cellen in de invoermatrix.