Миграция

Отказ от интеграции с данными о высоте Bing Maps

Bing Maps предоставляет данные о высоте через свой Elevations API, возвращая значения высоты поверхности земли для одной или нескольких точек с координатами, обычно в метрах, в рамках того же аккаунта Bing Maps Dev Center, который используется для геокодирования и других сервисов местоположения. Как и большинство зависимостей от данных о высоте, его обычно вызывают из узкой части приложения: графика профиля маршрута, наложения рельефа или инструмента планирования полётов, а не из кода, пронизывающего всю кодовую базу.

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

Определение высоты в My Geocode это полноценный отдельный эндпоинт, описанный по адресу /docs/elevation-lookup/, независимый от любого совместимого хоста геокодирования. Запрос для координаты сразу возвращает высоту поверхности земли, и поскольку это один из запросов, реальные результаты которого можно конкретно описать и проверить, сверка миграции с несколькими известными эталонными точками высоты это практичный и быстрый способ обрести уверенность.

Что стоит проверить именно при уходе с сервиса высот Bing:

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

Аутентификация для нового эндпоинта принимает ключ в виде X-API-Key, Authorization: Bearer, HTTP Basic auth или параметра запроса. Цены устроены так же просто, как для любого другого эндпоинта: 2 500 бесплатных запросов в день без ключа, ещё 2 500 бесплатных на каждый ключ в день с учётом по сети, затем предоплаченный баланс по 0,0001 € за запрос или ключ Unlimited за 50 € в месяц.

Если данные о высоте изначально входили в более широкий аккаунт Bing Maps скорее для удобства, чем по необходимости, их перенос в первую очередь, до миграции геокодирования, сокращает объём того, что ещё зависит от исходного аккаунта, и даёт вам малорискованный пробный прогон процесса миграции, прежде чем браться за что-то более крупное.