Route - Post Snap To Roads

A API Snap to Roads aceita dados de pontos GPS, representados como coordenadas de longitude e latitude, e gera pontos que se alinham com as estradas existentes em um mapa. Este processo, conhecido como "encaixar em estradas", produz uma série de objetos que traçam um caminho seguindo de perto a rede rodoviária. Os dados resultantes incluem nomes de estradas e seus respetivos limites de velocidade, pertinentes aos segmentos percorridos.

Além disso, a API Snap to Roads oferece um recurso de interpolação, que refina os pontos GPS para criar uma rota mais suave que adere à geometria da estrada. Essa funcionalidade é especialmente benéfica para o rastreamento de ativos e para melhorar a visualização de dados em aplicativos de mapeamento.

Importante

Os pontos GPS devem estar a menos de 6 km uns dos outros.

Para informações sobre a disponibilidade de roteamento em países/regiões, veja Azure Maps cobertura de roteamento.

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

Parâmetros do URI

Name Em Necessário Tipo Description
endpoint
path True

string (uri)

O nome de host do serviço Azure Maps. Usa https://atlas.microsoft.com para a Azure cloud pública. Para direcionar uma geografia Azure Maps específica ou uma nuvem soberana, veja Azure Maps âmbito geográfico.

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 Necessário Tipo Description
features True

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.

type True

FeatureTypeEnum

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

includeSpeedLimit

boolean

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

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.

travelMode

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.

Respostas

Name Tipo Description
200 OK

SnapToRoadsResponse

O pedido foi bem-sucedido.

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

Other Status Codes

MapsErrorResponse

Uma resposta de erro inesperada.

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

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 usuário, grupo ou entidade de serviço pode receber acesso por meio de uma função interna ou uma função personalizada composta por uma ou mais permissões para APIs REST do Azure Maps.

Para implementar cenários, recomendamos a visualização conceitos de autenticação. Em resumo, essa definição de segurança fornece uma solução para modelar aplicativos(s) por meio de objetos capazes de controle de acesso em APIs e escopos específicos.

Note

  • Essa definição de segurança requer o uso do cabeçalho x-ms-client-id para indicar a qual recurso do Azure Maps o aplicativo está solicitando acesso. Isso pode ser adquirido na API de gerenciamento do Maps.
  • O Authorization URL é específico para a instância de nuvem pública do Azure. As clouds soberanas têm URLs de Autorização e configurações de Microsoft Entra ID únicas.
  • O controle de acesso baseado em função do Azure é configurado a partir do plano de gerenciamento do Azure por meio do portal do Azure, PowerShell, CLI, SDKs do Azure ou APIs REST.
  • O uso do SDK da Web do Azure Maps permite a configuração baseada em configuração de um aplicativo para vários casos de uso.
  • Para obter mais informações sobre a plataforma de identidade da Microsoft, consulte visão geral da plataforma de identidade da Microsoft.

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 compartilhada que é provisionada quando você Criar uma conta do Azure Maps no portal do Azure ou usando PowerShell, CLI, SDKs do Azure ou API REST.

Com essa chave, qualquer aplicativo pode acessar todas as APIs REST. Em outras palavras, essa chave pode ser usada como uma chave mestra na conta em que eles são emitidos.

Para aplicativos expostos publicamente, nossa recomendação é usar a abordagem de de aplicativos cliente confidenciais para acessar APIs REST do Azure Maps para que sua chave possa ser armazenada com segurança.

Tipo: apiKey
Em: header

SAS Token

Este é um token de assinatura de acesso compartilhado criado a partir da operação Listar SAS no de recursos do Azure Maps por meio do plano de gerenciamento do Azure por meio do portal do Azure, PowerShell, CLI, SDKs do Azure ou APIs REST.

Com esse token, qualquer aplicativo é autorizado a acessar com controles de acesso baseados em função do Azure e controle de grão fino para a expiração, taxa e região(ões) de uso para o token específico. Em outras palavras, o Token SAS pode ser usado para permitir que os aplicativos controlem o acesso de forma mais segura do que a chave compartilhada.

Para aplicativos expostos publicamente, nossa recomendação é configurar uma lista específica de origens permitidas no de recursos da conta do Map para limitar o abuso de renderização e renovar regularmente o Token SAS.

Tipo: apiKey
Em: header

Exemplos

Successfully retrieve snap to roads points with additional parameters in the body

Pedido de amostra

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

Resposta da amostra

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

Definições

Name Description
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.

SnapToRoadsFeatureProperties

Ajuste às propriedades de Estradas.

SnapToRoadsRequest

Este objeto é o corpo da solicitação.

SnapToRoadsResponse

Este objeto é retornado de uma chamada bem-sucedida.

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.

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.

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.

SnapToRoadsRequest

Este objeto é o corpo da solicitação.

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.

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.

SnapToRoadsResponse

Este objeto é retornado de uma chamada bem-sucedida.

Name Tipo Description
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.

type

FeatureTypeEnum

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

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.