Delen via


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.

Important

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

Zie Routeringsdekking van Azure Mapsvoor informatie over de beschikbaarheid van routering in landen/regio's.

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

URI-parameters

Name In Vereist Type Description
api-version
query True

string

Versienummer van Azure Maps-API.

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 uit de account-API van het Azure Maps-beheervlak. Zie Verificatie beheren in Azure Maps voor meer informatie over het gebruik van Microsoft Entra ID-beveiliging in Azure Maps.

Accept-Language

string

Taal waarin routeringsresultaten moeten worden geretourneerd.

Zie Ondersteuning voor lokalisatie in Azure Mapsvoor meer informatie.

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. Voor meer informatie, zie RFC 7946.

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

OK

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

Other Status Codes

MapsErrorResponse

Er is een onverwachte fout opgetreden.

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

Kopteksten

x-ms-error-code: string

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.

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. 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.
  • 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 https://atlas.microsoft.com/.default

subscription-key

Dit is een gedeelde sleutel die wordt ingericht bij het maken van een Azure Maps-resource via het Azure-beheervlak via Azure Portal, PowerShell, CLI, Azure SDK's of REST API's.

Met deze sleutel is elke toepassing gemachtigd voor toegang tot alle REST API's. Met andere woorden, deze kunnen momenteel worden behandeld als hoofdsleutels voor het account waarvoor ze worden uitgegeven.

Voor openbaar blootgestelde toepassingen wordt aangeraden server-naar-servertoegang te gebruiken van Azure Maps REST API's waar deze 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": {
        "coordinates": [
          -122.336729,
          47.590868
        ],
        "type": "Point"
      },
      "properties": {}
    },
    {
      "type": "Feature",
      "geometry": {
        "coordinates": [
          -122.336042,
          47.601604
        ],
        "type": "Point"
      },
      "properties": {}
    }
  ],
  "includeSpeedLimit": true,
  "travelMode": "driving"
}

Voorbeeldrespons

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

Definities

Name Description
FeaturesItemTypeEnum

Hiermee geeft u het GeoJSON type. Het enige ondersteunde objecttype is Functie. Voor meer informatie, zie RFC 7946.

FeatureTypeEnum

Hiermee geeft u het GeoJSON type. Het enige ondersteunde objecttype is FeatureCollection. Voor meer informatie, zie RFC 7946.

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 foutreacties voor Azure Maps-API's voor het retourneren van foutdetails voor mislukte bewerkingen.

MapsInnerError

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

PointGeometry

Het oorspronkelijke punt dat wordt doorgegeven als een geldig GeoJSON Geometrieobject, waaruit het bereik veelhoek moet worden berekend. Raadpleeg RFC 7946- voor meer informatie.

Note: de API zal het aangevraagde oorsprongspunt uitlijnen op het dichtstbijzijnde wegennetwerk en dat gebruiken voor bereikberekening. Het wordt geretourneerd als een center punt in het antwoord.

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. Voor meer informatie, zie RFC 7946.

Waarde Description
Feature

Hiermee geeft u het objecttype GeoJSON Functie.

FeatureTypeEnum

Hiermee geeft u het GeoJSON type. Het enige ondersteunde objecttype is FeatureCollection. Voor meer informatie, zie RFC 7946.

Waarde Description
FeatureCollection

Hiermee geeft u het GeoJSONFeatureCollection objecttype.

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:

PointGeometry

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

properties

object

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. Voor meer informatie, zie RFC 7946.

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 foutreacties voor Azure Maps-API's voor het retourneren van foutdetails voor mislukte bewerkingen.

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.

PointGeometry

Het oorspronkelijke punt dat wordt doorgegeven als een geldig GeoJSON Geometrieobject, waaruit het bereik veelhoek moet worden berekend. Raadpleeg RFC 7946- voor meer informatie.

Note: de API zal het aangevraagde oorsprongspunt uitlijnen op het dichtstbijzijnde wegennetwerk en dat gebruiken voor bereikberekening. Het wordt geretourneerd als een center punt in het antwoord.

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 geometrietype voor het object GeoJSON Geometrie. Voor meer informatie, zie RFC 7946.

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:

PointGeometry

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. Voor meer informatie, zie RFC 7946.

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. Voor meer informatie, zie RFC 7946.

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. Voor meer informatie, zie RFC 7946.

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.