Route - Post Snap To Roads
A API snap to roads aceita dados de ponto GPS, representados como coordenadas de longitude e latitude, e gera pontos que se alinham com as estradas existentes em um mapa. Esse processo, conhecido como "encaixe em estradas", produz uma série de objetos que rastreiam um caminho de perto seguindo a rede rodoviária. Os dados resultantes incluem nomes de estrada e seus respectivos 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 acompanhamento de ativos e para melhorar a visualização de dados em aplicativos de mapeamento.
Important
Os pontos GPS devem estar a 6 quilômetros um do outro.
Para obter informações sobre a disponibilidade de roteamento em países/regiões, consulte cobertura de roteamento do Azure Mapas.
POST https://atlas.microsoft.com/route/snapToRoads?api-version=2025-01-01
Parâmetros de URI
| Nome | Em | Obrigatório | Tipo | Description |
|---|---|---|---|---|
|
api-version
|
query | True |
string |
Número de versão da API do Azure Mapas. |
Cabeçalho da solicitação
Media Types: "application/geo+json"
| Nome | Obrigatório | Tipo | Description |
|---|---|---|---|
| x-ms-client-id |
string |
Indica a conta destinada ao uso com o modelo de segurança de ID do Microsoft Entra. Essa ID exclusiva para a conta do Azure Mapas pode ser obtida na API da conta do plano de gerenciamento do Azure Mapas. Para obter mais informações sobre como usar a segurança de ID do Microsoft Entra no Azure Mapas, consulte Gerenciar autenticação no Azure Mapas. |
|
| Accept-Language |
string |
Idioma no qual os resultados do roteamento devem ser retornados. Para obter mais informações, consulte Suporte à Localização no Azure Mapas. |
Corpo da solicitação
Media Types: "application/geo+json"
| Nome | Obrigatório | Tipo | Description |
|---|---|---|---|
| features | True |
Um conjunto de pontos para ajustar à rede rodoviária. Você pode ter um mínimo de 2 pontos e um máximo de 5000 pontos e os dois pontos consecutivos devem estar a 6 quilômetros 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.
|
|
| type | True |
Especifica o tipo de |
|
| includeSpeedLimit |
boolean |
Especifica se as informações de limite de velocidade devem ser incluídas para os pontos ajustados na resposta. A unidade está em quilômetros por hora. |
|
| interpolate |
boolean |
Especifica se deseja retornar pontos adicionais entre os pontos ajustados para concluir o caminho de rota completo que segue suavemente a geometria da estrada. Os pontos interpolados terão |
|
| travelMode |
Especifica o perfil de roteamento para ajustar os pontos. Se não for especificado, o modo padrão será "condução", o que otimiza os pontos ajustados para rotas de condução. |
Respostas
| Nome | Tipo | Description |
|---|---|---|
| 200 OK |
OK Media Types: "application/geo+json", "application/json" |
|
| Other Status Codes |
Ocorreu um erro inesperado. Media Types: "application/geo+json", "application/json" Cabeçalhos x-ms-error-code: string |
Segurança
AADToken
Estas são as Fluxos de do Microsoft Entra OAuth 2.0. Quando emparelhado com acesso baseado em função do Azure controle, ele pode ser usado para controlar o acesso às APIs REST do Azure Mapas. Os controles de acesso baseados em função do Azure são usados para designar o acesso a uma ou mais sub-recursos ou conta de recurso do Azure Mapas. 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 Mapas.
Para implementar cenários, recomendamos exibir conceitos de autenticação. Em resumo, essa definição de segurança fornece uma solução para modelar aplicativos por meio de objetos capazes de controlar o acesso em APIs e escopos específicos.
Note
- Essa definição de segurança requer o uso do cabeçalho
x-ms-client-idpara indicar a qual recurso do Azure Mapas o aplicativo está solicitando acesso. Isso pode ser adquirido da API de gerenciamento do Mapas. - O
Authorization URLé específico para a instância de nuvem pública do Azure. Nuvens soberanas têm URLs de autorização exclusivas e configurações de ID do Microsoft Entra. - O controle de acesso baseado em função do Azure é configurado do plano de gerenciamento do Azure por meio do portal do Azure, do PowerShell, da CLI, dos SDKs do Azure ou das APIs REST.
- O uso do SDK da Web do do Azure Mapas 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
Flow:
implicit
URL de Autorização:
https://login.microsoftonline.com/common/oauth2/authorize
Escopos
| Nome | Description |
|---|---|
| https://atlas.microsoft.com/.default | https://atlas.microsoft.com/.default |
subscription-key
Essa é uma chave compartilhada provisionada ao criar um recurso do Azure Mapas por meio do plano de gerenciamento do Azure por meio do portal do Azure, do PowerShell, da CLI, dos SDKs do Azure ou das APIs REST.
Com essa chave, qualquer aplicativo está autorizado a acessar todas as APIs REST. Em outras palavras, elas podem atualmente ser tratadas como chaves mestras para a conta para a qual são emitidas.
Para aplicativos expostos publicamente, nossa recomendação é usar o acesso de servidor a servidor de APIs REST do Azure Mapas, em que essa chave pode ser armazenada com segurança.
Tipo:
apiKey
Em:
header
SAS Token
Esse é um token de assinatura de acesso compartilhado criado a partir da operação LISTA SAS no recurso do Azure Mapas por meio do plano de gerenciamento do Azure por meio do portal do Azure, do PowerShell, da CLI, dos SDKs do Azure ou das APIs REST.
Com esse token, qualquer aplicativo está autorizado a acessar com controles de acesso baseados em função do Azure e controle refinado para expiração, taxa e região(s) 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 protegida 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 de mapa de
Tipo:
apiKey
Em:
header
Exemplos
Successfully retrieve snap to roads points with additional parameters in the body
Solicitação de exemplo
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"
}
Resposta de exemplo
{
"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
}
}
]
}
Definições
| Nome | Description |
|---|---|
|
Features |
Especifica o tipo de |
|
Feature |
Especifica o tipo de |
|
Geo |
Um tipo de geometria de |
|
Input |
Especifica o snap de entrada para pontos de estradas.
|
|
Maps |
O detalhe do erro. |
|
Maps |
Resposta de erro comum para AS APIs do Azure Mapas retornarem detalhes de erro para operações com falha. |
|
Maps |
Um objeto que contém informações mais específicas do que o objeto atual sobre o erro. |
|
Point |
O ponto de origem passado como um objeto de geometria
|
|
Snap |
Objeto de recurso GeoJSON que contém o objeto Geometry e propriedades adicionais da rota. |
|
Snap |
Ajuste às propriedades do Roads. |
|
Snap |
Esse objeto é o corpo da solicitação. |
|
Snap |
Esse objeto é retornado de uma chamada bem-sucedida. |
|
Snap |
Especifica o perfil de roteamento para ajustar os pontos. Se não for especificado, o modo padrão será "condução", o que otimiza os pontos ajustados para rotas de condução. |
FeaturesItemTypeEnum
Especifica o tipo de GeoJSON. O único tipo de objeto com suporte é o Recurso. Para obter mais informações, consulte RFC 7946.
| Valor | Description |
|---|---|
| Feature |
Especifica o tipo de objeto |
FeatureTypeEnum
Especifica o tipo de GeoJSON. O único tipo de objeto com suporte é FeatureCollection. Para obter mais informações, consulte RFC 7946.
| Valor | Description |
|---|---|
| FeatureCollection |
Especifica o tipo de objeto |
GeoJsonPoint
Um tipo de geometria de GeoJSON Point válido. Consulte RFC 7946 para obter detalhes.
InputSnapToRoadsFeaturesItem
Especifica o snap de entrada para pontos de estradas.
GeoJSON objeto de recurso e propriedades adicionais. Consulte RFC 7946 para obter detalhes.
| Nome | Tipo | Description |
|---|---|---|
| geometry | GeoJsonPoint: |
Um tipo de geometria de |
| properties |
object |
O objeto properties é necessário em um GeoJSON válido, mas pode estar vazio, pois os metadados não são usados para ajustar à estrada. |
| type |
Especifica o tipo de |
MapsErrorDetail
O detalhe do erro.
| Nome | Tipo | Description |
|---|---|---|
| code |
string |
Um de um conjunto definido pelo servidor de códigos de erro. |
| details |
Uma matriz de detalhes sobre erros específicos que levaram a esse erro relatado. |
|
| innererror |
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 pelo ser humano do erro. |
| target |
string |
O destino do erro. |
MapsErrorResponse
Resposta de erro comum para AS APIs do Azure Mapas retornarem detalhes de erro para operações com falha.
| Nome | Tipo | Description |
|---|---|---|
| error |
O detalhe do erro. |
MapsInnerError
Um objeto que contém informações mais específicas do que o objeto atual sobre o erro.
| Nome | Tipo | Description |
|---|---|---|
| code |
string |
O código de erro. |
| innererror |
Um objeto que contém informações mais específicas do que o objeto atual sobre o erro. |
PointGeometry
O ponto de origem passado como um objeto de geometria GeoJSON válido, do qual o polígono de intervalo deve ser calculado. Consulte RFC 7946 para obter detalhes.
Note: a API ajustará o ponto de origem solicitado à rede rodoviária mais próxima e usará isso para cálculo de intervalo. Ele será retornado como um ponto center na resposta.
| Nome | Tipo | Description |
|---|---|---|
| coordinates |
number[] (double) |
Um |
| type |
string:
Point |
Especifica o tipo de geometria para o objeto |
SnapToRoadFeaturesItem
Objeto de recurso GeoJSON que contém o objeto Geometry e propriedades adicionais da rota.
| Nome | 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 de |
| properties |
Ajuste às propriedades do Roads. |
|
| type |
Especifica o tipo de |
SnapToRoadsFeatureProperties
Ajuste às propriedades do Roads.
| Nome | Tipo | Description |
|---|---|---|
| inputIndex |
integer (int64) |
Identifique o índice correspondente na lista original de pontos para cada ponto ajustado. Somente os pontos ajustados retornarão índices e poderão ser usados para distingui-los dos pontos interpolados. |
| isInterpolated |
boolean |
Identifique se esse é o ponto interpolado. |
| name |
string |
Nome da estrada para a qual o ponto é encaixado. |
| speedLimitInKilometersPerHour |
number (double) |
Limite de velocidade em quilômetros por hora. |
SnapToRoadsRequest
Esse objeto é o corpo da solicitação.
| Nome | Tipo | Valor padrão | Description |
|---|---|---|---|
| features |
Um conjunto de pontos para ajustar à rede rodoviária. Você pode ter um mínimo de 2 pontos e um máximo de 5000 pontos e os dois pontos consecutivos devem estar a 6 quilômetros 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.
|
||
| includeSpeedLimit |
boolean |
False |
Especifica se as informações de limite de velocidade devem ser incluídas para os pontos ajustados na resposta. A unidade está em quilômetros por hora. |
| interpolate |
boolean |
False |
Especifica se deseja retornar pontos adicionais entre os pontos ajustados para concluir o caminho de rota completo que segue suavemente a geometria da estrada. Os pontos interpolados terão |
| travelMode | driving |
Especifica o perfil de roteamento para ajustar os pontos. Se não for especificado, o modo padrão será "condução", o que otimiza os pontos ajustados para rotas de condução. |
|
| type |
Especifica o tipo de |
SnapToRoadsResponse
Esse objeto é retornado de uma chamada bem-sucedida.
| Nome | Tipo | Description |
|---|---|---|
| features |
|
|
| type |
Especifica o tipo de |
SnapToRoadsTravelModeEnum
Especifica o perfil de roteamento para ajustar os pontos. Se não for especificado, o modo padrão será "condução", 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. |