Руководство по переносу веб-службы из Bing Карты

Службы Azure и Карты Bing предоставляют доступ к пространственным API через веб-службы REST. Интерфейсы API для этих платформ выполняют аналогичные функции, но используют разные соглашения об именовании и объекты ответов. В этом руководстве показано, как:

  • прямое и обратное геокодирование;
  • Поиск достопримечательностей
  • Вычисление маршрутов и направлений
  • Получение изображения карты
  • Вычисление матрицы расстояний
  • получение сведений о часовом поясе.

В приведенной ниже таблице приведены API службы Azure Maps, которые выполняют функции, аналогичные перечисленным API службы "Карты Bing".

Интерфейсы API службы "Карты Bing" API-интерфейсы службы Azure Maps
Автозаполнение Найти
Маршруты (в том числе для грузовика) Route — Get Route Directions (Маршрут — получение направлений маршрута)
Матрица расстояний Route — Post Route Matrix Preview (Маршрут — предварительная версия запроса Post матрицы маршрута)
Снимки — статическая карта Получение статического изображения карты
Вычисление изохрон Route — Get Route Range (Маршрут — получение диапазона маршрута)
Локальная аналитика Поиск + по диапазону маршрутов
Локальный поиск Найти
Распознавание расположения (точки интереса) Найти
Расположения (геокодирование и обратное геокодирование) Найти
Привязка к дороге Маршруты после маршрута
Службы пространственных данных (SDS) Поиск + маршрута и другие службы Azure
Часовой пояс Часовой пояс
Дорожные происшествия Получение сведений о ДТП

Приведенные ниже API службы в настоящее время недоступны в Azure Maps.

  • Оптимизированные планы маршрутов — запланировано. API маршрутов Azure Maps поддерживает оптимизацию маршрута коммивояжера для одного автомобиля.
  • Метаданные снимков — в основном используются для получения URL-адресов фрагментов в Картах Bing. В Azure Maps имеется изолированная служба для прямого доступа к фрагментам карт.

Azure Карты также имеет следующие веб-службы REST:

  • Azure Maps Creator — создание настраиваемого частного цифрового двойника зданий и пространств.
  • Пространственные операции — разгрузка сложных пространственных вычислений и операций, таких как геозонирование, в службу.
  • Получение плитки карты — плитка "Доступ" и плитки изображений из Azure Карты как растровые и векторные плитки.
  • Пакет маршрутов после маршрута — позволяет выполнять до 1000 запросов на маршруты в одном пакете за период времени. Маршруты вычисляются параллельно на сервере для ускорения обработки.
  • Дорожное движение — доступ к данным дорожного движения в реальном времени в виде растровых и векторных фрагментов.
  • API геолокации — получение расположения IP-адреса.
  • Службы погоды — получение доступа к данным о погоде в режиме реального времени и прогнозирования.

Обязательно ознакомьтесь со следующими рекомендациями:

Необходимые компоненты

Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.

Примечание.

Дополнительные сведения о проверке подлинности в Azure Карты см. в статье "Управление проверкой подлинности в Azure Карты".

Геокодирование адресов

Геокодирование — это процесс преобразования адреса (например "1 Microsoft way, Redmond, WA") в координату (например, долгота: -122.1298, широта: 47,64005). Координаты затем часто используются, чтобы разместить вешку на карте или центрировать карту.

Служба Azure Maps предоставляет несколько методов геокодирования адресов:

  • Получить адрес поиска: геокодирование адресов в свободной форме используется для указания одной строки адреса (например "1 Microsoft way, Redmond, WA") и немедленной обработки запроса. Мы рекомендуем использовать эту службу, если нужно быстро выполнить геокодирование отдельных адресов.
  • Получение адреса поиска структурировано: структурированное геокодирование адресов используется для указания частей одного адреса, таких как имя улицы, город, страна или регион, а также почтовый индекс и немедленно обработать запрос. Мы рекомендуем использовать эту службу, если необходимо быстро выполнить геокодирование отдельных адресов, а данные адреса уже проанализированы и разделены на отдельные части.
  • Пакетная служба поиска. Используйте геокодирование адресов пакетной службы для создания запроса, содержащего до 10 000 адресов и их обработки в течение определенного периода времени. Все адреса закодированы параллельно на сервере и после завершения полного результированного набора можно скачать. Мы рекомендуем использовать эту службу, чтобы выполнить геокодирование больших наборов данных.
  • Get Search Fuzzy: API нечеткого поиска объединяет геокодирование адресов с точкой интереса. Он принимает строку в свободной форме, которая может быть адресом, местом, ориентиром, точкой интереса или категорией точки интереса, и немедленно обрабатывает запрос. Мы рекомендуем использовать этот API-интерфейс для приложений, в которых пользователь может искать адреса или точки интереса в одном текстовом поле.
  • Post Search Fuzzy Batch: используйте нечеткий пакетный поиск для создания запроса, содержащего до 10 000 адресов, мест, ориентиров или точки интересов и их обработки в течение определенного периода времени. Все данные обрабатываются параллельно на сервере и после завершения полного результированного набора можно скачать.

Приведенные ниже таблицы содержит параметры API Карт Bing и сопоставимые параметры API в Azure Maps для геокодирования структурированных адресов и адресов в свободной форме.

Расположение по адресу (структурированный адрес)

Параметр API Карт Bing Сопоставимый параметр API Azure Maps
addressLine streetNumber, streetName или crossStreet
adminDistrict countrySubdivision
countryRegion country и countryCode.
locality municipality или municipalitySubdivision
postalCode postalCode
maxResults (maxRes) limit
includeNeighborhood (inclnb) Недоступно — всегда возвращается службой Azure Maps, если доступно.
include (incl) Недоступно — Azure Maps всегда возвращает код страны в формате ISO2.
key subscription-key— Дополнительные сведения см. в статье "Проверка подлинности с помощью Azure Карты".
culture (c) language— Дополнительные сведения см. в статье о поддержке локализации в Azure Карты.
userRegion (ur) view— Дополнительные сведения см. в статье Azure Карты поддерживаемых представлений.

Azure Карты также поддерживает:

  • countrySecondarySubdivision — округ, районы;
  • countryTertiarySubdivision - Именованные районы, районы, кантоны, общины
  • ofs — вывод страниц с результатами в сочетании с параметром maxResults.

Расположение по запросу (строка адреса в свободной форме)

Параметр API Карт Bing Сопоставимый параметр API Azure Maps
query query
maxResults (maxRes) limit
includeNeighborhood (inclnb) Недоступно — всегда возвращается службой Azure Maps, если доступно.
include (incl) Недоступно — Azure Maps всегда возвращает код страны в формате ISO2.
key subscription-key— Дополнительные сведения см. в статье "Проверка подлинности с помощью Azure Карты".
culture (c) language— Дополнительные сведения см. в статье о поддержке локализации в Azure Карты.
userRegion (ur) view— Дополнительные сведения см. в статье Azure Карты поддерживаемых представлений.

Azure Карты также поддерживает:

  • typeahead — указывает, интерпретируется ли запрос как частичные входные данные, и поиск вводит прогнозный режим (автозаполнение или автозаполнение).
  • countrySet — разделенный запятыми список кодов стран ISO2, в которых необходимо ограничить поиск.
  • lat/lon, topLeft/btmRight, radius — задает расположение пользователя и область, чтобы результаты лучше соответствовали его окружению.
  • ofs — вывод страниц с результатами в сочетании с параметром maxResults.

Дополнительные сведения об использовании службы поиска см. в статье "Поиск расположения" с помощью Карты служба Azure и рекомендаций по работе с Azure Карты служба .

Обратное геокодирование координат (поиск расположения по точке)

Обратная геокодирование — это процесс преобразования географических координат (например, долготы: -122.1298, широта: 47,64005) в свой приблизительный адрес (например "1 Microsoft way, Redmond, WA").

Azure Maps предоставляет несколько методов обратного геокодирования:

  • Получение обратного адреса поиска: укажите одну географическую координату, чтобы получить его приблизительный адрес и немедленно обработать запрос.
  • Получите обратный перекрестный адрес поиска: укажите одну географическую координату, чтобы получить рядом информацию о перекрестной улице (например, 1-й и основной) и немедленно обработать запрос.
  • Обратный пакет для адреса поиска: создайте запрос, содержащий до 10 000 координат и обработайте их в течение определенного периода времени. Все данные обрабатываются параллельно на сервере и после завершения полного результированного набора можно скачать.

Приведенная ниже таблица содержит параметры API Карт Bing и сопоставимые параметры API в Azure Maps.

Параметр API Карт Bing Сопоставимый параметр API Azure Maps
point query
includeEntityTypes entityType — см. таблицу сравнения типов сущностей ниже.
includeNeighborhood (inclnb) Недоступно — всегда возвращается службой Azure Maps, если доступно.
include (incl) Недоступно — Azure Maps всегда возвращает код страны в формате ISO2.
key subscription-key— Дополнительные сведения см. в статье "Проверка подлинности с помощью Azure Карты".
culture (c) language— Дополнительные сведения см. в статье о поддержке локализации в Azure Карты.
userRegion (ur) view— Дополнительные сведения см. в статье Azure Карты поддерживаемых представлений.

Дополнительные сведения о поиске в Azure Карты см. в рекомендациях по Карты служба Azure.

API обратного геокодирования Azure Карты имеет функции, недоступные в Карты Bing, которые могут быть полезны для интеграции при миграции приложения:

  • функция для получения сведений об ограничении скорости;
  • Получение информации об использовании дорог, локальной дороге, артериальной, ограниченном доступе, пандусе и т. д.
  • функция для определения стороны улицы заданных координат.

Таблица сравнения типов сущностей

Следующая таблица содержит перекрестные ссылки на значения типа сущности Карт Bing и эквивалентные имена свойств в Azure Maps.

Тип сущности Карт Bing Сопоставимый тип сущности Azure Maps Description
Address Адрес
Neighborhood Neighbourhood Окружение.
PopulatedPlace Municipality или MunicipalitySubdivision Город, город или пригород либо мегаполис.
Postcode1 PostalCodeArea Почтовый код или почтовый индекс.
AdminDivision1 CountrySubdivision Область или край.
AdminDivision2 CountrySecondarySubdivison Округ или районы.
CountryRegion Country Имя страны
CountryTertiarySubdivision Окрестности, кантоны, коммуны.

Получение предлагаемых расположений (автозаполнение)

Некоторые из API поиска Azure Maps поддерживают режим прогнозирования, который можно использовать для автозаполнения. API поиска нечетких соответствий Azure Maps больше всего похож на API автозаполнения Карт Bing. Следующие API также поддерживают прогнозный режим, добавьте &typeahead=true в запрос:

  • Получение адреса поиска: геокодирование адресов бесплатной формы, используемое для указания одной строки адреса (например "1 Microsoft way, Redmond, WA", ) и немедленной обработки запроса. Мы рекомендуем использовать эту службу, если нужно быстро выполнить геокодирование отдельных адресов.
  • Get Search Fuzzy: API нечеткого поиска объединяет геокодирование адресов с точкой интереса. Он принимает строку в свободной форме, которая может быть адресом, местом, ориентиром, точкой интереса или категорией точки интереса, и немедленно обрабатывает запрос. Мы рекомендуем использовать этот API-интерфейс для приложений, в которых пользователь может искать адреса или точки интереса в одном текстовом поле.
  • Получение POI поиска: поиск точки интереса (POI) используется для поиска точек интересов по имени. Например, "starbucks".
  • Получить категорию POI поиска: поиск по категории "Точка интереса" (POI) используется для поиска точек интересов по категориям. Например, "ресторан".

Вычисление маршрутов и направлений

С помощью Azure Maps можно вычислить маршруты и направления. Azure Карты имеет множество таких же функций, как служба маршрутизации Bing Карты, например:

  • функция вычисления времени прибытия и отправления;
  • функция вычисления маршрутов дорожного движения в реальном времени на основе прогнозирования;
  • различные режимы транспорта, вождения, прогулки, грузовик
  • оптимизация порядка пунктов маршрута (задача коммивояжера).

Примечание.

Azure Maps требует, чтобы все пункты маршрута были в виде координат. Сначала необходимо выполнить геокодирование адресов.

Служба маршрутизации Azure Maps предоставляет следующие API для вычисления маршрутов:

  • Получите маршруты: вычислите маршрут и немедленно обработает запрос. Этот API поддерживает оба GET и POST запросы. POST при указании большого количества точек пути или при использовании большого количества вариантов маршрута рекомендуется убедиться, что запрос URL-адреса не становится слишком длинным и вызывает проблемы.
  • Пакет маршрутов после маршрута: создайте запрос, содержащий до 1000 запросов на маршрут и обработайте их в течение определенного периода времени. Все данные обрабатываются параллельно на сервере и после завершения полного результированного набора можно скачать.

Приведенная ниже таблица содержит параметры API Карт Bing и сопоставимые параметры API в Azure Maps.

Параметр API Карт Bing Сопоставимый параметр API Azure Maps
avoid avoid
dateTime (dt) departAt или arriveAt
distanceBeforeFirstTurn (dbft) Н/П
distanceUnit (du) Н/Д — Azure Maps использует только систему метрик.
heading (hd) vehicleHeading
maxSolutions (maxSolns) maxAlternatives, alternativeType, minDeviationDistance и minDeviationTime
optimize (optwz) routeType и traffic.
optimizeWaypoints (optWp) computeBestOrder
routeAttributes (ra) instructionsType
routePathOutput (rpo) routeRepresentation
timeType (tt) departAt или arriveAt
tolerances (tl) Н/П
travelMode travelMode
waypoint.n (wp.n) или viaWaypoint.n (vwp.n) query — координаты в формате lat0,lon0:lat1,lon1…..
key subscription-key— Дополнительные сведения см. в статье "Проверка подлинности с помощью Azure Карты".
culture (c) language— Дополнительные сведения см. в статье о поддержке локализации в Azure Карты.
userRegion (ur) view— Дополнительные сведения см. в статье Azure Карты поддерживаемых представлений.

API маршрутизации Azure Maps также поддерживает маршрутизацию грузоперевозок в рамках одного API. В следующей таблице перечислены другие параметры маршрутизации грузовиков Bing Карты с сопоставимыми параметрами API в Azure Карты.

Параметр API Карт Bing Сопоставимый параметр API Azure Maps
dimensionUnit (dims) Недоступно — поддерживаются только размерности в метрах.
weightUnit (wu) Недоступно — поддерживается только масса в килограммах.
vehicleHeight (height) vehicleHeight
vehicleWidth (width) vehicleWidth
vehicleLength (vl) vehicleLength
vehicleWeight (weight) vehicleWeight
vehicleAxles (axles) vehicleAxelWeight
vehicleTrailers (vt) Н/Д
vehicleSemi (semi) vehicleCommercial
vehicleMaxGradient (vmg) Н/Д
vehicleMinTurnRadius (vmtr) Н/Д
vehicleAvoidCrossWind (vacw) Н/Д
vehicleAvoidGroundingRisk (vagr) Н/Д
vehicleHazardousMaterials (vhm) vehicleLoadType
vehicleHazardousPermits (vhp) vehicleLoadType

Совет

По умолчанию API построения маршрута Azure Maps возвращает только сводку (расстояние и время) и координаты путей маршрута. Параметр instructionsType позволяет получить пошаговые инструкции, а параметр routeRepresentation — отфильтровать сводку и пути маршрута.

Дополнительные сведения об API маршрутизации Карты Azure см. в рекомендациях по службе маршрутизации Карты Azure.

API маршрутизации Карты Azure имеет функции, недоступные в Карты Bing, которые могут быть полезны для интеграции при миграции приложения:

  • Поддержка типа маршрута: самый короткий, самый быстрый, прогулочный и маршрут для экономии топлива.
  • Поддержка дополнительных режимов путешествий: велосипед, автобус, мотоцикл, такси, грузовик и фургон.
  • Поддержка 150 ориентиров.
  • Вычислить несколько раз в одном запросе, историческом трафике, динамическом трафике, без трафика.
  • Возможность избежать дополнительных типов дорог: транзитных, грунтовых дорог и дорог, по которым вы уже путешествовали.
  • Построение маршрута на основе характеристик мотора. Вычисляйте маршруты для автомобилей с двигателями внутреннего сгорания или электрических автомобилей на основе данных об их оставшемся топливе и заряде, а также характеристик мотора.
  • Возможность указать максимальную скорость автомобиля.

Привязка координат к дороге

Существует несколько способов привязать координаты к дорогам в Azure Maps.

  • Используйте API направлений маршрута, чтобы привязать координаты к логическому маршруту по дорожной сети.
  • Используйте веб-пакет SDK для Azure Maps, чтобы привязать отдельные координаты к ближайшей дороге на векторных фрагментах.
  • Используйте непосредственно векторные фрагменты Azure Maps для привязки отдельных координат.

Использование API направлений маршрута для привязки координат

Azure Карты может привязать координаты к дорогам с помощью API получения маршрутов. Эту службу можно использовать для воссоздания логического маршрута по набору координат. Она является аналогом API привязки к дороге в Картах Bing.

Существуют два разных способа использования API направлений маршрута для привязки координат к дорогам.

  • Если имеется 150 координат или меньше, их можно передать в качестве точек пути в GET API маршрутов. С помощью этого подхода можно получить два разных типа оснастки данных; Инструкции по маршруту содержат отдельные точки пути с привязкой, а путь маршрута имеет интерполированный набор координат, заполняющий полный путь между координатами.
  • Если имеется более 150 координат, POST можно использовать API маршрутов. Координаты начала и окончания должны быть переданы в параметр запроса, но все координаты можно передать supportingPoints в параметр в тексте POST запроса и отформатировать коллекцию геометрических точек GeoJSON. Единственными данными, доступными с помощью этого подхода, является путь маршрута, который является интерполированным набором координат, которые заполняют полный путь между координатами. Чтобы просмотреть пример этого подхода с помощью модуля служб в веб-пакете SDK для Azure Карты, см. пример пути к логическому маршруту в примерах Карты Azure.

Приведенная ниже таблица содержит параметры API Карт Bing и сопоставимые параметры API в Azure Maps.

Параметр API Карт Bing Сопоставимый параметр API Azure Maps
points supportingPoints — передайте эти точки в текст POST запроса
interpolate Неприменимо
includeSpeedLimit Н/Д
includeTruckSpeedLimit Н/Д
speedUnit Неприменимо
travelMode travelMode
key subscription-key— Дополнительные сведения см. в статье "Проверка подлинности с помощью Azure Карты".
culture (c) language— Дополнительные сведения см. в статье о поддержке локализации в Azure Карты.
userRegion (ur) view— Дополнительные сведения см. в статье Azure Карты поддерживаемых представлений.

API маршрутизации Azure Maps также поддерживает параметр маршрутизации грузоперевозок в пределах одного API, чтобы обеспечить вычисление логических путей. В следующей таблице перечислены другие параметры маршрутизации грузовиков Bing Карты с сопоставимыми параметрами API в Azure Карты.

Параметр API Карт Bing Сопоставимый параметр API Azure Maps
dimensionUnit (dims) Недоступно — поддерживаются только размерности в метрах.
weightUnit (wu) Недоступно — поддерживается только масса в килограммах.
vehicleHeight (height) vehicleHeight
vehicleWidth (width) vehicleWidth
vehicleLength (vl) vehicleLength
vehicleWeight (weight) vehicleWeight
vehicleAxles (axles) vehicleAxelWeight
vehicleTrailers (vt) Н/Д
vehicleSemi (semi) vehicleCommercial
vehicleMaxGradient (vmg) Н/Д
vehicleMinTurnRadius (vmtr) Н/Д
vehicleAvoidCrossWind (vacw) Н/Д
vehicleAvoidGroundingRisk (vagr) Н/Д
vehicleHazardousMaterials (vhm) vehicleLoadType
vehicleHazardousPermits (vhp) vehicleLoadType

Так как этот подход использует API направлений маршрута, полный набор параметров в этой службе можно использовать для настройки логики привязки координат к дорогам. Например, указание времени отбытия приведет к тому, что будут учитываться данные о движении за прошлые периоды.

API направления маршрутов Azure Карты в настоящее время не возвращает данные ограничения скорости, однако их можно получить с помощью API обратного геокодирования Azure Карты.

Использование веб-пакета SDK для привязки координат

Веб-пакет SDK для Azure Maps использует векторные фрагменты для отображения карт. Эти векторные фрагменты содержат необработанные геометрические данные дорог и могут использоваться, чтобы вычислить ближайшую дорогу от координат для простой привязки отдельных координат. Это полезно, если вы хотите, чтобы координаты визуально отображались по дорогам, и вы уже используете веб-пакет SDK azure Карты для визуализации данных.

Этот подход, однако, привязывается только к сегментам дороги, загруженным в представлении карты. При уменьшении масштаба на уровне страны или региона не может быть никаких дорожных данных, поэтому привязка не может быть выполнена, однако на этом уровне масштабирования один пиксель может представлять область нескольких городских блоков, поэтому привязка не требуется. Чтобы решить эту задачу, можно применять логику привязки каждый раз, когда карта прекращает перемещаться. Чтобы просмотреть полный функциональный пример этой логики привязки, см. пример базовой привязки к логике дорожного движения в примерах Карты Azure.

Использование векторных фрагментов Azure Maps напрямую для привязки координат

Векторные фрагменты Azure Maps содержат необработанные геометрические данные дорог, которые могут использоваться, чтобы вычислять ближайшую от координат точку на дороге для простой привязки отдельных координат. Все сегменты дорог отображаются в секторах на уровне масштабирования 15, поэтому вы хотите получить плитки оттуда. Затем можно использовать вычисление квадродерева пирамиды фрагментов, чтобы определить, какие фрагменты нужны, и преобразовать их в геометрические фигуры. С помощью библиотеки пространственных вычислений, например turf js или NetTopologySuite, можно вычислять ближайшие сегменты линии.

Получение изображения карты (статическая карта)

Azure Maps предоставляет API для отрисовки статических изображений карт с наложением данных. API статического изображения карты Azure Карты сравним с API статической карты в Карты Bing.

Примечание.

Azure Maps требуются координаты центра, всех вешек и расположений в формате longitude,latitude, тогда как Карты Bing используют формат latitude,longitude. Сначала необходимо выполнить геокодирование адресов.

Приведенная ниже таблица содержит параметры API Карт Bing и сопоставимые параметры API в Azure Maps.

Параметр API Карт Bing Сопоставимый параметр API Azure Maps
centerPoint center
format format — этот параметр указывается как часть URL адреса. Сейчас поддерживается только формат PNG.
heading Недоступно — уличный вид не поддерживается.
imagerySet layer и style — Дополнительные сведения см. в разделе "Поддерживаемые стили карт".
mapArea (ma) bbox
mapLayer (ml) Н/П
mapSize (ms) width и height могут иметь размер до 8192 x 8192.
declutterPins (dcl) Неприменимо
dpi Н/Д
drawCurve path
mapMetadata Неприменимо
pitch Недоступно — уличный вид не поддерживается.
pushpin (pp) pins
zoomLevel zoom
query Недоступно — нужно использовать центр или ограничивающий прямоугольник.
highlightEntity (he) Неприменимо
style Неприменимо
Параметры маршрута Н/П
key subscription-key— Дополнительные сведения см. в статье "Проверка подлинности с помощью Azure Карты".
culture (c) language— Дополнительные сведения см. в статье о поддержке локализации в Azure Карты.
userRegion (ur) view— Дополнительные сведения см. в статье Azure Карты поддерживаемых представлений.

Примечание.

Azure Maps использует мозаичную систему с фрагментами, которые вдвое больше фрагментов карты в Картах Bing. Таким образом, значение уровня масштаба в Azure Maps будет на один уровень больше по сравнению с Картами Bing. Уменьшите масштаб в перемещаемых запросах на один уровень, чтобы компенсировать разницу.

Дополнительные сведения см. в разделе "Отрисовка пользовательских данных на карте растра".

Помимо возможности создания статического изображения карты, служба отрисовки Azure Карты также обеспечивает прямой доступ к плиткам сопоставления в растровом формате (PNG) и векторном формате:

Сравнение формата параметров URL-адреса вешки

Ранее: Bing Карты

В Картах Bing вешки можно добавить на статическое изображение карты с помощью параметра pushpin в URL-адресе. Параметр pushpin принимает расположение в формате latitude,longitude, стиль значка и текстовую подпись (до трех знаков), как показано ниже:

&pushpin=latitude,longitude;iconStyle;label

Pushpins можно добавить, добавив дополнительные pushpin параметры в URL-адрес с другим набором значений. Для значка вешки можно выбрать один из стандартных стилей, доступных в API Карт Bing.

Например, в Карты Bing можно добавить красную отжимку с меткой AB в координатах (долгота: -110, широта: 45) со следующим параметром URL-адреса:

&pushpin=45,-110;7;AB

Bing Maps static map pin

После: Azure Карты

В Azure Maps вешки можно также добавить на статическое изображение карты, указав параметр pins в URL-адресе. Вешки в Azure Maps определяются с помощью стиля значка и списка расположений, в которых он используется. Эти данные передаются в параметр pins, который можно указать несколько раз, чтобы использовать вешки с разными стилями.

&pins=iconType|pinStyles||pinLocation1|pinLocation2|...

Дополнительные стили можно использовать, добавив дополнительные pins параметры в URL-адрес с другим стилем и набором расположений.

В отношении расположений закреплений Azure Карты требует, чтобы координаты были в longitude,latitude формате, а Bing Карты использует latitude,longitude формат. Обратите также внимание на то, что в Azure Maps значения долготы и широты разделены запятыми, а не пробелами.

Значение iconType указывает тип создаваемой геометки и может иметь следующие значения:

  • default — стандартный значок метки.
  • none — Значок не отображается, отображаются только метки.
  • custom — указывает используемый пользовательский значок. URL-адрес, указывающий на изображение значка, можно добавить в конец параметра pins после сведений о расположении геометки.

Стили геометок в Azure Maps добавляются в формате optionNameValue с несколькими стилями, разделенными вертикальной линией (|), например iconType|optionName1Value1|optionName2Value2. Обратите внимание, что имена и значения параметров не разделены. Чтобы задать стили вешек в Azure Maps, можно использовать следующие параметры стилей:

  • al — задает уровень непрозрачности (альфа-версия) вешки. Может иметь значение от 0 до 1.
  • an — задает привязку геометки. Значения X и Y пикселей указываются в формате x y.
  • co — цвет геометки. Должен быть 24-разрядный шестнадцатеричный цвет: от 000000 до FFFFFF.
  • la — указывает привязку метки. Значения X и Y пикселей указываются в формате x y.
  • lc — цвет метки. Должен быть 24-разрядный шестнадцатеричный цвет: от 000000 до FFFFFF.
  • ls — размер метки в пикселях. Может иметь значение больше 0.
  • ro — значение в градусах для поворота значка. Может иметь значение от −360 до 360.
  • sc — значение масштаба значка геометки. Может иметь значение больше 0.

Вместо одного значения подписи, которое применяется ко всем вешкам в списке расположений, значения подписи указываются для каждого расположения вешки. Значение метки может быть строкой из нескольких символов и быть заключенным в одинарные кавычки. Это гарантирует, что оно не будет ошибочно использоваться в качестве значения стиля или расположения.

Например, в Azure Карты добавьте красныйFF0000 () значок по умолчанию с меткой Space Needle, расположенной ниже (15 50), значок по координатам (долгота: -122.349300, широта: 47.620180) можно сделать со следующим параметром URL-адреса:

&pins=default|coFF0000|la15 50||'Space Needle'-122.349300 47.620180

Azure Maps static map pin

В следующем примере добавляются три геометки со значениями меток 1, 2 и 3:

&pins=default||'1'-122 45|'2'-119.5 43.2|'3'-121.67 47.12

Azure Maps static map multiple pins

Сравнение формата параметров URL-адреса кривой

Ранее: Bing Карты

В Картах Bing линии и многоугольники можно добавить на статическое изображение карты, указав параметр drawCurve в URL-адресе. Параметр drawCurve принимает тип фигуры, тип стиля и список расположений для отрисовки на карте, как показано ниже.

&drawCurve=shapeType,styleType,location1,location2...

Дополнительные стили можно использовать, добавив дополнительные drawCurve параметры в URL-адрес с другим стилем и набором расположений.

Расположения в Картах Bing указываются в формате latitude1,longitude1_latitude2,longitude2_…. Расположения также можно кодировать.

В Картах Bing используются следующие фигуры: линии, многоугольники, круги и кривые. Типы стилей включают в себя цвет линии, толщину линии, цвет контура, цвет заливки, толщину контура и круговой радиус.

Например, в Bing Карты синяя линия с непрозрачностью 50 % и толщиной четырех пикселей можно добавить на карту между координатами (долгота: -110, широта: 45 и долгота: -100, широта: 50) со следующим параметром URL:

&drawCurve=l,FF000088,4;45,-110_50,-100

Bing Maps static map line

После: Azure Карты

В Azure Maps линии и прямоугольники можно также добавить на статическое изображение карты, указав параметр path в URL-адресе. Как и в случае с Картами Bing, в этом параметре можно указать стиль и список расположений. Параметр path можно указать несколько раз для отображения нескольких кругов, линий и многоугольников с различными стилями.

&path=pathStyles||pathLocation1|pathLocation2|...

Однако для расположений путей в Azure Maps необходимо указывать координаты в формате longitude,latitude, а в Картах Bing — в формате latitude,longitude. Обратите также внимание на то, что в Azure Maps значения долготы и широты разделены запятыми, а не пробелами. Azure Карты в настоящее время не поддерживает закодированные пути.

Стили путей в Azure Maps добавляются в формате optionNameValue с несколькими стилями, разделенными вертикальной линией (|), например optionName1Value1|optionName2Value2. Обратите внимание, что имена и значения параметров не разделены. Чтобы задать стили путей в Azure Maps, можно использовать следующие параметры стилей:

  • fa — прозрачность цвета заливки (альфа-версия), используемая при отрисовке многоугольников. Может иметь значение от 0 до 1.
  • fc — цвет заливки, используемый для отрисовки области многоугольника.
  • la — прозрачность цвета линии (альфа-версия), используемая при отрисовке линий и контуров многоугольников. Может иметь значение от 0 до 1.
  • lc — цвет линии, используемый при отрисовке линий и контуров многоугольников.
  • lw — ширина линии в пикселях.
  • ra — указывает радиус круга в метрах.

Например, в Azure Карты синяя линия с непрозрачностью 50 % и толщиной четырех пикселей можно добавить на карту между координатами (долгота: -110, широта: 45 и долгота: -100, широта: 50) со следующим параметром URL::

&path=lc0000FF|la.5|lw4||-110 45|-100 50

Azure Maps static map line

Вычисление матрицы расстояний

Azure Maps предоставляет API для вычисления времени и расстояния поездки между несколькими расположениями в виде матрицы расстояний. API матрицы расстояния Azure Карты сравним с API матрицы расстояния в Bing Карты:

  • Матрица маршрутов post: асинхронно вычисляет время путешествия и расстояния для набора источников и назначений. Поддерживается до 700 ячеек на запрос (количество исходных мест, умноженное на количество мест назначения). Учитывая это ограничение, примерами возможных матричных измерений могут быть такие: 700x1, 50x10, 10x10, 28x25, 10x70.

Примечание.

Запрос к API матрицы расстояния можно выполнить только с помощью POST запроса с сведениями о источнике и назначении в тексте запроса. Кроме того, для Azure Maps необходимо предоставить координаты всех исходных мест и мест назначения. Сначала необходимо выполнить геокодирование адресов.

Приведенная ниже таблица содержит параметры API Карт Bing и сопоставимые параметры API в Azure Maps.

Параметр API Карт Bing Сопоставимый параметр API Azure Maps
origins origins — укажите в тексте POST запроса имя GeoJSON.
destinations destination — укажите в тексте POST запроса имя GeoJSON.
endTime arriveAt
startTime departAt
travelMode travelMode
resolution Н/П
distanceUnit Недоступно — все расстояния указываются в метрах.
timeUnit Недоступно — все время указывается в секундах.
key subscription-key— Дополнительные сведения см. в статье "Проверка подлинности с помощью Azure Карты".
culture (c) language— Дополнительные сведения см. в статье о поддержке локализации в Azure Карты.
userRegion (ur) view— Дополнительные сведения см. в статье Azure Карты поддерживаемых представлений.

Совет

Все дополнительные параметры построения маршрутов, доступные в API построения маршрутов Azure Maps (построение маршрутов для грузовика, характеристики мотора, области, которые следует избегать…), поддерживаются в API матрицы расстояний Azure Maps.

Вычисление изохроны

Azure Maps предоставляет API для вычисления изохроны — многоугольника, охватывающего область, которую можно проехать (пройти) в любом направлении от точки отсчета с учетом заданного времени, количества топлива или транспортных расходов. API диапазона маршрутов Azure Карты сравним с API isochrone в Bing Карты.

  • Диапазон маршрутов : вычисляет многоугольник, охватывающий область, которую можно перемещать в любое направление от точки источника в пределах указанного времени, расстояния или объема топлива или заряда.

Примечание.

В Azure Maps требуется, чтобы точкой отсчета в запросе были координаты. Сначала необходимо выполнить геокодирование адресов.

Кроме того, Карты Bing могут вычислять изохроны на основе времени или расстояния, тогда как Azure Maps могут это делать на основе времени, расстояния, количества топлива или транспортных расходов.

Приведенная ниже таблица содержит параметры API Карт Bing и сопоставимые параметры API в Azure Maps.

Параметр API Карт Bing Сопоставимый параметр API Azure Maps
waypoint (wp) query
dateTime (dt) departAt
maxTime timeBudgetInSec
timeUnit (tu) Недоступно — все время указывается в секундах.
travelMode (mode) travelMode
maxDistance (maxDis) distanceBudgetInMeters
distanceUnit (du) Недоступно — все расстояния указываются в метрах.
optimize (optmz) routeType
key subscription-key— Дополнительные сведения см. в статье "Проверка подлинности с помощью Azure Карты".
culture (c) language— Дополнительные сведения см. в статье о поддержке локализации в Azure Карты.
userRegion (ur) view— Дополнительные сведения см. в статье Azure Карты поддерживаемых представлений.

Совет

Все дополнительные параметры построения маршрутов, доступные в API построения маршрутов Azure Maps (построение маршрутов для грузоперевозок, характеристики мотора, области, которые следует избегать…), поддерживаются в API изохрон Azure Maps.

Поиск достопримечательностей

Данные о точках интереса можно искать в Картах Bing с помощью следующих API:

  • Локальный поиск: поиск точек интереса, которые находятся рядом (радиальный поиск), по имени или по типу сущности (категории). API категории поиска в Azure Карты получить POI и получить API категории поиска наиболее похожи на этот API.
  • Распознавание расположения: ищет точки интересов, находящиеся в пределах определенного расстояния от расположения. Больше всего на этот API похож API поиска поблизости в Azure Maps.
  • Локальная аналитика: ищет точки интересов, которые находятся в пределах указанного максимального времени вождения или расстояния от определенной координаты. Это можно достичь с помощью Azure Карты, сначала вычислив изохрон, а затем передав его в поиск в api геометрии.

Azure Maps предоставляет несколько API поиска для точек интереса:

  • Получение POI поиска: поиск точки интереса (POI) используется для поиска точек интересов по имени. Например, "starbucks".
  • Получить категорию POI поиска: поиск по категории "Точка интереса" (POI) используется для поиска точек интересов по категориям. Например, "ресторан".
  • Post Search Inside Geometry: ищет точки интересов, находящиеся в пределах определенного расстояния от расположения или в пределах указанной геометрии (многоугольник).
  • Get Search Fuzzy: API нечеткого поиска объединяет геокодирование адресов с точкой интереса. Он принимает строку в свободной форме, которая может быть адресом, местом, ориентиром, точкой интереса или категорией точки интереса, и немедленно обрабатывает запрос. Мы рекомендуем использовать этот API-интерфейс для приложений, в которых пользователь может искать адреса или точки интереса в одном текстовом поле.
  • Поиск по маршруту: поиск точек интересов, которые находятся вдоль указанного пути маршрута.
  • Post Search Fuzzy Batch: используйте нечеткий пакетный поиск для создания запроса, содержащего до 10 000 адресов, мест, ориентиров или точки интересов и их обработки в течение определенного периода времени. Все данные обрабатываются параллельно на сервере и после завершения полного результированного набора можно скачать.

Дополнительные сведения о поиске в Azure Карты см. в рекомендациях по Карты служба Azure.

Получение данных о дорожных происшествиях

Azure Maps предоставляет несколько API для получения данных о дорожном движении. Доступны два типа данных трафика:

  • Данные о движении — метрики дорожного движения по секциям дорог. Они часто используется для цветового кодирования дорог. Эти данные обновляются каждые 2 минуты.
  • Данных о происшествиях — данные о ремонтах, закрытых проездах, авариях и других происшествиях, которые могут повлиять на дорожное движение. Эти данные обновляются каждую минуту.

Карты Bing предоставляют данные о дорожном движении и происшествиях в интерактивных элементах управления картой, а также предоставляют данные о происшествиях в качестве службы.

Данные о дорожном движении также интегрированы в интерактивные элементы управления картой Azure Maps. Azure maps также предоставляет следующие API-интерфейсы служб трафика:

  • Получение сегмента потока трафика: предоставляет сведения о скоростях и времени перемещения фрагмента дороги, ближайшего к заданным координатам.
  • Получение плитки потока трафика: предоставляет растровые и векторные плитки, содержащие данные потока трафика. Их можно использовать с элементами управления Azure Maps или сторонними элементами управления картой, такими как Leaflet. Векторные фрагменты можно также использовать для расширенного анализа данных.
  • Получение сведений об инциденте дорожного движения: предоставляет сведения об инциденте, которые находятся в ограничивающем поле, уровне масштабирования и модели трафика.
  • Получение плитки инцидента дорожного движения: предоставляет растровые и векторные плитки, содержащие данные об инциденте дорожного движения.
  • Get Traffic Incident Viewport: извлекает юридическую и техническую информацию для окна просмотра, описанного в запросе, например идентификатор модели трафика.

Приведенная ниже таблица содержит параметры API дорожного движения Карт Bing и сопоставимые параметры API данных о дорожных происшествиях в Azure Maps.

Параметр API Карт Bing Сопоставимый параметр API Azure Maps
mapArea boundingBox и boundingZoom.
includeLocationCodes Н/П
severity (s) Недоступно — возвращаются все данные.
type (t) Недоступно — возвращаются все данные.
key subscription-key— Дополнительные сведения см. в статье "Проверка подлинности с помощью Azure Карты".
culture (c) language— Дополнительные сведения см. в статье о поддержке локализации в Azure Карты.
userRegion (ur) view— Дополнительные сведения см. в статье Azure Карты поддерживаемых представлений.

Получение часового пояса

Azure Maps предоставляет API для получения часового пояса, в котором расположена указанная координата. API часового пояса Azure Карты сравним с API часового пояса в Карты Bing.

Приведенная ниже таблица содержит параметры API Карт Bing и сопоставимые параметры API в Azure Maps.

Параметр API Карт Bing Сопоставимый параметр API Azure Maps
point query
query Недоступно — расположения должны быть предварительно геокодированы.
dateTime timeStamp
includeDstRules Недоступно — всегда добавляется в ответ Azure Maps.
key subscription-key— Дополнительные сведения см. в статье "Проверка подлинности с помощью Azure Карты".
culture (c) language— Дополнительные сведения см. в статье о поддержке локализации в Azure Карты.
userRegion (ur) view— Дополнительные сведения см. в статье Azure Карты поддерживаемых представлений.

Помимо этого платформа Azure Карты также предоставляет множество других API часовых поясов для преобразования с именами часовых поясов и идентификаторами:

Службы пространственных данных (SDS)

Службы пространственных данных в Картах Bing предоставляют три ключевые функциональные возможности:

  • Пакетное геокодирование — обработка большого пакета геокодов адресов одним запросом.
  • Получение данных об административных границах — получение пересекаемой границы для указанного типа сущности по координатам.
  • Размещение и запрос пространственных бизнес-данных — передача простой двухмерной таблицы данных и доступ к ней с помощью нескольких простых пространственных запросов.

Пакетные данные геокодов

Пакетное геокодирование происходит так: большое количество адресов или мест передается в одном запросе к службе, где выполняется их одновременное геокодирование, а затем результаты возвращаются одним ответом.

Карты Bing позволяют передавать до 200 000 адресов в одном пакетном запросе на геокодирование. Этот запрос передается в очередь и обычно обрабатывается в течение некоторого времени, от нескольких минут до нескольких часов, в зависимости от размера набора данных и нагрузки на службу. Каждый адрес в запросе порождает транзакцию.

В Azure Maps имеется служба пакетного геокодирования, однако она позволяет передавать до 10 000 адресов в одном запросе, на обработку которого уходит нескольких секунд, в зависимости от размера набора данных и нагрузки на службу. Каждый адрес в запросе порождает транзакцию.

Другой вариант геокодирования большого числа адресов с помощью Azure Maps — выполнять параллельные запросы к стандартным API поиска. Эти службы принимают только один адрес в запросе, но могут использоваться на уровне S0, который также накладывает ограничения бесплатного использования. Уровень S0 позволяет отправлять к платформе Azure Maps до 50 запросов в секунду из одной учетной записи. Таким образом, если вы обрабатываете эти ограничения, чтобы остаться в пределах этого предела, можно геокодировать до 180 000 адресов в час. Ценовая категория 2-го поколения (S1) не содержит задокументированного ограничения на количество запросов в секунду, которые можно сделать из учетной записи, поэтому при использовании этой ценовой категории гораздо больше данных можно обрабатывать быстрее, однако использование службы геокодирования пакетной службы помогает сократить общий объем передаваемых данных, уменьшая сетевой трафик.

Примечание.

Выход на пенсию ценовой категории Azure Карты 1-го поколения

Ценовая категория 1-го поколения устарела и будет прекращена на 9.15.26. Ценовая категория 2-го поколения заменяет 1-го поколения (как S0, так и S1). Если ваша учетная запись Azure Карты выбрана ценовая категория 1-го поколения, вы можете перейти на ценовую категорию 2-го поколения до выхода из эксплуатации, в противном случае она будет автоматически обновлена. Дополнительные сведения о выходе на пенсию ценовой категории 1-го поколения см. в статье "Управление ценовой категорией" учетной записи Azure Карты.

  • Получить адрес поиска: геокодирование адресов в свободной форме используется для указания одной строки адреса (например "1 Microsoft way, Redmond, WA") и немедленной обработки запроса. Мы рекомендуем использовать эту службу, если нужно быстро выполнить геокодирование отдельных адресов.
  • Получение адреса поиска структурировано: структурированное геокодирование адресов используется для указания частей одного адреса, таких как имя улицы, город, страна или регион, а также почтовый индекс и немедленно обработать запрос. Мы рекомендуем использовать эту службу, если необходимо быстро выполнить геокодирование отдельных адресов, а данные адреса уже проанализированы и разделены на отдельные части.
  • Пакетная служба поиска. Используйте геокодирование адресов пакетной службы для создания запроса, содержащего до 10 000 адресов и их обработки в течение определенного периода времени. Все адреса закодированы параллельно на сервере и после завершения полного результированного набора можно скачать. Мы рекомендуем использовать эту службу, чтобы выполнить геокодирование больших наборов данных.
  • Get Search Fuzzy: API нечеткого поиска объединяет геокодирование адресов с точкой интереса. Он принимает строку в свободной форме, которая может быть адресом, местом, ориентиром, точкой интереса или категорией точки интереса, и немедленно обрабатывает запрос. Мы рекомендуем использовать этот API-интерфейс для приложений, в которых пользователь может искать адреса или точки интереса в одном текстовом поле.
  • Post Search Fuzzy Batch: используйте нечеткий пакетный поиск для создания запроса, содержащего до 10 000 адресов, мест, ориентиров или точки интересов и их обработки в течение определенного периода времени. Все данные обрабатываются параллельно на сервере и после завершения полного результированного набора можно скачать.

Получение данных об административных границах

В Карты Bing административные границы для стран или регионов, штатов, округов, городов и почтовых индексов предоставляются через API геоданных. Этот API принимает либо координаты, либо запрос для геокодирования. Если запрос передается, он закодирован и координаты из первого результата используются. Этот API принимает координаты и извлекает границу указанного типа сущности, пересекающую эти координаты. Этот API не обязательно вернул границу для переданного запроса. Если запрос "Seattle, WA" передается, но для значения типа сущности задано значение страны или региона, будет возвращена граница для США.

Azure Карты также предоставляет доступ к административным границам (страны или регионы, штаты, округа, города и почтовые коды). Чтобы получить границу, необходимо запросить один из API поиска для нужной границы (например Seattle, WA). Если результат поиска имеет связанную границу, то в ответе на результат будет указан идентификатор геометрии. API поиска многоугольников можно использовать для получения точных границ по одному или нескольким геометрическим идентификаторам. Это немного отличается от Карт Bing, так как Azure Maps возвращает границу для искомых данных, тогда как Карты Bing возвращают границу для указанного типа сущности по указанным координатам. Кроме того, данные о границах, возвращаемые Azure Maps, указываются в формате GeoJSON.

Подведем итог:

  1. Передайте запрос для границы, которую требуется получить, в один из следующих API поиска:

  2. Если нужные результаты имеют идентификаторы геометрии, передайте его в API получения многоугольника поиска.

Размещение и запрос пространственных бизнес-данных

Службы пространственных данных в Bing Карты предоставляют простое решение для хранения бизнес-данных и предоставления их в виде пространственной службы REST. Эта служба поддерживает четыре основных запроса: поиск по свойству, поиск поблизости, поиск в ограничивающем прямоугольнике и поиск на 1 миле (1,6 км) маршрута. Многие компании, использующие эту службу, часто уже хранят свои бизнес-данные в базе данных и загружают небольшие наборы этих данных в данную службу, чтобы обеспечить работу таких приложений, как указатели магазинов. Так как проверка подлинности на основе ключей обеспечивает базовую безопасность, рекомендуется использовать эту службу только с общедоступными данными.

Большинство бизнес-данных о расположении исходит из базы данных. Поэтому рекомендуется использовать существующие решения службы хранилища Azure, такие как SQL Azure или Azure PostgreSQL (с подключаемым модулем PostGIS). Оба эти решения для хранения поддерживают пространственные данные и предоставляют широкий набор возможностей пространственных запросов. После переноса данных в подходящее решение для хранения их можно интегрировать в приложение, создав пользовательскую веб-службу или воспользовавшись такой платформой, как ASP.NET или Entity Framework. Использование этого подхода является более безопасным и обеспечивает больше возможностей запросов.

Azure Cosmos DB также предоставляет ограниченный набор возможностей для работы с пространственными данными, которые, в зависимости от сценария, могут оказаться достаточными.

Ниже приведены полезные ресурсы по размещению и запросу пространственных данных в Azure.

Клиентские библиотеки

Azure Maps предоставляет клиентские библиотеки для следующих языков:

Клиентские библиотеки с открытым кодом для других языков программирования:

Очистка ресурсов

Нет ресурсов для очистки.

Следующие шаги

Дополнительные сведения о службах REST Azure Maps.