Route - Post Snap To Roads

API:et Snap to Roads accepterar GPS-punktdata, som representeras som longitud- och latitudkoordinater, och genererar punkter som överensstämmer med befintliga vägar på en karta. Den här processen, som kallas "snapping to roads", skapar en serie objekt som spårar en väg nära vägnätet. Resulterande data innehåller vägnamn och deras respektive hastighetsgränser, relevanta för de segment som passerar.

Dessutom erbjuder Snap to Roads API en interpoleringsfunktion, som förfinar GPS-punkterna för att skapa en smidigare väg som följer vägens geometri. Den här funktionen är särskilt fördelaktig för tillgångsspårning och förbättrad datavisualisering i mappningsprogram.

Viktigt!

GPS-punkterna måste ligga inom 6 kilometer från varandra.

För information om rutttillgänglighet i länder/regioner, se Azure Maps routingtäckning.

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

URI-parametrar

Name I Obligatorisk Typ Description
endpoint
path True

string (uri)

Azure Maps-tjänstens värdnamn. Använd https://atlas.microsoft.com för Azure publika molnet. För att rikta in dig på en specifik Azure Maps geografi eller ett suveränt moln, se Azure Maps geografisk omfattning.

api-version
query True

string

minLength: 1

Den API-version som ska användas för den här åtgärden.

Begärandehuvud

Media Types: "application/geo+json"

Name Obligatorisk Typ Description
x-ms-client-id

string

Anger vilket konto som är avsett för användning med Microsoft Entra ID-säkerhetsmodellen. Detta unika ID för Azure Maps-kontot kan erhållas från Azure Maps Management Plane Account API. För mer information om hur man använder Microsoft Entra ID säkerhet i Azure Maps, se Hantera autentisering i Azure Maps.

Accept-Language

string

Språk där routningsresultat ska returneras.

För mer information, se Lokaliseringsstöd i Azure Maps.

Begärandetext

Media Types: "application/geo+json"

Name Obligatorisk Typ Description
features True

InputSnapToRoadsFeaturesItem[]

En uppsättning punkter för att fästa till vägnätet. Du kan ha minst 2 poäng och högst 5000 poäng och de två på varandra följande poängen måste ligga inom 6 kilometer från varandra och en total vägsträcka på upp till 100 kilometer. Se RFC 7946 för mer information om GeoJSON-formatet.

Note: API:et returnerar inte ett punktobjekt i svaret för GPS-punkten som inte kan fästas på ett vägnätverk.

type True

FeatureTypeEnum

Anger GeoJSON typ. Den enda objekttypen som stöds är FeatureCollection. Mer information finns i RFC 7946.

includeSpeedLimit

boolean

Anger om hastighetsbegränsningsinformation ska inkluderas för snappade punkter i svaret. Enheten är i kilometer per timme.

interpolate

boolean

Anger om du vill returnera ytterligare punkter mellan de fästa punkterna för att slutföra den fullständiga vägsökvägen som smidigt följer väggeometrin.

De interpolerade punkterna har isInterpolate:true i svaret som kan användas för att identifiera de snappade punkterna från interpolerade punkter.

travelMode

SnapToRoadsTravelModeEnum

Anger routningsprofilen för att fästa punkterna. Om det är ospecificerat är standardläget "körning", vilket optimerar fästpunkterna för körvägar.

Svar

Name Typ Description
200 OK

SnapToRoadsResponse

Begäran har slutförts.

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

Other Status Codes

MapsErrorResponse

Ett oväntat felsvar.

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

Säkerhet

AadToken

Dessa är Microsoft Entra OAuth 2.0 flöden. När den kombineras med Azure rollbaserad åtkomst kontroll kan den användas för att kontrollera åtkomst till Azure Maps REST-API:er. Azure:s rollbaserade åtkomstkontroller används för att ange åtkomst till ett eller flera Azure Maps-resurskonton eller delresurser. 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.

Note

  • 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. Suveräna 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

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

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

Exempelbegäran

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

Exempelsvar

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

Definitioner

Name Description
FeaturesItemTypeEnum

Anger GeoJSON typ. Den enda objekttyp som stöds är Funktion. Mer information finns i RFC 7946.

FeatureTypeEnum

Anger GeoJSON typ. Den enda objekttypen som stöds är FeatureCollection. Mer information finns i RFC 7946.

GeoJsonObjectType

Anger GeoJSON typ. Måste vara en av de nio giltiga GeoJSON-objekttyperna – Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature och FeatureCollection.

GeoJsonPoint

En giltig GeoJSON Point geometrityp. Mer information finns i RFC 7946.

InputSnapToRoadsFeaturesItem

Anger indataknäppen till vägpunkter. GeoJSON funktionsobjekt och ytterligare egenskaper. Mer information finns i RFC 7946.

MapsErrorDetail

Detaljerna om felet.

MapsErrorResponse

Vanligt felsvar för Azure Maps API:er för att returnera feldetaljer för misslyckade operationer.

MapsInnerError

Ett objekt som innehåller mer specifik information än det aktuella objektet om felet.

SnapToRoadFeaturesItem

GeoJSON-funktionsobjekt som innehåller geometriobjekt och ytterligare egenskaper för vägen.

SnapToRoadsFeatureProperties

Fäst vid vägars egenskaper.

SnapToRoadsRequest

Det här objektet är begärandetexten.

SnapToRoadsResponse

Det här objektet returneras från ett lyckat anrop.

SnapToRoadsTravelModeEnum

Anger routningsprofilen för att fästa punkterna. Om det är ospecificerat är standardläget "körning", vilket optimerar fästpunkterna för körvägar.

FeaturesItemTypeEnum

Anger GeoJSON typ. Den enda objekttyp som stöds är Funktion. Mer information finns i RFC 7946.

Värde Description
Feature

Anger objekttypen GeoJSON funktion.

FeatureTypeEnum

Anger GeoJSON typ. Den enda objekttypen som stöds är FeatureCollection. Mer information finns i RFC 7946.

Värde Description
FeatureCollection

Anger GeoJSONFeatureCollection objekttyp.

GeoJsonObjectType

Anger GeoJSON typ. Måste vara en av de nio giltiga GeoJSON-objekttyperna – Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature och FeatureCollection.

Värde Description
Point

GeoJSON Point geometri.

MultiPoint

GeoJSON MultiPoint geometri.

LineString

GeoJSON LineString geometri.

MultiLineString

GeoJSON MultiLineString geometri.

Polygon

GeoJSON Polygon geometri.

MultiPolygon

GeoJSON MultiPolygon geometri.

GeometryCollection

GeoJSON GeometryCollection geometri.

Feature

GeoJSON Feature objekt.

FeatureCollection

GeoJSON FeatureCollection objekt.

GeoJsonPoint

En giltig GeoJSON Point geometrityp. Mer information finns i RFC 7946.

Name Typ Description
coordinates

number[] (double)

En Position är en matris med tal med två eller flera element. De första två elementen är longitud och latitud, just i den ordningen. Altitude/Elevation är ett valfritt tredje element. Mer information finns i RFC 7946.

type string:

Point

Anger GeoJSON typ. Måste vara en av de nio giltiga GeoJSON-objekttyperna – Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature och FeatureCollection.

InputSnapToRoadsFeaturesItem

Anger indataknäppen till vägpunkter. GeoJSON funktionsobjekt och ytterligare egenskaper. Mer information finns i RFC 7946.

Name Typ Description
geometry

GeoJsonPoint

En giltig GeoJSON Point geometrityp. Mer information finns i RFC 7946.

properties

Egenskapsobjektet krävs i en giltig GeoJSON, men det kan vara tomt eftersom metadata inte används för att fästa på väg.

type

FeaturesItemTypeEnum

Anger GeoJSON typ. Den enda objekttyp som stöds är Funktion. Mer information finns i RFC 7946.

MapsErrorDetail

Detaljerna om felet.

Name Typ Description
code

string

En av en serverdefinierad uppsättning felkoder.

details

MapsErrorDetail[]

En matris med information om specifika fel som ledde till det rapporterade felet.

innererror

MapsInnerError

Ett objekt som innehåller mer specifik information än det aktuella objektet om felet.

message

string

En mänsklig läsbar representation av felet.

target

string

Målet för felet.

MapsErrorResponse

Vanligt felsvar för Azure Maps API:er för att returnera feldetaljer för misslyckade operationer.

Name Typ Description
error

MapsErrorDetail

Detaljerna om felet.

MapsInnerError

Ett objekt som innehåller mer specifik information än det aktuella objektet om felet.

Name Typ Description
code

string

Felkoden.

innererror

MapsInnerError

Ett objekt som innehåller mer specifik information än det aktuella objektet om felet.

SnapToRoadFeaturesItem

GeoJSON-funktionsobjekt som innehåller geometriobjekt och ytterligare egenskaper för vägen.

Name Typ Description
bbox

number[] (double)

Ett rektangulärt område på jorden som definieras som ett avgränsningsramobjekt. Rektanglarnas sidor definieras av latitud- och longitudvärden. Mer information finns i RFC 7946, avsnitt 5.

Exempel: "bbox": [-10.0, -10.0, 10.0, 10.0]

geometry

GeoJsonPoint

En giltig GeoJSON Point geometrityp. Mer information finns i RFC 7946.

properties

SnapToRoadsFeatureProperties

Fäst vid vägars egenskaper.

type

FeaturesItemTypeEnum

Anger GeoJSON typ. Den enda objekttyp som stöds är Funktion. Mer information finns i RFC 7946.

SnapToRoadsFeatureProperties

Fäst vid vägars egenskaper.

Name Typ Description
inputIndex

integer (int64)

Identifiera motsvarande index i den ursprungliga listan med punkter för varje fästpunkt. Endast de snappade punkterna returnerar index och kan användas för att skilja dem från de interpolerade punkterna.

isInterpolated

boolean

Identifiera om det här är den interpolerade punkten.

name

string

Namnet på den väg som punkten fästs på.

speedLimitInKilometersPerHour

number (double)

Hastighetsbegränsning i kilometer per timme.

SnapToRoadsRequest

Det här objektet är begärandetexten.

Name Typ Standardvärde Description
features

InputSnapToRoadsFeaturesItem[]

En uppsättning punkter för att fästa till vägnätet. Du kan ha minst 2 poäng och högst 5000 poäng och de två på varandra följande poängen måste ligga inom 6 kilometer från varandra och en total vägsträcka på upp till 100 kilometer. Se RFC 7946 för mer information om GeoJSON-formatet.

Note: API:et returnerar inte ett punktobjekt i svaret för GPS-punkten som inte kan fästas på ett vägnätverk.

includeSpeedLimit

boolean

False

Anger om hastighetsbegränsningsinformation ska inkluderas för snappade punkter i svaret. Enheten är i kilometer per timme.

interpolate

boolean

False

Anger om du vill returnera ytterligare punkter mellan de fästa punkterna för att slutföra den fullständiga vägsökvägen som smidigt följer väggeometrin.

De interpolerade punkterna har isInterpolate:true i svaret som kan användas för att identifiera de snappade punkterna från interpolerade punkter.

travelMode

SnapToRoadsTravelModeEnum

driving

Anger routningsprofilen för att fästa punkterna. Om det är ospecificerat är standardläget "körning", vilket optimerar fästpunkterna för körvägar.

type

FeatureTypeEnum

Anger GeoJSON typ. Den enda objekttypen som stöds är FeatureCollection. Mer information finns i RFC 7946.

SnapToRoadsResponse

Det här objektet returneras från ett lyckat anrop.

Name Typ Description
features

SnapToRoadFeaturesItem[]

GeoJSON funktionsobjekt som innehåller geometriobjekt och ytterligare egenskaper. Mer information finns i RFC 7946, avsnitt 3.2.

type

FeatureTypeEnum

Anger GeoJSON typ. Den enda objekttypen som stöds är FeatureCollection. Mer information finns i RFC 7946.

SnapToRoadsTravelModeEnum

Anger routningsprofilen för att fästa punkterna. Om det är ospecificerat är standardläget "körning", vilket optimerar fästpunkterna för körvägar.

Värde Description
driving

Punkterna fästs på vägen som är lämplig för bilar.

truck

Spetsarna fästs på vägen som är lämplig för lastbil.