Route - Post Snap To Roads Batch
API привязки к дорогам отправляет пакетные пакеты до 100 запросов в качестве одного вызова API Snap To Roads. Этот API позволяет эффективно обрабатывать несколько запросов в одном запросе, уменьшая потребность в отдельных вызовах.
Отправка синхронного пакетного запроса
Синхронный API рекомендуется для упрощенных пакетных запросов. Когда служба получает запрос, он ответит сразу после вычисления пакетных элементов и не сможет получить результаты позже. Синхронный API возвращает ошибку времени ожидания (ответ 408), если запрос занимает более 60 секунд. Количество пакетных элементов ограничено 100 для этого API.
POST https://atlas.microsoft.com/route/snapToRoads:batch?api-version=2025-01-01
Текст POST для пакетного запроса
Для отправки привязки к дорогам запросов будет использоваться запрос POST
, в котором текст запроса будет содержать массив batchItems
в формате json
, а заголовок Content-Type
будет иметь значение application/json
. Ниже приведен пример текста запроса, содержащего 2 привязки к дорогам запросам:
{
"batchItems": [
{
"optionalId": "bbc9c0f6-ab52-49d8-a788-a658fa654c94",
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-122.336691,
47.59085
]
},
"properties": {
}
}
],
"includeSpeedLimit": true,
"travelMode": "driving"
},
{
"optionalId": "300af787-589b-4088-accd-56828542e293",
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-122.336023,
47.601616
]
},
"properties": {
}
}
],
"includeSpeedLimit": true,
"travelMode": "driving"
}
]
}
Привязка к дорогам объект batchItem может принять любой из поддерживаемых привязки к дорогамтекст запроса
Пакет должен содержать по крайней мере 1 запроса.
Модель пакетного ответа
Пакетный ответ содержит компонент summary
, указывающий totalRequests
, которые были частью исходного пакетного запроса и successfulRequests
то есть запросы, которые были выполнены успешно. Пакетный ответ также содержит массив batchItems
, содержащий ответ для каждого запроса и каждого запроса в пакетном запросе.
batchItems
будет содержать результаты в том же порядке, что и исходные запросы, отправленные в пакетном запросе. Каждый элемент имеет один из следующих типов:
SnapToRoadsResponse
. Если запрос выполнен успешно.Error
— если запрос завершился ошибкой. Ответ будет содержатьcode
иmessage
в этом случае.
POST https://atlas.microsoft.com/route/snapToRoads:batch?api-version=2025-01-01
Параметры URI
Имя | В | Обязательно | Тип | Описание |
---|---|---|---|---|
api-version
|
query | True |
string |
Номер версии API Azure Maps. |
Заголовок запроса
Media Types: "application/geo+json"
Имя | Обязательно | Тип | Описание |
---|---|---|---|
x-ms-client-id |
string |
Указывает, какая учетная запись предназначена для использования в сочетании с моделью безопасности идентификатора Microsoft Entra. Он представляет уникальный идентификатор учетной записи Azure Maps и может быть получен из API учетной записи уровня управления Azure Maps. Сведения о том, как использовать безопасность идентификатора Microsoft Entra в Azure Maps, см. в следующих статьях |
|
Accept-Language |
string |
Язык, в котором должны быть возвращены результаты маршрутизации. Дополнительные сведения см. в поддержке локализации вAzure Maps. |
Текст запроса
Media Types: "application/geo+json"
Имя | Тип | Описание |
---|---|---|
batchItems |
Список запросов для обработки. |
Ответы
Имя | Тип | Описание |
---|---|---|
200 OK |
Пакетный запрос успешно обработан. Текст ответа содержит все результаты пакета. |
|
Other Status Codes |
Произошла непредвиденная ошибка. Заголовки x-ms-error-code: string |
Безопасность
AADToken
Это потоки Microsoft Entra OAuth 2.0. При паре с доступом на основе ролей Azure его можно использовать для управления доступом к REST API Azure Maps. Управление доступом на основе ролей Azure используется для назначения доступа к одной или нескольким учетным записям ресурсов Azure Maps или вложенным ресурсам. Доступ к любому пользователю, группе или субъекту-службе можно предоставить через встроенную роль или пользовательскую роль, состоящую из одного или нескольких разрешений для REST API Azure Maps.
Для реализации сценариев рекомендуется просматривать концепции проверки подлинности . В целом, это определение безопасности предоставляет решение для моделирования приложений через объекты, способные управлять доступом в определенных API и областях.
Примечание.
- Для этого определения безопасности требуется использовать заголовок
x-ms-client-id
, чтобы указать, к какой ресурсу Azure Maps приложение запрашивает доступ. Это можно получить изAPI управления картами. -
Authorization URL
зависит от экземпляра общедоступного облака Azure. В национальных облаках есть уникальные URL-адреса авторизации и конфигурации идентификатора Microsoft Entra. - Управление доступом на основе ролей Azure настраивается на основе плоскости управления Azure с помощью портала Azure, PowerShell, CLI, пакетов SDK Azure или REST API.
- Использование веб-пакета SDK для Azure Maps
позволяет настроить приложение на основе конфигурации для нескольких вариантов использования. - Дополнительные сведения о платформе удостоверений Майкрософт см. в обзоре платформы удостоверений Майкрософт.
Тип:
oauth2
Flow:
implicit
URL-адрес авторизации:
https://login.microsoftonline.com/common/oauth2/authorize
Области
Имя | Описание |
---|---|
https://atlas.microsoft.com/.default | https://atlas.microsoft.com/.default |
subscription-key
Это общий ключ, подготовленный при создании ресурса Azure Maps через плоскость управления Azure с помощью портала Azure, PowerShell, CLI, пакетов SDK Azure или REST API.
С помощью этого ключа любой приложению разрешен доступ ко всем REST API. Другими словами, они в настоящее время могут рассматриваться как главные ключи учетной записи, для которой они выданы.
Для общедоступных приложений мы рекомендуем использовать доступ к REST API Azure Maps на сервере, где этот ключ можно безопасно хранить.
Тип:
apiKey
В:
header
SAS Token
Это маркер подписанного URL-адреса создается из операции SAS списка на ресурсе Azure Maps через плоскость управления Azure с помощью портала Azure, PowerShell, CLI, пакетов SDK Azure или REST API.
С помощью этого маркера любой приложению разрешен доступ с помощью управления доступом на основе ролей Azure и точного управления сроком действия, скоростью и регионами, используемыми для конкретного маркера. Другими словами, маркер SAS можно использовать для разрешения приложений управлять доступом более защищенным способом, чем общий ключ.
Для общедоступных приложений мы рекомендуем настроить определенный список разрешенных источников в ресурсе учетной записи карты карты, чтобы ограничить злоупотребление отрисовкой и регулярно обновлять маркер SAS.
Тип:
apiKey
В:
header
Примеры
A Snap To Roads Batch request containing 1 query
Образец запроса
POST https://atlas.microsoft.com/route/snapToRoads:batch?api-version=2025-01-01
{
"batchItems": [
{
"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"
},
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"coordinates": [
-122.133269,
47.6470965
],
"type": "Point"
},
"properties": {}
},
{
"type": "Feature",
"geometry": {
"coordinates": [
-74.00487,
40.71396
],
"type": "Point"
},
"properties": {}
}
],
"travelMode": "driving"
}
]
}
Пример ответа
{
"summary": {
"successfulRequests": 1,
"totalRequests": 2
},
"batchItems": [
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"coordinates": [
-122.336769,
47.590885
],
"type": "Point"
},
"properties": {
"inputIndex": 0,
"name": "WA-99 N",
"speedLimitInKilometersPerHour": 80
}
},
{
"type": "Feature",
"geometry": {
"coordinates": [
-122.336008,
47.601609
],
"type": "Point"
},
"properties": {
"inputIndex": 1,
"name": "WA-99 N",
"speedLimitInKilometersPerHour": 80
}
}
]
},
{
"error": {
"code": "BadRequest",
"message": "The distance between two consecutive points (-122.133269,47.6470965) (-74.00487,40.71396) must be within 2.5 kilometers of each other."
}
}
]
}
Определения
Имя | Описание |
---|---|
Error |
Дополнительные сведения об ошибке управления ресурсами. |
Error |
Сведения об ошибке. |
Features |
Указывает тип |
Feature |
Указывает тип |
Geo |
Допустимый тип геометрии |
Input |
Задает привязку входных данных к точкам дорог.
|
Maps |
Сведения об ошибке. |
Maps |
Распространенный ответ об ошибке для API Azure Maps для возврата сведений об ошибке для неудачных операций. |
Maps |
Объект, содержащий более конкретные сведения, чем текущий объект об ошибке. |
Point |
Точка источника, передаваемая в качестве допустимого объекта
|
Snap |
Объект функции GeoJSON, содержащий объект Geometry и дополнительные свойства маршрута. |
Snap |
Список привязки к запросам и запросам для обработки дорог. Список может содержать не более 100 запросов и должен содержать не менее 1 запроса. |
Snap |
Объект Batch Query |
Snap |
Этот объект возвращается из успешного вызова пакетной службы Snap To Roads. |
Snap |
Элемент ответа пакетной службы |
Snap |
Привязка к свойствам "Дороги". |
Snap |
Задает профиль маршрутизации для привязки точек. Если не указано, по умолчанию используется режим вождения, который оптимизирует оснастки для маршрутов вождения. |
Summary |
Сводка для пакетного запроса |
ErrorAdditionalInfo
Дополнительные сведения об ошибке управления ресурсами.
Имя | Тип | Описание |
---|---|---|
info |
object |
Дополнительные сведения. |
type |
string |
Дополнительный тип сведений. |
ErrorDetail
Сведения об ошибке.
Имя | Тип | Описание |
---|---|---|
additionalInfo |
Дополнительные сведения об ошибке. |
|
code |
string |
Код ошибки. |
details |
Сведения об ошибке. |
|
message |
string |
Сообщение об ошибке. |
target |
string |
Целевой объект ошибки. |
FeaturesItemTypeEnum
Указывает тип GeoJSON
. Единственным поддерживаемым типом объекта является Feature. Дополнительные сведения см. в RFC 7946.
Значение | Описание |
---|---|
Feature |
Указывает тип объекта компонента |
FeatureTypeEnum
Указывает тип GeoJSON
. Единственным поддерживаемым типом объекта является FeatureCollection
. Дополнительные сведения см. в RFC 7946.
Значение | Описание |
---|---|
FeatureCollection |
Указывает тип объекта |
GeoJsonPoint
Допустимый тип геометрии GeoJSON Point
. Дополнительные сведения см. в RFC 7946.
Имя | Тип | Описание |
---|---|---|
coordinates |
number[] (double) |
|
type |
string:
Point |
Указывает тип |
InputSnapToRoadsFeaturesItem
Задает привязку входных данных к точкам дорог.
GeoJSON
объект компонента и дополнительные свойства. Дополнительные сведения см. в RFC 7946.
Имя | Тип | Описание |
---|---|---|
geometry | GeoJsonPoint: |
Допустимый тип геометрии |
properties |
object |
Объект свойств требуется в допустимом GeoJSON, но он может быть пустым, так как метаданные не используются для привязки к дороге. |
type |
Указывает тип |
MapsErrorDetail
Сведения об ошибке.
Имя | Тип | Описание |
---|---|---|
code |
string |
Один из определяемых сервером кодов ошибок. |
details |
Массив сведений об определенных ошибках, которые привели к этой сообщаемой ошибке. |
|
innererror |
Объект, содержащий более конкретные сведения, чем текущий объект об ошибке. |
|
message |
string |
Читаемое пользователем представление ошибки. |
target |
string |
Целевой объект ошибки. |
MapsErrorResponse
Распространенный ответ об ошибке для API Azure Maps для возврата сведений об ошибке для неудачных операций.
Имя | Тип | Описание |
---|---|---|
error |
Сведения об ошибке. |
MapsInnerError
Объект, содержащий более конкретные сведения, чем текущий объект об ошибке.
Имя | Тип | Описание |
---|---|---|
code |
string |
Код ошибки. |
innererror |
Объект, содержащий более конкретные сведения, чем текущий объект об ошибке. |
PointGeometry
Точка источника, передаваемая в качестве допустимого объекта GeoJSON
Geometry, из которого должен вычисляться многоугольник диапазона. Дополнительные сведения см. в RFC 7946.
Note
: API привязывает запрошенную точку источника к ближайшей дорожной сети и будет использовать ее для вычисления диапазона. Он будет возвращен в качестве center
точки в ответе.
Имя | Тип | Описание |
---|---|---|
coordinates |
number[] (double) |
|
type |
string:
Point |
Задает тип геометрии для объекта |
SnapToRoadFeaturesItem
Объект функции GeoJSON, содержащий объект Geometry и дополнительные свойства маршрута.
Имя | Тип | Описание |
---|---|---|
bbox |
number[] (double) |
Прямоугольная область на земле, определенная как ограничивающий прямоугольник. Стороны прямоугольников определяются значениями широты и долготы. Дополнительные сведения см. в разделе RFC 7946, раздел 5. Пример: "bbox": [-10.0, -10.0, 10.0, 10.0] |
geometry | GeoJsonPoint: |
Допустимый тип геометрии |
properties |
Привязка к свойствам "Дороги". |
|
type |
Указывает тип |
SnapToRoadsBatchRequestBody
Список привязки к запросам и запросам для обработки дорог. Список может содержать не более 100 запросов и должен содержать не менее 1 запроса.
Имя | Тип | Описание |
---|---|---|
batchItems |
Список запросов для обработки. |
SnapToRoadsBatchRequestItem
Объект Batch Query
Имя | Тип | Default value | Описание |
---|---|---|---|
features |
Набор точек для привязки к дорожной сети. Вы можете иметь не более 100 точек, и два последовательных пункта должны находиться в пределах 2,5 километра друг от друга. Дополнительные сведения о формате GeoJSON см. в
|
||
includeSpeedLimit |
boolean |
False |
Указывает, следует ли включать сведения об ограничении скорости для оснастки в ответе. Единица находится в километрах в час.
|
interpolate |
boolean |
False |
Указывает, следует ли возвращать дополнительные точки между прикрепленными точками, чтобы завершить полный путь маршрута, который плавно следует геометрии дороги. Интерполированные точки будут иметь |
optionalId |
string |
Идентификатор запроса, который будет отображаться в соответствующем пакетном сайте. |
|
travelMode | driving |
Задает профиль маршрутизации для привязки точек. Если не указано, по умолчанию используется режим вождения, который оптимизирует оснастки для маршрутов вождения. |
|
type |
Указывает тип |
SnapToRoadsBatchResponse
Этот объект возвращается из успешного вызова пакетной службы Snap To Roads.
Имя | Тип | Описание |
---|---|---|
batchItems |
Массив, содержащий результаты пакетной службы. |
|
summary |
Сводка для пакетного запроса |
SnapToRoadsBatchResponseItem
Элемент ответа пакетной службы
Имя | Тип | Описание |
---|---|---|
error |
Сведения об ошибке. |
|
features |
|
|
optionalId |
string |
Идентификатор запроса, который будет отображаться в соответствующем пакетном сайте. |
type |
Указывает тип |
SnapToRoadsFeatureProperties
Привязка к свойствам "Дороги".
Имя | Тип | Описание |
---|---|---|
inputIndex |
integer (int64) |
Определите соответствующий индекс в исходном списке точек для каждой оснастки. Только оснастки будут возвращать индексы и использовать их для отличия от интерполированных точек. |
isInterpolated |
boolean |
Определите, является ли это интерполированной точкой. |
name |
string |
Имя дороги, к какой точке привязана точка. |
speedLimitInKilometersPerHour |
number (double) |
Ограничение скорости в километрах в час. |
SnapToRoadsTravelModeEnum
Задает профиль маршрутизации для привязки точек. Если не указано, по умолчанию используется режим вождения, который оптимизирует оснастки для маршрутов вождения.
Значение | Описание |
---|---|
driving |
Точки прикрепляются к дороге, подходящей для автомобилей. |
walking |
Точки прикрепляются к пешеходному маршруту, включая использование тротуаров. |
Summary
Сводка для пакетного запроса
Имя | Тип | Описание |
---|---|---|
successfulRequests |
integer (int32) |
Количество успешных запросов в пакете |
totalRequests |
integer (int32) |
Общее количество запросов в пакете |