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 |
|
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 |
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.
|
|
| type | True |
Hiermee geeft u het |
|
| 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 |
|
| travelMode |
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 |
De aanvraag is voltooid. Media Types: "application/geo+json", "application/json" |
|
| Other Status Codes |
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 URLis 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 |
|---|---|
|
Features |
Hiermee geeft u het |
|
Feature |
Hiermee geeft u het |
|
Geo |
Hiermee geeft u het |
|
Geo |
Een geldig |
|
Input |
Hiermee geeft u de invoer-uitlijning op wegenpunten.
|
|
Maps |
De foutdetails. |
|
Maps |
Veelvoorkomende foutrespons voor Azure Maps API's om foutdetails terug te geven bij mislukte operaties. |
|
Maps |
Een object met meer specifieke informatie dan het huidige object over de fout. |
|
Snap |
GeoJSON-functieobject dat geometrieobject en aanvullende eigenschappen van de route bevat. |
|
Snap |
Uitlijnen op de eigenschappen Van wegen. |
|
Snap |
Dit object is de hoofdtekst van de aanvraag. |
|
Snap |
Dit object wordt geretourneerd vanuit een geslaagde aanroep. |
|
Snap |
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 |
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 |
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 |
|
| MultiPoint |
|
| LineString |
|
| MultiLineString |
|
| Polygon |
|
| MultiPolygon |
|
| GeometryCollection |
|
| Feature |
|
| FeatureCollection |
|
GeoJsonPoint
Een geldig GeoJSON Point geometrietype. Raadpleeg RFC 7946- voor meer informatie.
| Name | Type | Description |
|---|---|---|
| coordinates |
number[] (double) |
Een |
| type |
string:
Point |
Hiermee geeft u het |
InputSnapToRoadsFeaturesItem
Hiermee geeft u de invoer-uitlijning op wegenpunten.
GeoJSON functieobject en aanvullende eigenschappen. Raadpleeg RFC 7946- voor meer informatie.
| Name | Type | Description |
|---|---|---|
| geometry |
Een geldig |
|
| 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 |
Hiermee geeft u het |
MapsErrorDetail
De foutdetails.
| Name | Type | Description |
|---|---|---|
| code |
string |
Een van een door de server gedefinieerde set foutcodes. |
| details |
Een matrix met details over specifieke fouten die hebben geleid tot deze gemelde fout. |
|
| innererror |
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 |
De foutdetails. |
MapsInnerError
Een object met meer specifieke informatie dan het huidige object over de fout.
| Name | Type | Description |
|---|---|---|
| code |
string |
De foutcode. |
| innererror |
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 |
Een geldig |
|
| properties |
Uitlijnen op de eigenschappen Van wegen. |
|
| type |
Hiermee geeft u het |
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 |
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.
|
||
| 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 |
| travelMode | 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 |
Hiermee geeft u het |
SnapToRoadsResponse
Dit object wordt geretourneerd vanuit een geslaagde aanroep.
| Name | Type | Description |
|---|---|---|
| features |
|
|
| type |
Hiermee geeft u het |
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. |