Перенос автоматизации Zapier или Make на новый хост геокодирования
No-code автоматизации с шагом геокодирования требуют иного подхода к миграции, чем собственный код. Вот как провести такой переход.
Nominatim занимает необычное место среди вариантов геокодирования, потому что это одновременно программное обеспечение с открытым исходным кодом, которое можно запустить у себя, и публичный демонстрационный экземпляр, к которому любой может обращаться напрямую по правилам использования, требующим информативного заголовка User-Agent и разумного темпа запросов, а не официального API-ключа. Его JSON-ответ содержит строку display_name, пару lat и lon в виде строк, а не чисел, и объект address с собственными соглашениями о тегах OpenStreetMap, такими как road, suburb и postcode.
Команды обычно упираются в потолок публичного экземпляра, как только их трафик превышает то, что должен выдерживать общий ресурс сообщества, а самостоятельное размещение Nominatim это реальный, но тяжёлый вариант: нужно скачать и импортировать большую выгрузку данных OpenStreetMap для всей планеты или региона, поддерживать эти данные в актуальном состоянии и бессрочно самим обслуживать серверную инфраструктуру. Об этом компромиссе, работе над инфраструктурой и обслуживанием в обмен на контроль, стоит честно подумать, прежде чем выбирать любой из путей.
Совместимый хост My Geocode для Nominatim в точности воспроизводит структуру полей display_name, lat, lon и адреса, и от вывода самого Nominatim отличаются только тексты об авторских правах, условиях и конфиденциальности. Справочные сведения находятся по адресу /compatibility/nominatim/. Код, написанный для публичного экземпляра Nominatim, включая его строковые поля координат, должен разбирать ответы совместимого хоста без изменений.
Что на самом деле меняется при этой миграции:
X-API-Key, заголовке Authorization: Bearer, через HTTP Basic auth или в параметре запросаСверх бесплатной квоты действует предоплаченный баланс по 0,0001 € за запрос или ключ Unlimited за 50 € в месяц, и каждый эндпоинт, включая этот совместимый хост, стоит так же, как любой другой на платформе.
Командам, которые ценили Nominatim именно за основу из открытых географических данных, полезно знать, что названия полей, построенные на соглашениях OpenStreetMap, такие как suburb и postcode вместо более общих терминов, сохраняются в структуре этого совместимого хоста, поэтому адресная терминология, которую уже ожидает ваш код, по-прежнему будет понятна и после миграции.