Route - Post Snap To Roads

De Snap to Roads-API accepteert GPS-puntgegevens, weergegeven als lengte- en breedtegraadcoördinaten en genereert punten die zijn afgestemd op bestaande wegen op een kaart. Dit proces, ook wel 'uitlijnen op wegen' genoemd, produceert een reeks objecten die een pad volgen dat het wegnetwerk nadert. De resulterende gegevens omvatten wegnamen en hun respectieve snelheidslimieten, die relevant zijn voor de doorkruiste segmenten.

Bovendien biedt de Snap to Roads-API een interpolatiefunctie, waarmee de GPS-punten worden verfijnd om een soepelere route te creëren die voldoet aan de geometrie van de weg. Deze functionaliteit is met name nuttig voor het bijhouden van activa en het verbeteren van gegevensvisualisatie in toewijzingstoepassingen.

Belangrijk

De GPS-punten moeten zich binnen 6 kilometer van elkaar bevinden.

Voor informatie over routeringsbeschikbaarheid in landen/regio's, zie Azure Maps routeringsdekking.

POST {endpoint}/route/snapToRoads?api-version=2025-01-01

URI-parameters

Name In Vereist Type Description
endpoint
path True

string (uri)

De hostnaam van de Azure Maps-service. Gebruik https://atlas.microsoft.com voor de Azure publieke cloud. Om een specifieke Azure Maps geografie of een soevereine cloud te targeten, zie Azure Maps geografische reikwijdte.

api-version
query True

string

minLength: 1

De API-versie die voor deze bewerking moet worden gebruikt.

Aanvraagkoptekst

Media Types: "application/geo+json"

Name Vereist Type Description
x-ms-client-id

string

Geeft het account aan dat bedoeld is voor gebruik met het Microsoft Entra ID-beveiligingsmodel. Deze unieke ID voor het Azure Maps-account kan worden verkregen via de Azure Maps beheerplane Account API. Voor meer informatie over het gebruik van Microsoft Entra ID beveiliging in Azure Maps, zie Beheer authenticatie in Azure Maps.

Accept-Language

string

Taal waarin routeringsresultaten moeten worden geretourneerd.

Voor meer informatie, zie Localization support in Azure Maps.

Aanvraagbody

Media Types: "application/geo+json"

Name Vereist Type Description
features True

InputSnapToRoadsFeaturesItem[]

Een reeks punten die moeten worden uitgelijnd op het wegennet. U kunt minimaal 2 punten en maximaal 5000 punten hebben en de twee opeenvolgende punten moeten binnen 6 kilometer van elkaar liggen en een totale wegafstand van maximaal 100 kilometer. Raadpleeg RFC 7946 voor meer informatie over het GeoJSON-formaat.

Note: de API retourneert geen puntobject in het antwoord voor het GPS-punt dat niet kan worden vastgelijnd op een wegnetwerk.

type True

FeatureTypeEnum

Hiermee geeft u het GeoJSON type. Het enige ondersteunde objecttype is FeatureCollection. Zie RFC 7946voor meer informatie.

includeSpeedLimit

boolean

Hiermee geeft u op of snelheidslimietinformatie moet worden opgenomen voor de vastgelijnde punten in het antwoord. De eenheid is in kilometers per uur.

interpolate

boolean

Hiermee geeft u op of er extra punten moeten worden geretourneerd tussen de vastgelijnde punten om het volledige routepad te voltooien dat soepel volgt op de geometrie van de weg.

De geïnterpoleerde punten hebben isInterpolate:true in het antwoord dat kan worden gebruikt om de vastgemaakte punten van geïnterpoleerde punten te identificeren.

travelMode

SnapToRoadsTravelModeEnum

Hiermee geeft u het routeringsprofiel voor het vastmaken van de punten. Als dit niet is opgegeven, is de standaardmodus 'rijden', waarmee de vastgepakte punten voor rijroutes worden geoptimaliseerd.

Antwoorden

Name Type Description
200 OK

SnapToRoadsResponse

De aanvraag is voltooid.

Media Types: "application/geo+json", "application/json"

Other Status Codes

MapsErrorResponse

Een onverwachte foutreactie.

Media Types: "application/geo+json", "application/json"

Beveiliging

AadToken

Dit zijn de Microsoft Entra OAuth 2.0 stromen. In combinatie met Azure rolgebaseerde toegang control kan het worden gebruikt om de toegang tot Azure Maps REST-API's te controleren. Azure rolgebaseerde toegangscontroles worden gebruikt om toegang aan een of meer Azure Maps-resourceaccounts of subresources aan te wijzen. 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.

Note

  • 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. Sovereign 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.
  • Zie Overzicht van Microsoft Identity Platformvoor meer informatie over het Microsoft Identity Platform.

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

Bereiken

Name Description
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: header

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 snap to roads points with additional parameters in the body

Voorbeeldaanvraag

POST https://atlas.microsoft.com/route/snapToRoads?api-version=2025-01-01

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [
          -122.336729,
          47.590868
        ]
      },
      "properties": {}
    },
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [
          -122.336042,
          47.601604
        ]
      },
      "properties": {}
    }
  ],
  "includeSpeedLimit": true,
  "travelMode": "driving"
}

Voorbeeldrespons

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [
          -122.336769,
          47.590885
        ]
      },
      "properties": {
        "name": "State Rte-99 N",
        "inputIndex": 0,
        "isInterpolated": false,
        "speedLimitInKilometersPerHour": 80
      }
    },
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [
          -122.336008,
          47.601609
        ]
      },
      "properties": {
        "name": "State Rte-99 N",
        "inputIndex": 1,
        "isInterpolated": false,
        "speedLimitInKilometersPerHour": 80
      }
    }
  ]
}

Definities

Name Description
FeaturesItemTypeEnum

Hiermee geeft u het GeoJSON type. Het enige ondersteunde objecttype is Functie. Zie RFC 7946voor meer informatie.

FeatureTypeEnum

Hiermee geeft u het GeoJSON type. Het enige ondersteunde objecttype is FeatureCollection. Zie RFC 7946voor meer informatie.

GeoJsonObjectType

Hiermee geeft u het GeoJSON type. Moet een van de negen geldige GeoJSON-objecttypen zijn: Punt, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature en FeatureCollection.

GeoJsonPoint

Een geldig GeoJSON Point geometrietype. Raadpleeg RFC 7946- voor meer informatie.

InputSnapToRoadsFeaturesItem

Hiermee geeft u de invoer-uitlijning op wegenpunten. GeoJSON functieobject en aanvullende eigenschappen. Raadpleeg RFC 7946- voor meer informatie.

MapsErrorDetail

De foutdetails.

MapsErrorResponse

Veelvoorkomende foutrespons voor Azure Maps API's om foutdetails terug te geven bij mislukte operaties.

MapsInnerError

Een object met meer specifieke informatie dan het huidige object over de fout.

SnapToRoadFeaturesItem

GeoJSON-functieobject dat geometrieobject en aanvullende eigenschappen van de route bevat.

SnapToRoadsFeatureProperties

Uitlijnen op de eigenschappen Van wegen.

SnapToRoadsRequest

Dit object is de hoofdtekst van de aanvraag.

SnapToRoadsResponse

Dit object wordt geretourneerd vanuit een geslaagde aanroep.

SnapToRoadsTravelModeEnum

Hiermee geeft u het routeringsprofiel voor het vastmaken van de punten. Als dit niet is opgegeven, is de standaardmodus 'rijden', waarmee de vastgepakte punten voor rijroutes worden geoptimaliseerd.

FeaturesItemTypeEnum

Hiermee geeft u het GeoJSON type. Het enige ondersteunde objecttype is Functie. Zie RFC 7946voor meer informatie.

Waarde Description
Feature

Hiermee geeft u het objecttype GeoJSON Functie.

FeatureTypeEnum

Hiermee geeft u het GeoJSON type. Het enige ondersteunde objecttype is FeatureCollection. Zie RFC 7946voor meer informatie.

Waarde Description
FeatureCollection

Hiermee geeft u het GeoJSONFeatureCollection objecttype.

GeoJsonObjectType

Hiermee geeft u het GeoJSON type. Moet een van de negen geldige GeoJSON-objecttypen zijn: Punt, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature en FeatureCollection.

Waarde Description
Point

GeoJSON Point geometrie.

MultiPoint

GeoJSON MultiPoint geometrie.

LineString

GeoJSON LineString geometrie.

MultiLineString

GeoJSON MultiLineString geometrie.

Polygon

GeoJSON Polygon geometrie.

MultiPolygon

GeoJSON MultiPolygon geometrie.

GeometryCollection

GeoJSON GeometryCollection geometrie.

Feature

GeoJSON Feature object.

FeatureCollection

GeoJSON FeatureCollection object.

GeoJsonPoint

Een geldig GeoJSON Point geometrietype. Raadpleeg RFC 7946- voor meer informatie.

Name Type Description
coordinates

number[] (double)

Een Position is een matrix met getallen met twee of meer elementen. De eerste twee elementen zijn lengtegraad en breedtegraad, precies in die volgorde. Hoogte/Hoogte- is een optioneel derde element. Raadpleeg RFC 7946- voor meer informatie.

type string:

Point

Hiermee geeft u het GeoJSON type. Moet een van de negen geldige GeoJSON-objecttypen zijn: Punt, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature en FeatureCollection.

InputSnapToRoadsFeaturesItem

Hiermee geeft u de invoer-uitlijning op wegenpunten. GeoJSON functieobject en aanvullende eigenschappen. Raadpleeg RFC 7946- voor meer informatie.

Name Type Description
geometry

GeoJsonPoint

Een geldig GeoJSON Point geometrietype. Raadpleeg RFC 7946- voor meer informatie.

properties

Het eigenschappenobject is vereist in een geldig GeoJSON-bestand, maar kan leeg zijn omdat de metagegevens niet worden gebruikt voor het vastmaken aan de weg.

type

FeaturesItemTypeEnum

Hiermee geeft u het GeoJSON type. Het enige ondersteunde objecttype is Functie. Zie RFC 7946voor meer informatie.

MapsErrorDetail

De foutdetails.

Name Type Description
code

string

Een van een door de server gedefinieerde set foutcodes.

details

MapsErrorDetail[]

Een matrix met details over specifieke fouten die hebben geleid tot deze gemelde fout.

innererror

MapsInnerError

Een object met meer specifieke informatie dan het huidige object over de fout.

message

string

Een leesbare weergave van de fout.

target

string

Het doel van de fout.

MapsErrorResponse

Veelvoorkomende foutrespons voor Azure Maps API's om foutdetails terug te geven bij mislukte operaties.

Name Type Description
error

MapsErrorDetail

De foutdetails.

MapsInnerError

Een object met meer specifieke informatie dan het huidige object over de fout.

Name Type Description
code

string

De foutcode.

innererror

MapsInnerError

Een object met meer specifieke informatie dan het huidige object over de fout.

SnapToRoadFeaturesItem

GeoJSON-functieobject dat geometrieobject en aanvullende eigenschappen van de route bevat.

Name Type Description
bbox

number[] (double)

Een rechthoekig gebied op de aarde gedefinieerd als een begrenzingsvakobject. De zijden van de rechthoeken worden gedefinieerd door de waarden voor breedtegraad en lengtegraad. Zie RFC 7946, Sectie 5voor meer informatie.

Voorbeeld: 'bbox': [-10.0, -10.0, 10.0, 10.0]

geometry

GeoJsonPoint

Een geldig GeoJSON Point geometrietype. Raadpleeg RFC 7946- voor meer informatie.

properties

SnapToRoadsFeatureProperties

Uitlijnen op de eigenschappen Van wegen.

type

FeaturesItemTypeEnum

Hiermee geeft u het GeoJSON type. Het enige ondersteunde objecttype is Functie. Zie RFC 7946voor meer informatie.

SnapToRoadsFeatureProperties

Uitlijnen op de eigenschappen Van wegen.

Name Type Description
inputIndex

integer (int64)

Identificeer de bijbehorende index in de oorspronkelijke lijst met punten voor elk vastgezet punt. Alleen de vastgemaakte punten retourneren indexen en kunnen worden gebruikt om deze te onderscheiden van de geïnterpoleerde punten.

isInterpolated

boolean

Bepaal of dit het geïnterpoleerde punt is.

name

string

De naam van de weg waaraan het punt is vastgelijnd.

speedLimitInKilometersPerHour

number (double)

Snelheidslimiet in kilometers per uur.

SnapToRoadsRequest

Dit object is de hoofdtekst van de aanvraag.

Name Type Default value Description
features

InputSnapToRoadsFeaturesItem[]

Een reeks punten die moeten worden uitgelijnd op het wegennet. U kunt minimaal 2 punten en maximaal 5000 punten hebben en de twee opeenvolgende punten moeten binnen 6 kilometer van elkaar liggen en een totale wegafstand van maximaal 100 kilometer. Raadpleeg RFC 7946 voor meer informatie over het GeoJSON-formaat.

Note: de API retourneert geen puntobject in het antwoord voor het GPS-punt dat niet kan worden vastgelijnd op een wegnetwerk.

includeSpeedLimit

boolean

False

Hiermee geeft u op of snelheidslimietinformatie moet worden opgenomen voor de vastgelijnde punten in het antwoord. De eenheid is in kilometers per uur.

interpolate

boolean

False

Hiermee geeft u op of er extra punten moeten worden geretourneerd tussen de vastgelijnde punten om het volledige routepad te voltooien dat soepel volgt op de geometrie van de weg.

De geïnterpoleerde punten hebben isInterpolate:true in het antwoord dat kan worden gebruikt om de vastgemaakte punten van geïnterpoleerde punten te identificeren.

travelMode

SnapToRoadsTravelModeEnum

driving

Hiermee geeft u het routeringsprofiel voor het vastmaken van de punten. Als dit niet is opgegeven, is de standaardmodus 'rijden', waarmee de vastgepakte punten voor rijroutes worden geoptimaliseerd.

type

FeatureTypeEnum

Hiermee geeft u het GeoJSON type. Het enige ondersteunde objecttype is FeatureCollection. Zie RFC 7946voor meer informatie.

SnapToRoadsResponse

Dit object wordt geretourneerd vanuit een geslaagde aanroep.

Name Type Description
features

SnapToRoadFeaturesItem[]

GeoJSON functieobject dat geometrieobject en aanvullende eigenschappen bevat. Raadpleeg RFC 7946, sectie 3.2 voor meer informatie.

type

FeatureTypeEnum

Hiermee geeft u het GeoJSON type. Het enige ondersteunde objecttype is FeatureCollection. Zie RFC 7946voor meer informatie.

SnapToRoadsTravelModeEnum

Hiermee geeft u het routeringsprofiel voor het vastmaken van de punten. Als dit niet is opgegeven, is de standaardmodus 'rijden', waarmee de vastgepakte punten voor rijroutes worden geoptimaliseerd.

Waarde Description
driving

De punten worden vastgelijnd op de weg die geschikt is voor auto's.

truck

De punten worden vastgeklikt op de weg die geschikt is voor vrachtwagens.