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.
Important
Los puntos GPS deben estar a menos de 6 kilómetros entre sí.
Para obtener información sobre la disponibilidad de enrutamiento en países o regiones, consulte cobertura de enrutamiento de Azure Maps.
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 la API de Azure Maps. |
Encabezado de la solicitud
Media Types: "application/geo+json"
| Nombre | Requerido | Tipo | Description |
|---|---|---|---|
| x-ms-client-id |
string |
Indica la cuenta destinada a su uso con el modelo de seguridad de identificador de Microsoft Entra. Este identificador único para la cuenta de Azure Maps se puede obtener de la API de cuenta del plano de administración de Azure Maps. Para obtener más información sobre el uso de la seguridad de ID de Microsoft Entra en Azure Maps, consulte Administración de 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 compatibilidad con la localización de 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 |
Se ha producido un error inesperado. Media Types: "application/geo+json", "application/json" Encabezados x-ms-error-code: string |
Seguridad
AADToken
Estos son los flujos de Microsoft Entra OAuth 2.0. Cuando se empareja con acceso basado en rol de Azure control, se puede usar para controlar el acceso a las API REST de Azure Maps. Los controles de acceso basados en roles de Azure se usan para designar el acceso a una o varias cuentas de recursos o subrecursos de Azure Maps. Se puede conceder acceso a cualquier usuario, grupo o entidad de servicio a través de un rol integrado o de un rol personalizado compuesto por uno o varios permisos para las API REST de Azure Maps.
Para implementar escenarios, se recomienda ver los 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.
Note
- Esta definición de seguridad requiere el uso del encabezado para indicar a qué recurso de
x-ms-client-idAzure Maps solicita acceso la aplicación. Esto se puede adquirir desde la API de administración de Maps. - El
Authorization URLes específico de la instancia de nube pública de Azure. Las nubes soberanas tienen direcciones URL de autorización únicas y configuraciones de id. de Microsoft Entra. - El control de acceso basado en rol de Azure se configura desde el plano de administración de Azure a través de Azure Portal, PowerShell, la CLI, los SDK de Azure o las API REST.
- El uso de SDK web de Azure Maps permite la configuración basada en la configuración de una aplicación para varios 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
Se trata de una clave compartida que se aprovisiona al crear una recurso de Azure Maps a través del plano de administración de Azure a través de Azure Portal, PowerShell, CLI, SDK de Azure o API 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 las aplicaciones expuestas públicamente, nuestra recomendación es usar el acceso de servidor a servidor de las API REST de Azure Maps donde esta clave se puede almacenar de forma segura.
Tipo:
apiKey
En:
header
SAS Token
Se crea un token de firma de acceso compartido a partir de la operación List SAS en el recurso de Azure Maps a través del plano de administración de Azure a través de Azure Portal, PowerShell, CLI, SDK de Azure o API REST.
Con este token, cualquier aplicación tiene autorización para acceder a los controles de acceso basados en rol de Azure y el control específico a la expiración, la tasa y las regiones de uso para el token determinado. 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 de error común para las API de Azure Maps para devolver los detalles de error de las operaciones con errores. |
|
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, consulte 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, consulte 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 detalles.
| 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 |
Representación legible del error. |
| target |
string |
Destino del error. |
MapsErrorResponse
Respuesta de error común para las API de Azure Maps para devolver los detalles de error de las operaciones con errores.
| 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. |