Route - Post Snap To Roads
Snap to Roads API acepta datos de punto GPS, representados como coordenadas de longitud y latitud, y genera puntos que se alinean con las carreteras existentes en un mapa. Este proceso, conocido como "acoplamiento a carreteras", genera una serie de objetos que trazan un trazado siguiendo estrechamente la red de carreteras. Los datos resultantes incluyen nombres de carretera y sus respectivos límites de velocidad, pertinentes para los segmentos recorridos.
Además, snap to roads API ofrece una característica de interpolación, que refina los puntos GPS para crear una ruta más suave que se adhiere a la geometría de la carretera. Esta funcionalidad es especialmente beneficiosa para el seguimiento de recursos y mejorar la visualización de datos en las aplicaciones de asignación.
Importante
Los puntos GPS deben estar a menos de 6 kilómetros entre sí.
Para información sobre la disponibilidad de rutas en países/regiones, véase Azure Maps cobertura de enrutamiento.
POST https://atlas.microsoft.com/route/snapToRoads?api-version=2025-01-01
Parámetros de identificador URI
| Nombre | En | Requerido | Tipo | Description |
|---|---|---|---|---|
|
api-version
|
query | True |
string |
Número de versión de Azure Maps API. |
Encabezado de la solicitud
Media Types: "application/geo+json"
| Nombre | Requerido | Tipo | Description |
|---|---|---|---|
| x-ms-client-id |
string |
Indica la cuenta destinada a usarse con el modelo de seguridad Microsoft Entra ID. Este ID único para la cuenta de Azure Maps puede obtenerse desde la API de la cuenta Azure Maps plano de gestión. Para más información sobre el uso de la seguridad Microsoft Entra ID en Azure Maps, consulte Gestionar la autenticación en Azure Maps. |
|
| Accept-Language |
string |
Idioma en el que se deben devolver los resultados de enrutamiento. Para más información, consulte Soporte de localización en Azure Maps. |
Cuerpo de la solicitud
Media Types: "application/geo+json"
| Nombre | Requerido | Tipo | Description |
|---|---|---|---|
| features | True |
Un conjunto de puntos que se ajustarán a la red de carreteras. Puede tener un mínimo de 2 puntos y un máximo de 5000 puntos y los dos puntos consecutivos deben estar dentro de los 6 kilómetros entre sí y una distancia total por carretera de hasta 100 kilómetros. Consulte RFC 7946 para obtener detalles sobre el formato GeoJSON.
|
|
| type | True |
Especifica el tipo de |
|
| includeSpeedLimit |
boolean |
Especifica si se debe incluir información de límite de velocidad para los puntos acoplados en la respuesta. La unidad está en kilómetros por hora. |
|
| interpolate |
boolean |
Especifica si se devuelven puntos adicionales entre los puntos acoplados para completar la ruta completa que sigue suavemente la geometría de la carretera. Los puntos interpolados tendrán |
|
| travelMode |
Especifica el perfil de enrutamiento para ajustar los puntos. Si no se especifica, el modo predeterminado es "conducción", que optimiza los puntos acoplados para las rutas de conducción. |
Respuestas
| Nombre | Tipo | Description |
|---|---|---|
| 200 OK |
OK Media Types: "application/geo+json", "application/json" |
|
| Other Status Codes |
Error inesperado. Media Types: "application/geo+json", "application/json" Encabezados x-ms-error-code: string |
Seguridad
AADToken
Estos son los flujos Microsoft Entra OAuth 2.0. Cuando se combina con el control de acceso basado en roles Azure puede usarse para controlar el acceso a Azure Maps APIs REST. Los controles de acceso basados en roles de Azure se utilizan para designar el acceso a una o más cuentas o subrecursos de recursos de Azure Maps. Cualquier usuario, grupo o principal de servicio puede recibir acceso mediante un rol incorporado o un rol personalizado compuesto por uno o más permisos para las APIs REST de Azure Maps.
Para implementar escenarios, se recomienda ver conceptos de autenticación. En resumen, esta definición de seguridad proporciona una solución para modelar aplicaciones a través de objetos capaces de controlar el acceso en determinadas API y ámbitos.
Nota:
- Esta definición de seguridad requiere el uso del encabezado
x-ms-client-idpara indicar a qué Azure Maps recurso solicita acceso la aplicación. Esto se puede adquirir desde la API de administración de Maps. - El
Authorization URLes específico para la instancia Azure nube pública. Las nubes soberanas tienen URLs de Autorización y configuraciones de Microsoft Entra ID únicas. - El control de acceso basado en roles Azure se configura desde el plano de gestión Azure a través de Azure portal, PowerShell, CLI, Azure SDKs o APIs REST.
- El uso del Azure Maps Web SDK permite la configuración de una aplicación para múltiples casos de uso.
- Para obtener más información sobre la plataforma de identidad de Microsoft, consulte introducción a la plataforma de identidad de Microsoft.
Tipo:
oauth2
Flujo:
implicit
Dirección URL de autorización:
https://login.microsoftonline.com/common/oauth2/authorize
Ámbitos
| Nombre | Description |
|---|---|
| https://atlas.microsoft.com/.default | https://atlas.microsoft.com/.default |
subscription-key
Esta es una clave compartida que se provisiona al crear un recurso Azure Maps a través del plano de gestión de Azure mediante Azure portal, PowerShell, CLI, Azure SDKs o APIs REST.
Con esta clave, cualquier aplicación está autorizada para acceder a todas las API REST. En otras palabras, estos se pueden tratar actualmente como claves maestras para la cuenta para la que se emiten.
Para aplicaciones expuestas públicamente, nuestra recomendación es utilizar el acceso servidor a servidor de las APIs REST de Azure Maps, donde esta clave pueda almacenarse de forma segura.
Tipo:
apiKey
En:
header
SAS Token
Este token de firma de acceso compartido se crea a partir de la operación List SAS en el recurso Azure Maps a través del plano de gestión Azure mediante portal Azure, PowerShell, CLI, Azure SDKs o APIs REST.
Con este token, cualquier aplicación está autorizada para acceder mediante Azure a controles de acceso basados en roles y a un control minucioso de la expiración, tasa y región(es) de uso para el token en particular. Es decir, el token de SAS se puede usar para permitir que las aplicaciones controle el acceso de forma más segura que la clave compartida.
En el caso de las aplicaciones expuestas públicamente, nuestra recomendación es configurar una lista específica de orígenes permitidos en el recurso de cuenta de mapa de limitar el abuso de representación y renovar periódicamente el token de SAS.
Tipo:
apiKey
En:
header
Ejemplos
Successfully retrieve snap to roads points with additional parameters in the body
Solicitud de ejemplo
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"
}
Respuesta de muestra
{
"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
}
}
]
}
Definiciones
| Nombre | Description |
|---|---|
|
Features |
Especifica el tipo de |
|
Feature |
Especifica el tipo de |
|
Geo |
Un tipo de geometría |
|
Input |
Especifica el ajuste de entrada a los puntos de carretera.
|
|
Maps |
Detalle del error. |
|
Maps |
Respuesta común a errores para que las APIs de Azure Maps devolvan detalles de error por operaciones fallidas. |
|
Maps |
Objeto que contiene información más específica que el objeto actual sobre el error. |
|
Point |
El punto de origen pasado como un objeto Geometry válido
|
|
Snap |
Objeto de característica GeoJSON que contiene el objeto Geometry y propiedades adicionales de la ruta. |
|
Snap |
Ajustar a las propiedades De carreteras. |
|
Snap |
Este objeto es el cuerpo de la solicitud. |
|
Snap |
Este objeto se devuelve de una llamada correcta. |
|
Snap |
Especifica el perfil de enrutamiento para ajustar los puntos. Si no se especifica, el modo predeterminado es "conducción", que optimiza los puntos acoplados para las rutas de conducción. |
FeaturesItemTypeEnum
Especifica el tipo de GeoJSON. El único tipo de objeto admitido es Feature. Para obtener más información, vea RFC 7946.
| Valor | Description |
|---|---|
| Feature |
Especifica el tipo de objeto feature de |
FeatureTypeEnum
Especifica el tipo de GeoJSON. El único tipo de objeto admitido es FeatureCollection. Para obtener más información, vea RFC 7946.
| Valor | Description |
|---|---|
| FeatureCollection |
Especifica el tipo de objeto |
GeoJsonPoint
Un tipo de geometría GeoJSON Point válido. Consulte RFC 7946 para obtener más información.
InputSnapToRoadsFeaturesItem
Especifica el ajuste de entrada a los puntos de carretera.
GeoJSON objeto de característica y propiedades adicionales. Consulte RFC 7946 para obtener más información.
| Nombre | Tipo | Description |
|---|---|---|
| geometry | GeoJsonPoint: |
Un tipo de geometría |
| properties |
object |
El objeto properties es necesario en un GeoJSON válido, pero puede estar vacío, ya que los metadatos no se usan para ajustar a carretera. |
| type |
Especifica el tipo de |
MapsErrorDetail
Detalle del error.
| Nombre | Tipo | Description |
|---|---|---|
| code |
string |
Uno de un conjunto definido por el servidor de códigos de error. |
| details |
Matriz de detalles sobre errores específicos que llevaron a este error notificado. |
|
| innererror |
Objeto que contiene información más específica que el objeto actual sobre el error. |
|
| message |
string |
Una representación en lenguaje natural del error. |
| target |
string |
Destino del error. |
MapsErrorResponse
Respuesta común a errores para que las APIs de Azure Maps devolvan detalles de error por operaciones fallidas.
| Nombre | Tipo | Description |
|---|---|---|
| error |
Detalle del error. |
MapsInnerError
Objeto que contiene información más específica que el objeto actual sobre el error.
| Nombre | Tipo | Description |
|---|---|---|
| code |
string |
Código de error. |
| innererror |
Objeto que contiene información más específica que el objeto actual sobre el error. |
PointGeometry
El punto de origen pasado como un objeto Geometry válido GeoJSON, desde el que se debe calcular el polígono de intervalo. Consulte RFC 7946 para obtener más información.
Note: la API ajustará el punto de origen solicitado a la red de carreteras más cercana y la usará para el cálculo del intervalo. Se devolverá como punto de center en la respuesta.
| Nombre | Tipo | Description |
|---|---|---|
| coordinates |
number[] (double) |
Un |
| type |
string:
Point |
Especifica el tipo de geometría del objeto geometry |
SnapToRoadFeaturesItem
Objeto de característica GeoJSON que contiene el objeto Geometry y propiedades adicionales de la ruta.
| Nombre | Tipo | Description |
|---|---|---|
| bbox |
number[] (double) |
Un área rectangular en la tierra definida como un objeto de rectángulo delimitador. Los lados de los rectángulos se definen mediante valores de latitud y longitud. Para obtener más información, vea RFC 7946, Sección 5. Ejemplo: "bbox": [-10.0, -10.0, 10.0, 10.0] |
| geometry | GeoJsonPoint: |
Un tipo de geometría |
| properties |
Ajustar a las propiedades De carreteras. |
|
| type |
Especifica el tipo de |
SnapToRoadsFeatureProperties
Ajustar a las propiedades De carreteras.
| Nombre | Tipo | Description |
|---|---|---|
| inputIndex |
integer (int64) |
Identifique el índice correspondiente en la lista original de puntos para cada punto acoplado. Solo los puntos acoplados devolverán índices y se pueden usar para distinguirlos de los puntos interpolados. |
| isInterpolated |
boolean |
Identifique si se trata del punto interpolado. |
| name |
string |
Nombre de la carretera a la que se ajusta el punto. |
| speedLimitInKilometersPerHour |
number (double) |
Límite de velocidad en kilómetros por hora. |
SnapToRoadsRequest
Este objeto es el cuerpo de la solicitud.
| Nombre | Tipo | Valor predeterminado | Description |
|---|---|---|---|
| features |
Un conjunto de puntos que se ajustarán a la red de carreteras. Puede tener un mínimo de 2 puntos y un máximo de 5000 puntos y los dos puntos consecutivos deben estar dentro de los 6 kilómetros entre sí y una distancia total por carretera de hasta 100 kilómetros. Consulte RFC 7946 para obtener detalles sobre el formato GeoJSON.
|
||
| includeSpeedLimit |
boolean |
False |
Especifica si se debe incluir información de límite de velocidad para los puntos acoplados en la respuesta. La unidad está en kilómetros por hora. |
| interpolate |
boolean |
False |
Especifica si se devuelven puntos adicionales entre los puntos acoplados para completar la ruta completa que sigue suavemente la geometría de la carretera. Los puntos interpolados tendrán |
| travelMode | driving |
Especifica el perfil de enrutamiento para ajustar los puntos. Si no se especifica, el modo predeterminado es "conducción", que optimiza los puntos acoplados para las rutas de conducción. |
|
| type |
Especifica el tipo de |
SnapToRoadsResponse
Este objeto se devuelve de una llamada correcta.
| Nombre | Tipo | Description |
|---|---|---|
| features |
|
|
| type |
Especifica el tipo de |
SnapToRoadsTravelModeEnum
Especifica el perfil de enrutamiento para ajustar los puntos. Si no se especifica, el modo predeterminado es "conducción", que optimiza los puntos acoplados para las rutas de conducción.
| Valor | Description |
|---|---|
| driving |
Los puntos se acoplan a la carretera adecuada para los coches. |
| truck |
Los puntos se ajustan a la carretera adecuada para camiones. |