Route - Post Snap To Roads
L'API Snap to Roads accetta i dati dei punti GPS, rappresentati come coordinate di longitudine e latitudine e genera punti allineati alle strade esistenti su una mappa. Questo processo, noto come "aggancio alle strade", produce una serie di oggetti che tracciano un percorso che segue attentamente la rete stradale. I dati risultanti includono i nomi delle strade e i rispettivi limiti di velocità, pertinenti ai segmenti attraversati.
Inoltre, l'API Snap to Roads offre una funzionalità di interpolazione, che affina i punti GPS per creare un percorso più fluido che rispetti la geometria della strada. Questa funzionalità è particolarmente utile per il rilevamento degli asset e il miglioramento della visualizzazione dei dati nelle applicazioni di mapping.
Importante
I punti GPS devono trovarsi a una distanza massima di 6 chilometri l'uno dall'altro.
Per informazioni sulla disponibilità di routing in paesi/regioni, vedi Azure Maps routing coverage.
POST https://atlas.microsoft.com/route/snapToRoads?api-version=2025-01-01
Parametri dell'URI
| Nome | In | Necessario | Tipo | Descrizione |
|---|---|---|---|---|
|
api-version
|
query | True |
string |
Numero di versione di Azure Maps API. |
Intestazione della richiesta
Media Types: "application/geo+json"
| Nome | Necessario | Tipo | Descrizione |
|---|---|---|---|
| x-ms-client-id |
string |
Indica l'account destinato all'uso con il modello di sicurezza Microsoft Entra ID. Questo ID univoco per l'account Azure Maps può essere ottenuto dall'Account API Azure Maps piano di gestione. Per maggiori informazioni sull'uso della sicurezza Microsoft Entra ID in Azure Maps, vedi Gestire l'autenticazione in Azure Maps. |
|
| Accept-Language |
string |
Lingua in cui devono essere restituiti i risultati del routing. Per maggiori informazioni, consulta Supporto alla localizzazione in Azure Maps. |
Corpo della richiesta
Media Types: "application/geo+json"
| Nome | Necessario | Tipo | Descrizione |
|---|---|---|---|
| features | True |
Set di punti da agganciare alla rete stradale. Si possono avere un minimo di 2 punti e un massimo di 5000 punti e i due punti consecutivi devono trovarsi entro 6 chilometri l'uno dall'altro e una distanza stradale totale fino a 100 chilometri. Per informazioni dettagliate sul formato GeoJSON, fare riferimento alla RFC 7946 .
|
|
| type | True |
Specifica il tipo di |
|
| includeSpeedLimit |
boolean |
Specifica se includere le informazioni sul limite di velocità per i punti ritagliati nella risposta. L'unità è in chilometri all'ora. |
|
| interpolate |
boolean |
Specifica se restituire punti aggiuntivi tra i punti intrappolati per completare il percorso completo che segue senza problemi la geometria della strada. I punti interpolati avranno |
|
| travelMode |
Specifica il profilo di routing per bloccare i punti. Se non specificato, la modalità predefinita è "guida", che ottimizza i punti troncato per i percorsi di guida. |
Risposte
| Nome | Tipo | Descrizione |
|---|---|---|
| 200 OK |
Va bene Media Types: "application/geo+json", "application/json" |
|
| Other Status Codes |
Errore imprevisto. Media Types: "application/geo+json", "application/json" Intestazioni x-ms-error-code: string |
Sicurezza
AADToken
Questi sono i flussi Microsoft Entra OAuth 2.0. Quando abbinata al controllo Azure basato su ruolo può essere utilizzata per controllare l'accesso alle API REST di Azure Maps. I controlli di accesso basati su ruoli di Azure sono utilizzati per designare l'accesso a uno o più account o sottorisorse risorse di Azure Maps. Qualsiasi utente, gruppo o principale di servizio può ricevere l'accesso tramite un ruolo integrato o un ruolo personalizzato composto da uno o più permessi alle API REST di Azure Maps.
Per implementare scenari, è consigliabile visualizzare concetti di autenticazione. In sintesi, questa definizione di sicurezza offre una soluzione per la modellazione di applicazioni tramite oggetti in grado di controllare l'accesso su API e ambiti specifici.
Annotazioni
- Questa definizione di sicurezza richiede l'uso dell'intestazione
x-ms-client-idper indicare a quale Azure Maps risorsa l'applicazione richiede accesso. Questa operazione può essere acquisita dall'API di gestione di mappe . - Il
Authorization URLè specifico per l'istanza Azure cloud pubblico. I cloud sovrani hanno URL di autorizzazione unici e configurazioni Microsoft Entra ID. - Il controllo degli accessi basato sul ruolo Azure viene configurato dal piano di gestione Azure tramite portale Azure, PowerShell, CLI, Azure SDKs o API REST.
- L'uso del Web SDK Azure Maps consente la configurazione di un'applicazione per più casi d'uso.
- Per altre informazioni su Microsoft Identity Platform, vedere panoramica di Microsoft Identity Platform.
Tipo:
oauth2
Flow:
implicit
URL di autorizzazione:
https://login.microsoftonline.com/common/oauth2/authorize
Ambiti
| Nome | Descrizione |
|---|---|
| https://atlas.microsoft.com/.default | https://atlas.microsoft.com/.default |
subscription-key
Questa è una chiave condivisa che viene fornita quando si crea una risorsa Azure Maps tramite il piano di gestione Azure tramite Azure portale, PowerShell, CLI, Azure SDKs o API REST.
Con questa chiave, qualsiasi applicazione è autorizzata ad accedere a tutte le API REST. In altre parole, questi possono essere attualmente considerati chiavi master per l'account per cui vengono rilasciati.
Per applicazioni pubblicamente esposte, la nostra raccomandazione è di utilizzare l'accesso server-to-server alle API REST di Azure Maps, dove questa chiave può essere memorizzata in modo sicuro.
Tipo:
apiKey
In:
header
SAS Token
Questo è un token di firma di accesso condiviso creato dall'operazione List SAS sulla risorsa Azure Maps tramite il piano di gestione Azure tramite Azure portale, PowerShell, CLI, Azure SDKs o API REST.
Con questo token, qualsiasi applicazione è autorizzata ad accedere tramite Azure ai controlli di accesso basati su ruoli e a un controllo fine della scadenza, del tasso e delle regioni di utilizzo per il particolare token. In altre parole, il token di firma di accesso condiviso può essere usato per consentire alle applicazioni di controllare l'accesso in modo più protetto rispetto alla chiave condivisa.
Per le applicazioni esposte pubblicamente, è consigliabile configurare un elenco specifico di origini consentite nella risorsa account mappa per limitare l'abuso di rendering e rinnovare regolarmente il token di firma di accesso condiviso.
Tipo:
apiKey
In:
header
Esempio
Successfully retrieve snap to roads points with additional parameters in the body
Esempio di richiesta
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"
}
Risposta di esempio
{
"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
}
}
]
}
Definizioni
| Nome | Descrizione |
|---|---|
|
Features |
Specifica il tipo di |
|
Feature |
Specifica il tipo di |
|
Geo |
Tipo geometry |
|
Input |
Specifica lo snap di input per i punti delle strade.
|
|
Maps |
Dettagli dell'errore. |
|
Maps |
Risposta comune all'errore per le API di Azure Maps per restituire dettagli di errore per operazioni fallite. |
|
Maps |
Oggetto contenente informazioni più specifiche dell'oggetto corrente sull'errore. |
|
Point |
Punto di origine passato come oggetto Geometry valido
|
|
Snap |
Oggetto funzionalità GeoJSON che contiene l'oggetto Geometry e proprietà aggiuntive della route. |
|
Snap |
Aggancia alle proprietà Strade. |
|
Snap |
Questo oggetto è il corpo della richiesta. |
|
Snap |
Questo oggetto viene restituito da una chiamata riuscita. |
|
Snap |
Specifica il profilo di routing per bloccare i punti. Se non specificato, la modalità predefinita è "guida", che ottimizza i punti troncato per i percorsi di guida. |
FeaturesItemTypeEnum
Specifica il tipo di GeoJSON. L'unico tipo di oggetto supportato è Feature. Per altre informazioni, vedere RFC 7946.
| Valore | Descrizione |
|---|---|
| Feature |
Specifica il tipo di oggetto Feature |
FeatureTypeEnum
Specifica il tipo di GeoJSON. L'unico tipo di oggetto supportato è FeatureCollection. Per altre informazioni, vedere RFC 7946.
| Valore | Descrizione |
|---|---|
| FeatureCollection |
Specifica il tipo di oggetto |
GeoJsonPoint
Tipo geometry GeoJSON Point valido. Per informazioni dettagliate, vedere RFC 7946.
InputSnapToRoadsFeaturesItem
Specifica lo snap di input per i punti delle strade.
GeoJSON oggetto funzionalità e proprietà aggiuntive. Per informazioni dettagliate, vedere RFC 7946.
| Nome | Tipo | Descrizione |
|---|---|---|
| geometry | GeoJsonPoint: |
Tipo geometry |
| properties |
object |
L'oggetto proprietà è obbligatorio in un GeoJSON valido, ma può essere vuoto perché i metadati non vengono usati per l'allineamento alla strada. |
| type |
Specifica il tipo di |
MapsErrorDetail
Dettagli dell'errore.
| Nome | Tipo | Descrizione |
|---|---|---|
| code |
string |
Uno di un set definito dal server di codici di errore. |
| details |
Matrice di dettagli sugli errori specifici che hanno causato l'errore segnalato. |
|
| innererror |
Oggetto contenente informazioni più specifiche dell'oggetto corrente sull'errore. |
|
| message |
string |
Rappresentazione leggibile dell'errore. |
| target |
string |
Destinazione dell'errore. |
MapsErrorResponse
Risposta comune all'errore per le API di Azure Maps per restituire dettagli di errore per operazioni fallite.
| Nome | Tipo | Descrizione |
|---|---|---|
| error |
Dettagli dell'errore. |
MapsInnerError
Oggetto contenente informazioni più specifiche dell'oggetto corrente sull'errore.
| Nome | Tipo | Descrizione |
|---|---|---|
| code |
string |
Codice di errore. |
| innererror |
Oggetto contenente informazioni più specifiche dell'oggetto corrente sull'errore. |
PointGeometry
Punto di origine passato come oggetto Geometry valido GeoJSON da cui calcolare il poligono dell'intervallo. Per informazioni dettagliate, vedere RFC 7946.
Note: l'API blocca il punto di origine richiesto alla rete stradale più vicina e lo userà per il calcolo dell'intervallo. Verrà restituito come punto center nella risposta.
| Nome | Tipo | Descrizione |
|---|---|---|
| coordinates |
number[] (double) |
Un |
| type |
string:
Point |
Specifica il tipo di geometria per l'oggetto Geometry |
SnapToRoadFeaturesItem
Oggetto funzionalità GeoJSON che contiene l'oggetto Geometry e proprietà aggiuntive della route.
| Nome | Tipo | Descrizione |
|---|---|---|
| bbox |
number[] (double) |
Area rettangolare sulla terra definita come oggetto rettangolo delimitatore. I lati dei rettangoli sono definiti dai valori di latitudine e longitudine. Per altre informazioni, vedere RFC 7946, sezione 5. Esempio: "bbox": [-10.0, -10.0, 10.0, 10.0] |
| geometry | GeoJsonPoint: |
Tipo geometry |
| properties |
Aggancia alle proprietà Strade. |
|
| type |
Specifica il tipo di |
SnapToRoadsFeatureProperties
Aggancia alle proprietà Strade.
| Nome | Tipo | Descrizione |
|---|---|---|
| inputIndex |
integer (int64) |
Identificare l'indice corrispondente nell'elenco originale di punti per ogni punto bloccato. Solo i punti ritagliati restituiranno indici e possono essere usati per distinguerli dai punti interpolati. |
| isInterpolated |
boolean |
Identificare se si tratta del punto interpolato. |
| name |
string |
Nome della strada a cui è a capo il punto. |
| speedLimitInKilometersPerHour |
number (double) |
Limite di velocità in chilometri all'ora. |
SnapToRoadsRequest
Questo oggetto è il corpo della richiesta.
| Nome | Tipo | Valore predefinito | Descrizione |
|---|---|---|---|
| features |
Set di punti da agganciare alla rete stradale. Si possono avere un minimo di 2 punti e un massimo di 5000 punti e i due punti consecutivi devono trovarsi entro 6 chilometri l'uno dall'altro e una distanza stradale totale fino a 100 chilometri. Per informazioni dettagliate sul formato GeoJSON, fare riferimento alla RFC 7946 .
|
||
| includeSpeedLimit |
boolean |
False |
Specifica se includere le informazioni sul limite di velocità per i punti ritagliati nella risposta. L'unità è in chilometri all'ora. |
| interpolate |
boolean |
False |
Specifica se restituire punti aggiuntivi tra i punti intrappolati per completare il percorso completo che segue senza problemi la geometria della strada. I punti interpolati avranno |
| travelMode | driving |
Specifica il profilo di routing per bloccare i punti. Se non specificato, la modalità predefinita è "guida", che ottimizza i punti troncato per i percorsi di guida. |
|
| type |
Specifica il tipo di |
SnapToRoadsResponse
Questo oggetto viene restituito da una chiamata riuscita.
| Nome | Tipo | Descrizione |
|---|---|---|
| features |
|
|
| type |
Specifica il tipo di |
SnapToRoadsTravelModeEnum
Specifica il profilo di routing per bloccare i punti. Se non specificato, la modalità predefinita è "guida", che ottimizza i punti troncato per i percorsi di guida.
| Valore | Descrizione |
|---|---|
| driving |
I punti sono troncato sulla strada adatto per le auto. |
| truck |
I punti vengono agganciati alla strada adatta per il camion. |