Condividi tramite


Route - Post Snap To Roads Batch

L'API batch Snap To Roads invia batch di un massimo di 100 query come singola chiamata all'API Snap To Roads. Questa API consente un'elaborazione efficiente di più query in una richiesta, riducendo la necessità di singole chiamate.

Inviare una richiesta batch sincrona

L'API sincrona è consigliata per le richieste batch leggere. Quando il servizio riceve una richiesta, risponderà non appena vengono calcolati gli elementi batch e non sarà possibile recuperare i risultati in un secondo momento. L'API sincrona restituirà un errore di timeout (una risposta 408) se la richiesta richiede più di 60 secondi. Il numero di elementi batch è limitato a 100 per questa API.

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

Corpo POST per la richiesta batch

Per inviare lo snap di alle strade query, si userà una richiesta di POST in cui il corpo della richiesta conterrà la matrice di batchItems nel formato json e l'intestazione Content-Type verrà impostata su application/json. Di seguito è riportato un esempio di corpo della richiesta contenente 1 snap alle query roads :

{
  "batchItems": [
    {
      "optionalId": "bbc9c0f6-ab52-49d8-a788-a658fa654c94",
      "type": "FeatureCollection",
      "features": [
        {
          "type": "Feature",
          "geometry": {
            "type": "Point",
            "coordinates": [
              -122.336691,
              47.59085
            ]
          },
          "properties": {
          }
        },
        {
          "type": "Feature",
          "geometry": {
            "type": "Point",
            "coordinates": [
              -122.336023,
              47.601616
            ]
          },
          "properties": {
          }
        }
      ],
      "includeSpeedLimit": true,
      "travelMode": "driving"
    }
  ]
}

Uno snap di sulle strade oggetto batchItem può accettare uno degli snap di supportati sulle stradecorpo della richiesta

Il batch deve contenere almeno 1 query.

Modello di risposta batch

La risposta batch contiene un componente summary che indica il totalRequests che faceva parte della richiesta batch originale e successfulRequests ad esempio le query eseguite correttamente. La risposta batch include anche una matrice di batchItems che contiene una risposta per ogni query e ogni query nella richiesta batch. Il batchItems conterrà i risultati nello stesso ordine in cui le query originali sono state inviate nella richiesta batch. Ogni elemento è di uno dei tipi seguenti:

  • SnapToRoadsResponse: se la query è stata completata correttamente.

  • Error: se la query non è riuscita. La risposta conterrà un code e un message in questo caso.

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

Parametri dell'URI

Nome In Necessario Tipo Descrizione
endpoint
path True

string

api-version
query True

string

minLength: 1

Versione dell'API da usare per questa operazione.

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 Mappe di Azure può essere ottenuto dall'Account API Mappe di Azure piano di gestione. Per maggiori informazioni sull'uso della sicurezza Microsoft Entra ID in Mappe di Azure, vedi Gestire l'autenticazione in Mappe di Azure.

Accept-Language

string

Lingua in cui devono essere restituiti i risultati del routing.

Per maggiori informazioni, consulta Supporto alla localizzazione in Mappe di Azure.

Corpo della richiesta

Media Types: "application/geo+json"

Nome Tipo Descrizione
batchItems

SnapToRoadsBatchRequestItem[]

Elenco di query da elaborare.

Risposte

Nome Tipo Descrizione
200 OK

SnapToRoadsBatchResponse

La richiesta ha avuto esito positivo.

Other Status Codes

MapsErrorResponse

Risposta di errore imprevista.

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 Mappe di Azure. I controlli di accesso basati su ruoli di Azure sono utilizzati per designare l'accesso a uno o più account o sottorisorse risorse di Mappe di Azure. 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 per Mappe di Azure API REST.\n\nPer implementare scenari, consigliamo di consultare i concetti di autenticazione . In sintesi, questa definizione di sicurezza fornisce una soluzione per modellare l'applicazione tramite oggetti in grado di controllo degli accessi su API e ambiti specifici.\n\n#### Note\n* Questa definizione di sicurezza richiede l'uso dell'intestazione x-ms-client-id per indicare a quale Mappe di Azure risorsa l'applicazione richiede accesso. Questo può essere acquisito dall'API di gestione Maps.\n* \nIl Authorization URL è specifico per l'istanza Azure cloud pubblico. I cloud sovrani hanno URL di autorizzazione unici e configurazioni Microsoft Entra ID. \n* \nIl controllo accessibile basato sul ruolo Azure viene configurato dal piano di gestione Azure tramite Azure portale, PowerShell, CLI, Azure SDK o API REST.\n* \nUtilizzo del Mappe di Azure Web SDK consente la configurazione di un'applicazione basata sulla configurazione per molteplici casi d'uso.\n* Per maggiori informazioni su Microsoft Identity Platform, vedi Microsoft Identity Platform panoramica.

Tipo: oauth2
Flow: implicit
URL di autorizzazione: https://login.microsoftonline.com/common/oauth2/authorize

Ambiti

Nome Descrizione
https://atlas.microsoft.com/.default

subscription-key

Questa è una chiave condivisa che viene fornita quando Crea un account Mappe di Azure nel portale Azure o utilizzando PowerShell, CLI, Azure SDK o API REST.\n\n Con questa chiave, qualsiasi applicazione può accedere a tutte le API REST. In altre parole, questa chiave può essere utilizzata come chiave master nell'account in cui vengono rilasciate.\n\n Per applicazioni pubblicamente esposte, la nostra raccomandazione è di utilizzare l'approccio confidential per accedere alle API REST Mappe di Azure modo che la tua chiave possa essere memorizzata in modo sicuro.

Tipo: apiKey
In: header

SAS Token

Questo token di firma di accesso condiviso viene creato dall'operazione List SAS sulla risorsa Mappe di Azure tramite il piano di gestione Azure tramite portale Azure, PowerShell, CLI, Azure SDK o API REST.\n\n Con questo token, qualsiasi applicazione è autorizzata ad accedere con Azure Controlli di accesso basati su ruoli e controllo sottile sulla scadenza, la velocità e la regione/i di utilizzo per il token specifico. In altre parole, il Token SAS può essere utilizzato per permettere alle applicazioni di controllare l'accesso in modo più sicuro rispetto alla chiave condivisa.\n\n Per applicazioni pubblicamente esposte, la nostra raccomandazione è di configurare una lista specifica di origini consentite sulla risorsa dell'account Map per limitare l'abuso di rendering e rinnovare regolarmente il token SAS.

Tipo: apiKey
In: header

Esempio

A Snap To Roads Batch request containing 1 query

Esempio di richiesta

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

{
  "batchItems": [
    {
      "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"
    },
    {
      "type": "FeatureCollection",
      "features": [
        {
          "type": "Feature",
          "geometry": {
            "type": "Point",
            "coordinates": [
              -122.133269,
              47.6470965
            ]
          },
          "properties": {}
        },
        {
          "type": "Feature",
          "geometry": {
            "type": "Point",
            "coordinates": [
              -74.00487,
              40.71396
            ]
          },
          "properties": {}
        }
      ],
      "travelMode": "driving"
    }
  ]
}

Risposta di esempio

{
  "batchItems": [
    {
      "type": "FeatureCollection",
      "features": [
        {
          "type": "Feature",
          "geometry": {
            "type": "Point",
            "coordinates": [
              -122.336773,
              47.590876
            ]
          },
          "properties": {
            "name": "State Rte-99 N",
            "inputIndex": 0,
            "isInterpolated": false,
            "speedLimitInKilometersPerHour": 80
          }
        },
        {
          "type": "Feature",
          "geometry": {
            "type": "Point",
            "coordinates": [
              -122.336008,
              47.601606
            ]
          },
          "properties": {
            "name": "State Rte-99 N",
            "inputIndex": 1,
            "isInterpolated": false,
            "speedLimitInKilometersPerHour": 80
          }
        }
      ]
    },
    {
      "error": {
        "code": "BadRequest",
        "message": "The distance between two consecutive points (-122.133269,47.6470965) (-74.00487,40.71396) must be within 6 kilometers of each other."
      }
    }
  ],
  "summary": {
    "successfulRequests": 1,
    "totalRequests": 2
  }
}

Definizioni

Nome Descrizione
CommonErrorDetail

Dettagli dell'errore.

ErrorAdditionalInfo

Informazioni aggiuntive sull'errore di gestione delle risorse.

FeaturesItemTypeEnum

Specifica il tipo di GeoJSON. L'unico tipo di oggetto supportato è Feature. Per altre informazioni, vedere RFC 7946.

FeatureTypeEnum

Specifica il tipo di GeoJSON. L'unico tipo di oggetto supportato è FeatureCollection. Per altre informazioni, vedere RFC 7946.

GeoJsonObjectType

Specifica il tipo di GeoJSON. Deve essere uno dei nove tipi di oggetto GeoJSON validi: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature e FeatureCollection.

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.

MapsErrorDetail

Dettagli dell'errore.

MapsErrorResponse

Risposta comune all'errore per le API di Mappe di Azure per restituire dettagli di errore per operazioni fallite.

MapsInnerError

Oggetto contenente informazioni più specifiche dell'oggetto corrente sull'errore.

SnapToRoadFeaturesItem

Oggetto funzionalità GeoJSON che contiene l'oggetto Geometry e proprietà aggiuntive della route.

SnapToRoadsBatchRequestBody

Elenco di snap alle query/richieste stradali da elaborare. L'elenco può contenere un massimo di 100 query e deve contenere almeno 1 query.

SnapToRoadsBatchRequestItem

Oggetto Query batch

SnapToRoadsBatchResponse

Questo oggetto viene restituito da una chiamata al servizio Snap to Roads batch riuscita.

SnapToRoadsBatchResponseItem

dettagli errore

SnapToRoadsBatchResponseSummary

Riepilogo per la richiesta batch

SnapToRoadsFeatureProperties

Aggancia alle proprietà Strade.

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.

CommonErrorDetail

Dettagli dell'errore.

Nome Tipo Descrizione
additionalInfo

ErrorAdditionalInfo[]

Informazioni aggiuntive sull'errore.

code

string

Codice di errore.

details

CommonErrorDetail[]

Dettagli dell'errore.

message

string

Messaggio di errore.

target

string

Destinazione dell'errore.

ErrorAdditionalInfo

Informazioni aggiuntive sull'errore di gestione delle risorse.

Nome Tipo Descrizione
info

object

Informazioni aggiuntive.

type

string

Tipo di informazioni aggiuntive.

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 GeoJSON.

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 GeoJSONFeatureCollection.

GeoJsonObjectType

Specifica il tipo di GeoJSON. Deve essere uno dei nove tipi di oggetto GeoJSON validi: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature e FeatureCollection.

Valore Descrizione
Point

GeoJSON Point geometria.

MultiPoint

GeoJSON MultiPoint geometria.

LineString

GeoJSON LineString geometria.

MultiLineString

GeoJSON MultiLineString geometria.

Polygon

GeoJSON Polygon geometria.

MultiPolygon

GeoJSON MultiPolygon geometria.

GeometryCollection

GeoJSON GeometryCollection geometria.

Feature

Oggetto GeoJSON Feature.

FeatureCollection

Oggetto GeoJSON FeatureCollection.

GeoJsonPoint

Tipo geometry GeoJSON Point valido. Per informazioni dettagliate, vedere RFC 7946.

Nome Tipo Descrizione
coordinates

number[] (double)

Un Position è una matrice di numeri con due o più elementi. I primi due elementi sono longitudine e latitudine, esattamente in tale ordine. altitudine/elevazione è un terzo elemento facoltativo. Per informazioni dettagliate, vedere RFC 7946.

type string:

Point

Specifica il tipo di GeoJSON. Deve essere uno dei nove tipi di oggetto GeoJSON validi: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature e FeatureCollection.

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 GeoJSON Point valido. Per informazioni dettagliate, vedere RFC 7946.

properties

L'oggetto proprietà è obbligatorio in un GeoJSON valido, ma può essere vuoto perché i metadati non vengono usati per l'allineamento alla strada.

type

FeaturesItemTypeEnum

Specifica il tipo di GeoJSON. L'unico tipo di oggetto supportato è Feature. Per altre informazioni, vedere RFC 7946.

MapsErrorDetail

Dettagli dell'errore.

Nome Tipo Descrizione
code

string

Uno di un set definito dal server di codici di errore.

details

MapsErrorDetail[]

Matrice di dettagli sugli errori specifici che hanno causato l'errore segnalato.

innererror

MapsInnerError

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 Mappe di Azure per restituire dettagli di errore per operazioni fallite.

Nome Tipo Descrizione
error

MapsErrorDetail

Dettagli dell'errore.

MapsInnerError

Oggetto contenente informazioni più specifiche dell'oggetto corrente sull'errore.

Nome Tipo Descrizione
code

string

Codice di errore.

innererror

MapsInnerError

Oggetto contenente informazioni più specifiche dell'oggetto corrente sull'errore.

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 GeoJSON Point valido. Per informazioni dettagliate, vedere RFC 7946.

properties

SnapToRoadsFeatureProperties

Aggancia alle proprietà Strade.

type

FeaturesItemTypeEnum

Specifica il tipo di GeoJSON. L'unico tipo di oggetto supportato è Feature. Per altre informazioni, vedere RFC 7946.

SnapToRoadsBatchRequestBody

Elenco di snap alle query/richieste stradali da elaborare. L'elenco può contenere un massimo di 100 query e deve contenere almeno 1 query.

Nome Tipo Descrizione
batchItems

SnapToRoadsBatchRequestItem[]

Elenco di query da elaborare.

SnapToRoadsBatchRequestItem

Oggetto Query batch

Nome Tipo Valore predefinito Descrizione
features

InputSnapToRoadsFeaturesItem[]

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 .

Note: l'API non restituirà un oggetto punto nella risposta per il punto GPS che non può essere agganciato a una rete stradale.

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 isInterpolate:true nella risposta che può essere usata per identificare i punti ritagliati dai punti interpolati.

optionalId

string

ID della richiesta che verrà visualizzata nell'oggetto batchItem corrispondente.

travelMode

SnapToRoadsTravelModeEnum

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

FeatureTypeEnum

Specifica il tipo di GeoJSON. L'unico tipo di oggetto supportato è FeatureCollection. Per altre informazioni, vedere RFC 7946.

SnapToRoadsBatchResponse

Questo oggetto viene restituito da una chiamata al servizio Snap to Roads batch riuscita.

Nome Tipo Descrizione
batchItems

SnapToRoadsBatchResponseItem[]

Matrice contenente i risultati del batch.

summary

SnapToRoadsBatchResponseSummary

Riepilogo per la richiesta batch

SnapToRoadsBatchResponseItem

dettagli errore

Nome Tipo Descrizione
error

CommonErrorDetail

Dettagli dell'errore.

features

SnapToRoadFeaturesItem[]

GeoJSON oggetto feature che contiene l'oggetto Geometry e le proprietà aggiuntive. Per informazioni dettagliate, vedere RFC 7946, Sezione 3.2.

optionalId

string

ID della richiesta che verrà visualizzata nell'oggetto batchItem corrispondente.

type

FeatureTypeEnum

Specifica il tipo di GeoJSON. L'unico tipo di oggetto supportato è FeatureCollection. Per altre informazioni, vedere RFC 7946.

SnapToRoadsBatchResponseSummary

Riepilogo per la richiesta batch

Nome Tipo Descrizione
successfulRequests

integer (int32)

Numero di richieste riuscite nel batch

totalRequests

integer (int32)

Numero totale di richieste nel batch

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.

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.