Compartir a través de


Route - Post Snap To Roads Batch

La API de Snap To Roads Batch envía lotes de hasta 100 consultas como una sola llamada a la API de Snap To Roads. Esta API permite un procesamiento eficaz de varias consultas en una solicitud, lo que reduce la necesidad de llamadas individuales.

Enviar solicitud por lotes sincrónica

Se recomienda la API sincrónica para solicitudes por lotes ligeras. Cuando el servicio recibe una solicitud, responderá tan pronto como se calculen los elementos por lotes y no habrá posibilidad de recuperar los resultados más adelante. La API sincrónica devolverá un error de tiempo de espera (una respuesta 408) si la solicitud tarda más de 60 segundos. El número de elementos por lotes se limita a 100 para esta API.

POST https://atlas.microsoft.com/route/snapToRoads:batch?api-version=2025-01-01

Cuerpo POST para solicitud por lotes

Para enviar el ajuste de a las rutas consultas, usará una solicitud de POST donde el cuerpo de la solicitud contendrá la matriz de batchItems en formato json y el encabezado Content-Type se establecerá en application/json. Este es un cuerpo de solicitud de ejemplo que contiene 1 acoplamiento a consultas de carreteras :

{
  "batchItems": [
    {
      "optionalId": "bbc9c0f6-ab52-49d8-a788-a658fa654c94",
      "type": "FeatureCollection",
      "features": [
        {
          "type": "Feature",
          "geometry": {
            "type": "Point",
            "coordinates": [
              -122.336691,
              47.59085
            ]
          },
          "properties": {
          }
        },
        {
          "type": "Feature",
          "geometry": {
            "type": "Point",
            "coordinates": [
              -122.336023,
              47.601616
            ]
          },
          "properties": {
          }
        }
      ],
      "includeSpeedLimit": true,
      "travelMode": "driving"
    }
  ]
}

Un acoplamiento a las carreteras objeto batchItem puede aceptar cualquiera de las compatibles que se ajusten a las carreterascuerpo de solicitud

El lote debe contener al menos 1 consulta de.

Modelo de respuesta por lotes

La respuesta por lotes contiene un componente de summary que indica el totalRequests que formaron parte de la solicitud por lotes original y successfulRequests es decir, las consultas que se ejecutaron correctamente. La respuesta por lotes también incluye una matriz de batchItems que contiene una respuesta para cada consulta y cada consulta de la solicitud por lotes. El batchItems contendrá los resultados en el mismo orden en que se enviaron las consultas originales en la solicitud por lotes. Cada elemento es de uno de los siguientes tipos:

  • SnapToRoadsResponse: si la consulta se completó correctamente.

  • Error: si se produjo un error en la consulta. La respuesta contendrá un code y un message en este caso.

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

Parámetros de identificador URI

Nombre En Requerido Tipo Description
endpoint
path True

string

api-version
query True

string

minLength: 1

La versión de API que se va a utilizar para esta operación.

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 Tipo Description
batchItems

SnapToRoadsBatchRequestItem[]

Lista de consultas que se van a procesar.

Respuestas

Nombre Tipo Description
200 OK

SnapToRoadsBatchResponse

La solicitud se ha realizado correctamente.

Other Status Codes

MapsErrorResponse

Una respuesta de error inesperada.

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 Azure Maps APIs REST.\n\nPara implementar escenarios, recomendamos consultar conceptos autenticación. En resumen, esta definición de seguridad proporciona una solución para modelar aplicaciones(es) mediante objetos capaces de control de acceso en APIs y ámbitos específicos.\n\n#### Notas\n* Esta definición de seguridad requiere el uso del encabezado x-ms-client-id para indicar a qué recurso Azure Maps solicita acceso la aplicación. Esto puede obtenerse de la API de gestión Maps.\n* \nEl Authorization URL es específico para la instancia Azure nube pública. Las nubes soberanas tienen URLs de Autorización y configuraciones de Microsoft Entra ID únicas. \n* \nEl control de acceso basado en roles Azure se configura desde el plano de gestión Azure a través de Azure portal, PowerShell, CLI, SDK de Azure o APIs REST.\n* \nUso del Azure Maps Web SDK permite la configuración de una aplicación para múltiples casos de uso.\n* Para más información sobre Plataforma de identidad de Microsoft, véase Plataforma de identidad de Microsoft visión general.

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

subscription-key

Esta es una clave compartida que se provisiona cuando Crea una cuenta Azure Maps en el portal Azure o usando PowerShell, CLI, SDK de Azure o REST API.\n\n Con esta clave, cualquier aplicación puede acceder a toda la API REST. En otras palabras, esta clave puede usarse como una llave maestra en la cuenta en la que se emiten.\n\n Para aplicaciones expuestas públicamente, nuestra recomendación es utilizar el enfoque confidenciales para acceder a Azure Maps APIs REST y así almacenar tu clave 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 de Azure mediante Azure portal, PowerShell, CLI, SDK de Azure o APIs REST.\n\n Con este token, cualquier aplicación está autorizada para acceder con Azure controles de acceso basados en roles y control detallado de la expiración, tasa y región(es) de uso para el token en particular. En otras palabras, el Token SAS puede usarse para permitir que las aplicaciones controlen el acceso de forma más segura que la clave compartida.\n\n Para aplicaciones expuestas públicamente, nuestra recomendación es configurar una lista específica de orígenes permitidos en el recurso de la cuenta Map para limitar el abuso de renderizado y renovar regularmente el Token SAS.

Tipo: apiKey
En: header

Ejemplos

A Snap To Roads Batch request containing 1 query

Solicitud de ejemplo

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

{
  "batchItems": [
    {
      "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"
    },
    {
      "type": "FeatureCollection",
      "features": [
        {
          "type": "Feature",
          "geometry": {
            "type": "Point",
            "coordinates": [
              -122.133269,
              47.6470965
            ]
          },
          "properties": {}
        },
        {
          "type": "Feature",
          "geometry": {
            "type": "Point",
            "coordinates": [
              -74.00487,
              40.71396
            ]
          },
          "properties": {}
        }
      ],
      "travelMode": "driving"
    }
  ]
}

Respuesta de muestra

{
  "batchItems": [
    {
      "type": "FeatureCollection",
      "features": [
        {
          "type": "Feature",
          "geometry": {
            "type": "Point",
            "coordinates": [
              -122.336773,
              47.590876
            ]
          },
          "properties": {
            "name": "State Rte-99 N",
            "inputIndex": 0,
            "isInterpolated": false,
            "speedLimitInKilometersPerHour": 80
          }
        },
        {
          "type": "Feature",
          "geometry": {
            "type": "Point",
            "coordinates": [
              -122.336008,
              47.601606
            ]
          },
          "properties": {
            "name": "State Rte-99 N",
            "inputIndex": 1,
            "isInterpolated": false,
            "speedLimitInKilometersPerHour": 80
          }
        }
      ]
    },
    {
      "error": {
        "code": "BadRequest",
        "message": "The distance between two consecutive points (-122.133269,47.6470965) (-74.00487,40.71396) must be within 6 kilometers of each other."
      }
    }
  ],
  "summary": {
    "successfulRequests": 1,
    "totalRequests": 2
  }
}

Definiciones

Nombre Description
CommonErrorDetail

Detalle del error.

ErrorAdditionalInfo

Información adicional sobre el error de administración de recursos.

FeaturesItemTypeEnum

Especifica el tipo de GeoJSON. El único tipo de objeto admitido es Feature. Para obtener más información, vea RFC 7946.

FeatureTypeEnum

Especifica el tipo de GeoJSON. El único tipo de objeto admitido es FeatureCollection. Para obtener más información, vea RFC 7946.

GeoJsonObjectType

Especifica el tipo de GeoJSON. Debe ser uno de los nueve tipos de objeto GeoJSON válidos: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature y FeatureCollection.

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.

MapsErrorDetail

Detalle del error.

MapsErrorResponse

Respuesta común a errores para que las APIs de Azure Maps devolvan detalles de error por operaciones fallidas.

MapsInnerError

Objeto que contiene información más específica que el objeto actual sobre el error.

SnapToRoadFeaturesItem

Objeto de característica GeoJSON que contiene el objeto Geometry y propiedades adicionales de la ruta.

SnapToRoadsBatchRequestBody

La lista de ajuste a las consultas o solicitudes de carretera que se van a procesar. La lista puede contener un máximo de 100 consultas y debe contener al menos 1 consulta.

SnapToRoadsBatchRequestItem

Batch Query (objeto)

SnapToRoadsBatchResponse

Este objeto se devuelve de una llamada correcta al servicio Snap To Roads Batch.

SnapToRoadsBatchResponseItem

detalles del error

SnapToRoadsBatchResponseSummary

Resumen de la solicitud por lotes

SnapToRoadsFeatureProperties

Ajustar a las propiedades De carreteras.

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.

CommonErrorDetail

Detalle del error.

Nombre Tipo Description
additionalInfo

ErrorAdditionalInfo[]

Información adicional del error.

code

string

Código de error.

details

CommonErrorDetail[]

Detalles del error.

message

string

El mensaje de error.

target

string

Destino del error.

ErrorAdditionalInfo

Información adicional sobre el error de administración de recursos.

Nombre Tipo Description
info

object

Información adicional.

type

string

Tipo de información adicional.

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 GeoJSON.

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 GeoJSONFeatureCollection.

GeoJsonObjectType

Especifica el tipo de GeoJSON. Debe ser uno de los nueve tipos de objeto GeoJSON válidos: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature y FeatureCollection.

Valor Description
Point

GeoJSON Point geometría.

MultiPoint

GeoJSON MultiPoint geometría.

LineString

GeoJSON LineString geometría.

MultiLineString

GeoJSON MultiLineString geometría.

Polygon

GeoJSON Polygon geometría.

MultiPolygon

GeoJSON MultiPolygon geometría.

GeometryCollection

GeoJSON GeometryCollection geometría.

Feature

Objeto GeoJSON Feature.

FeatureCollection

Objeto GeoJSON FeatureCollection.

GeoJsonPoint

Un tipo de geometría GeoJSON Point válido. Consulte RFC 7946 para obtener más información.

Nombre Tipo Description
coordinates

number[] (double)

Un Position es una matriz de números con dos o más elementos. Los dos primeros elementos son longitud y latitud, precisamente en ese orden. altitud/elevación es un tercer elemento opcional. Consulte RFC 7946 para obtener más información.

type string:

Point

Especifica el tipo de GeoJSON. Debe ser uno de los nueve tipos de objeto GeoJSON válidos: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature y FeatureCollection.

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 GeoJSON Point válido. Consulte RFC 7946 para obtener más información.

properties

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

FeaturesItemTypeEnum

Especifica el tipo de GeoJSON. El único tipo de objeto admitido es Feature. Para obtener más información, vea RFC 7946.

MapsErrorDetail

Detalle del error.

Nombre Tipo Description
code

string

Uno de un conjunto definido por el servidor de códigos de error.

details

MapsErrorDetail[]

Matriz de detalles sobre errores específicos que llevaron a este error notificado.

innererror

MapsInnerError

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

MapsErrorDetail

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

MapsInnerError

Objeto que contiene información más específica que el objeto actual sobre el error.

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 GeoJSON Point válido. Consulte RFC 7946 para obtener más información.

properties

SnapToRoadsFeatureProperties

Ajustar a las propiedades De carreteras.

type

FeaturesItemTypeEnum

Especifica el tipo de GeoJSON. El único tipo de objeto admitido es Feature. Para obtener más información, vea RFC 7946.

SnapToRoadsBatchRequestBody

La lista de ajuste a las consultas o solicitudes de carretera que se van a procesar. La lista puede contener un máximo de 100 consultas y debe contener al menos 1 consulta.

Nombre Tipo Description
batchItems

SnapToRoadsBatchRequestItem[]

Lista de consultas que se van a procesar.

SnapToRoadsBatchRequestItem

Batch Query (objeto)

Nombre Tipo Valor predeterminado Description
features

InputSnapToRoadsFeaturesItem[]

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.

Note: la API no devolverá un objeto de punto en la respuesta del punto GPS que no se puede ajustar a una red de carreteras.

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 isInterpolate:true en la respuesta que se puede usar para identificar los puntos acoplados de los puntos interpolados.

optionalId

string

Identificador de la solicitud que se mostraría en batchItem correspondiente.

travelMode

SnapToRoadsTravelModeEnum

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

FeatureTypeEnum

Especifica el tipo de GeoJSON. El único tipo de objeto admitido es FeatureCollection. Para obtener más información, vea RFC 7946.

SnapToRoadsBatchResponse

Este objeto se devuelve de una llamada correcta al servicio Snap To Roads Batch.

Nombre Tipo Description
batchItems

SnapToRoadsBatchResponseItem[]

Matriz que contiene los resultados del lote.

summary

SnapToRoadsBatchResponseSummary

Resumen de la solicitud por lotes

SnapToRoadsBatchResponseItem

detalles del error

Nombre Tipo Description
error

CommonErrorDetail

Detalle del error.

features

SnapToRoadFeaturesItem[]

GeoJSON objeto de característica que contiene el objeto Geometry y propiedades adicionales. Consulte RFC 7946, sección 3.2 para obtener más información.

optionalId

string

Identificador de la solicitud que se mostraría en batchItem correspondiente.

type

FeatureTypeEnum

Especifica el tipo de GeoJSON. El único tipo de objeto admitido es FeatureCollection. Para obtener más información, vea RFC 7946.

SnapToRoadsBatchResponseSummary

Resumen de la solicitud por lotes

Nombre Tipo Description
successfulRequests

integer (int32)

Número de solicitudes correctas en el lote

totalRequests

integer (int32)

Número total de solicitudes en el lote

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.

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.