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 |
|
|
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 |
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.
|
|
| type | True |
Especifica o tipo de |
|
| 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 |
|
| travelMode |
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 |
O pedido foi bem-sucedido. Media Types: "application/geo+json", "application/json" |
|
| Other Status Codes |
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 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
Successfully retrieve snap to roads points with additional parameters in the body
Pedido de amostra
POST {endpoint}/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 |
|---|---|
|
Features |
Especifica o tipo de |
|
Feature |
Especifica o tipo de |
|
Geo |
Especifica o tipo de |
|
Geo |
Um tipo de geometria |
|
Input |
Especifica o ajuste de entrada aos pontos de estrada.
|
|
Maps |
O detalhe do erro. |
|
Maps |
Resposta comum ao erro para APIs do Azure Maps devolver detalhes de erro em operações falhadas. |
|
Maps |
Um objeto que contém informações mais específicas do que o objeto atual sobre o erro. |
|
Snap |
Objeto de recurso GeoJSON que contém o objeto Geometry e propriedades adicionais da rota. |
|
Snap |
Ajuste às propriedades de Estradas. |
|
Snap |
Este objeto é o corpo da solicitação. |
|
Snap |
Este 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 é "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 |
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 |
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 |
|
| MultiPoint |
|
| LineString |
|
| MultiLineString |
|
| Polygon |
|
| MultiPolygon |
|
| GeometryCollection |
|
| Feature |
|
| 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.
| Name | Tipo | Description |
|---|---|---|
| geometry |
Um tipo de geometria |
|
| 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 |
Especifica o tipo de |
MapsErrorDetail
O detalhe do erro.
| Name | Tipo | Description |
|---|---|---|
| code |
string |
Um de um conjunto de códigos de erro definido pelo servidor. |
| 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 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 |
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 |
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 |
Um tipo de geometria |
|
| properties |
Ajuste às propriedades de Estradas. |
|
| type |
Especifica o tipo de |
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 |
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.
|
||
| 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 |
| travelMode | 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 |
Especifica o tipo de |
SnapToRoadsResponse
Este objeto é retornado de uma chamada bem-sucedida.
| Name | 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 é "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. |