Partilhar via


Route - Post Snap To Roads Batch

A API de lote Snap To Roads envia lotes de até 100 consultas como uma única chamada para a API Snap To Roads. Essa API permite o processamento eficiente de várias consultas em uma solicitação, reduzindo a necessidade de chamadas individuais.

Enviar solicitação de lote síncrona

A API síncrona é recomendada para solicitações em lote leves. Quando o serviço recebe uma solicitação, ele responderá assim que os itens do lote forem calculados e não haverá possibilidade de recuperar os resultados posteriormente. A API síncrona retornará um erro de tempo limite (uma resposta 408) se a solicitação demorar mais de 60 segundos. O número de itens de lote é limitado a 100 para esta API.

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

Corpo POST para solicitação de lote

Para enviar o snap para estradas consultas, você usará uma solicitação de POST onde o corpo da solicitação conterá a matriz batchItems em json formato e o cabeçalho Content-Type será definido como application/json. Aqui está um corpo de solicitação de exemplo contendo 1 snap para consultas de estradas :

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

Um snap to roads objeto batchItem pode aceitar qualquer um dos suportados snap to roadsRequest body

O lote deve conter pelo menos 1 consulta.

Modelo de resposta em lote

A resposta em lote contém um componente summary que indica os totalRequests que faziam parte da solicitação de lote original e successfulRequests ou seja, consultas que foram executadas com êxito. A resposta em lote também inclui uma matriz batchItems que contém uma resposta para cada consulta na solicitação em lote. O batchItems conterá os resultados exatamente na mesma ordem em que as consultas originais foram enviadas na solicitação de lote. Cada item é de um dos seguintes tipos:

  • SnapToRoadsResponse - Se a consulta foi concluída com êxito.

  • Error - Se a consulta falhou. Neste caso, a resposta conterá um code e um message.

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

Parâmetros do URI

Name Em Necessário Tipo Description
endpoint
path True

string

api-version
query True

string

minLength: 1

A versão da API a utilizar para esta operação.

Cabeçalho do Pedido

Media Types: "application/geo+json"

Name Necessário Tipo Description
x-ms-client-id

string

Indica a conta destinada a ser utilizada com o modelo de segurança do Microsoft Entra ID. Este ID único para a conta Azure Maps pode ser obtido a partir da API da conta Azure Maps plano de gestão. Para mais informações sobre o uso da segurança Microsoft Entra ID em Azure Maps, consulte Gerir autenticação em Azure Maps.

Accept-Language

string

Idioma em que os resultados de roteamento devem ser retornados.

Para mais informações, consulte Suporte de localização em Azure Maps.

Corpo do Pedido

Media Types: "application/geo+json"

Name Tipo Description
batchItems

SnapToRoadsBatchRequestItem[]

A lista de consultas a processar.

Respostas

Name Tipo Description
200 OK

SnapToRoadsBatchResponse

O pedido foi bem-sucedido.

Other Status Codes

MapsErrorResponse

Uma resposta de erro inesperada.

Segurança

AadToken

Estes são os fluxos Microsoft Entra OAuth 2.0. Quando combinado com controlo Azure baseado em funções, pode ser usado para controlar o acesso a APIs REST Azure Maps. Os controlos de acesso baseados em papéis do Azure são usados para designar o acesso a uma ou mais contas ou subrecursos de recursos do Azure Maps. Qualquer utilizador, grupo ou principal de serviço pode receber acesso através de um papel incorporado ou de um papel personalizado composto por uma ou mais permissões para Azure Maps APIs REST.\n\nPara implementar cenários, recomendamos consultar conceitos autenticação. Em resumo, esta definição de segurança fornece uma solução para modelar aplicações(ões) através de objetos capazes de controlo de acesso em APIs e escopos específicos.\n\n#### Notas\n* Esta definição de segurança exige a utilização do cabeçalho x-ms-client-id para indicar a que Azure Maps recurso a aplicação está a pedir acesso. Isto pode ser adquirido da API de gestão Maps.\n* \nO Authorization URL é específico para a instância Azure cloud pública. As clouds soberanas têm URLs de Autorização e configurações de Microsoft Entra ID únicas. \n* \nO controlo de acesso Azure baseado em funções é configurado a partir do plano de gestão Azure via portal Azure, PowerShell, CLI, SDKs do Azure ou APIs REST.\n* \nUtilização do Azure Maps Web SDK permite a configuração de uma aplicação para múltiplos casos de uso.\n* Para mais informações sobre plataforma de identidades da Microsoft, consulte plataforma de identidades da Microsoft visão geral.

Tipo: oauth2
Fluxo: implicit
URL de Autorização: https://login.microsoftonline.com/common/oauth2/authorize

Âmbitos

Name Description
https://atlas.microsoft.com/.default

subscription-key

Esta é uma chave partilhada que é provisionada quando Cria uma conta Azure Maps no portal Azure ou usando PowerShell, CLI, SDKs do Azure ou API REST.\n\n Com esta chave, qualquer aplicação pode aceder a toda a API REST. Ou seja, esta chave pode ser usada como chave mestra na conta onde são emitidas.\n\n Para aplicações expostas publicamente, a nossa recomendação é usar a abordagem confidenciais de aplicações cliente para aceder às APIs REST Azure Maps para que a sua chave possa ser armazenada de forma segura.

Tipo: apiKey
Em: header

SAS Token

Este é um token de assinatura de acesso partilhado criado a partir da operação List SAS no recurso Azure Maps através do plano de gestão Azure via portal Azure, PowerShell, CLI, SDKs do Azure ou APIs REST.\n\n Com este token, qualquer aplicação está autorizada a aceder com Azure controlos de acesso baseados em funções e controlo minucioso da expiração, taxa e região(s) de utilização para o token em questão. Por outras palavras, o Token SAS pode ser usado para permitir que aplicações controlem o acesso de forma mais segura do que a chave partilhada.\n\n Para aplicações publicamente expostas, a nossa recomendação é configurar uma lista específica de origens permitidas no recurso da conta Map para limitar abusos de renderização e renovar regularmente o Token SAS.

Tipo: apiKey
Em: header

Exemplos

A Snap To Roads Batch request containing 1 query

Pedido de amostra

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

Resposta da amostra

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

Definições

Name Description
CommonErrorDetail

O detalhe do erro.

ErrorAdditionalInfo

O erro de gerenciamento de recursos informações adicionais.

FeaturesItemTypeEnum

Especifica o tipo de GeoJSON. O único tipo de objeto suportado é Feature. Para obter mais informações, consulte RFC 7946.

FeatureTypeEnum

Especifica o tipo de GeoJSON. O único tipo de objeto suportado é FeatureCollection. Para obter mais informações, consulte RFC 7946.

GeoJsonObjectType

Especifica o tipo de GeoJSON. Deve ser um dos nove tipos de objeto GeoJSON válidos - Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature e FeatureCollection.

GeoJsonPoint

Um tipo de geometria GeoJSON Point válido. Consulte RFC 7946 para obter detalhes.

InputSnapToRoadsFeaturesItem

Especifica o ajuste de entrada aos pontos de estrada. GeoJSON objeto de recurso e propriedades adicionais. Consulte RFC 7946 para obter detalhes.

MapsErrorDetail

O detalhe do erro.

MapsErrorResponse

Resposta comum ao erro para APIs do Azure Maps devolver detalhes de erro em operações falhadas.

MapsInnerError

Um objeto que contém informações mais específicas do que o objeto atual sobre o erro.

SnapToRoadFeaturesItem

Objeto de recurso GeoJSON que contém o objeto Geometry e propriedades adicionais da rota.

SnapToRoadsBatchRequestBody

A lista de consultas/solicitações de snap to roads para processar. A lista pode conter um máximo de 100 consultas e deve conter pelo menos 1 consulta.

SnapToRoadsBatchRequestItem

Objeto Batch Query

SnapToRoadsBatchResponse

Este objeto é retornado de uma chamada de serviço Snap To Roads Batch bem-sucedida.

SnapToRoadsBatchResponseItem

detalhes do erro

SnapToRoadsBatchResponseSummary

Resumo do pedido de lote

SnapToRoadsFeatureProperties

Ajuste às propriedades de Estradas.

SnapToRoadsTravelModeEnum

Especifica o perfil de roteamento para ajustar os pontos. Se não for especificado, o modo padrão é "condução", que otimiza os pontos ajustados para rotas de condução.

CommonErrorDetail

O detalhe do erro.

Name Tipo Description
additionalInfo

ErrorAdditionalInfo[]

O erro informações adicionais.

code

string

O código de erro.

details

CommonErrorDetail[]

Os detalhes do erro.

message

string

A mensagem de erro.

target

string

O destino do erro.

ErrorAdditionalInfo

O erro de gerenciamento de recursos informações adicionais.

Name Tipo Description
info

object

As informações adicionais.

type

string

O tipo de informação adicional.

FeaturesItemTypeEnum

Especifica o tipo de GeoJSON. O único tipo de objeto suportado é Feature. Para obter mais informações, consulte RFC 7946.

Valor Description
Feature

Especifica o tipo de objeto GeoJSON Feature.

FeatureTypeEnum

Especifica o tipo de GeoJSON. O único tipo de objeto suportado é FeatureCollection. Para obter mais informações, consulte RFC 7946.

Valor Description
FeatureCollection

Especifica o tipo de objeto GeoJSONFeatureCollection.

GeoJsonObjectType

Especifica o tipo de GeoJSON. Deve ser um dos nove tipos de objeto GeoJSON válidos - Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature e FeatureCollection.

Valor Description
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

GeoJSON Feature objeto.

FeatureCollection

GeoJSON FeatureCollection objeto.

GeoJsonPoint

Um tipo de geometria GeoJSON Point válido. Consulte RFC 7946 para obter detalhes.

Name Tipo Description
coordinates

number[] (double)

Um Position é uma matriz de números com dois ou mais elementos. Os dois primeiros elementos são longitude e latitude, precisamente nesta ordem. de Altitude/Elevação é um terceiro elemento opcional. Consulte RFC 7946 para obter detalhes.

type string:

Point

Especifica o tipo de GeoJSON. Deve ser um dos nove tipos de objeto GeoJSON válidos - Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature e FeatureCollection.

InputSnapToRoadsFeaturesItem

Especifica o ajuste de entrada aos pontos de estrada. GeoJSON objeto de recurso e propriedades adicionais. Consulte RFC 7946 para obter detalhes.

Name Tipo Description
geometry

GeoJsonPoint

Um tipo de geometria GeoJSON Point válido. Consulte RFC 7946 para obter detalhes.

properties

O objeto properties é necessário em um GeoJSON válido, mas pode estar vazio, já que os metadados não são usados para ajustar à estrada.

type

FeaturesItemTypeEnum

Especifica o tipo de GeoJSON. O único tipo de objeto suportado é Feature. Para obter mais informações, consulte RFC 7946.

MapsErrorDetail

O detalhe do erro.

Name Tipo Description
code

string

Um de um conjunto de códigos de erro definido pelo servidor.

details

MapsErrorDetail[]

Uma matriz de detalhes sobre erros específicos que levaram a esse erro relatado.

innererror

MapsInnerError

Um objeto que contém informações mais específicas do que o objeto atual sobre o erro.

message

string

Uma representação legível por humanos do erro.

target

string

O alvo do erro.

MapsErrorResponse

Resposta comum ao erro para APIs do Azure Maps devolver detalhes de erro em operações falhadas.

Name Tipo Description
error

MapsErrorDetail

O detalhe do erro.

MapsInnerError

Um objeto que contém informações mais específicas do que o objeto atual sobre o erro.

Name Tipo Description
code

string

O código de erro.

innererror

MapsInnerError

Um objeto que contém informações mais específicas do que o objeto atual sobre o erro.

SnapToRoadFeaturesItem

Objeto de recurso GeoJSON que contém o objeto Geometry e propriedades adicionais da rota.

Name Tipo Description
bbox

number[] (double)

Uma área retangular na Terra definida como um objeto de caixa delimitadora. Os lados dos retângulos são definidos por valores de latitude e longitude. Para obter mais informações, consulte RFC 7946, Seção 5.

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

geometry

GeoJsonPoint

Um tipo de geometria GeoJSON Point válido. Consulte RFC 7946 para obter detalhes.

properties

SnapToRoadsFeatureProperties

Ajuste às propriedades de Estradas.

type

FeaturesItemTypeEnum

Especifica o tipo de GeoJSON. O único tipo de objeto suportado é Feature. Para obter mais informações, consulte RFC 7946.

SnapToRoadsBatchRequestBody

A lista de consultas/solicitações de snap to roads para processar. A lista pode conter um máximo de 100 consultas e deve conter pelo menos 1 consulta.

Name Tipo Description
batchItems

SnapToRoadsBatchRequestItem[]

A lista de consultas a processar.

SnapToRoadsBatchRequestItem

Objeto Batch Query

Name Tipo Default value Description
features

InputSnapToRoadsFeaturesItem[]

Um conjunto de pontos para encaixar na rede rodoviária. Você pode ter um mínimo de 2 pontos e máximo de 5000 pontos e os dois pontos consecutivos devem estar dentro de 6 km um do outro e uma distância total da estrada de até 100 quilômetros. Consulte RFC 7946 para obter detalhes sobre o formato GeoJSON.

Note: A API não retornará um objeto de ponto na resposta para o ponto GPS que não pode ser ajustado a uma rede rodoviária.

includeSpeedLimit

boolean

False

Especifica se as informações de limite de velocidade para os pontos ajustados devem ser incluídas na resposta. A unidade está em quilômetros por hora.

interpolate

boolean

False

Especifica se os pontos adicionais devem ser retornados entre os pontos ajustados para concluir o caminho de rota completo que segue suavemente a geometria da estrada.

Os pontos interpolados terão isInterpolate:true na resposta que podem ser usados para identificar os pontos encaixados a partir de pontos interpolados.

optionalId

string

Id da solicitação que seria exibida no lote correspondente.

travelMode

SnapToRoadsTravelModeEnum

driving

Especifica o perfil de roteamento para ajustar os pontos. Se não for especificado, o modo padrão é "condução", que otimiza os pontos ajustados para rotas de condução.

type

FeatureTypeEnum

Especifica o tipo de GeoJSON. O único tipo de objeto suportado é FeatureCollection. Para obter mais informações, consulte RFC 7946.

SnapToRoadsBatchResponse

Este objeto é retornado de uma chamada de serviço Snap To Roads Batch bem-sucedida.

Name Tipo Description
batchItems

SnapToRoadsBatchResponseItem[]

Matriz que contém os resultados do lote.

summary

SnapToRoadsBatchResponseSummary

Resumo do pedido de lote

SnapToRoadsBatchResponseItem

detalhes do erro

Name Tipo Description
error

CommonErrorDetail

O detalhe do erro.

features

SnapToRoadFeaturesItem[]

GeoJSON objeto de recurso que contém o objeto Geometry e propriedades adicionais. Consulte RFC 7946, Seção 3.2 para obter detalhes.

optionalId

string

Id da solicitação que seria exibida no lote correspondente.

type

FeatureTypeEnum

Especifica o tipo de GeoJSON. O único tipo de objeto suportado é FeatureCollection. Para obter mais informações, consulte RFC 7946.

SnapToRoadsBatchResponseSummary

Resumo do pedido de lote

Name Tipo Description
successfulRequests

integer (int32)

Número de solicitações bem-sucedidas no lote

totalRequests

integer (int32)

Número total de solicitações no lote

SnapToRoadsFeatureProperties

Ajuste às propriedades de Estradas.

Name Tipo Description
inputIndex

integer (int64)

Identifique o índice correspondente na lista original de pontos para cada ponto ajustado. Apenas os pontos ajustados retornarão índices e podem ser usados para distingui-los dos pontos interpolados.

isInterpolated

boolean

Identifique se este é o ponto interpolado.

name

string

Nome da estrada à qual o ponto está encaixado.

speedLimitInKilometersPerHour

number (double)

Limite de velocidade em quilômetros por hora.

SnapToRoadsTravelModeEnum

Especifica o perfil de roteamento para ajustar os pontos. Se não for especificado, o modo padrão é "condução", que otimiza os pontos ajustados para rotas de condução.

Valor Description
driving

Os pontos são encaixados na estrada adequada para carros.

truck

Os pontos são encaixados na estrada adequada para caminhão.