Совместимая замена OpenStreetMap Nominatim
Публичный сервер Nominatim просит отправлять не более одного запроса в секунду и не нагружать его интенсивно. osm.mygeocode.com поддерживает тот же интерфейс search и reverse, в форматах JSON, JSONv2 и GeoJSON, с квотой, на которую действительно можно рассчитывать.
Измените одно имя хоста
| Исходный хост |
|
|---|---|
| Используйте вместо него | osm.mygeocode.com |
| Параметр ключа | У оригинала ключа нет, и здесь он тоже не нужен: любой адрес получает 2 500 запросов в день без него. Чтобы пользоваться балансом, пакетами и историей использования, добавьте key=... в запрос или отправьте заголовок X-API-Key. |
curl "https://nominatim.openstreetmap.org/search?q=Brandenburg+Gate+Berlin&format=json&addressdetails=1"curl "https://osm.mygeocode.com/search?q=Brandenburg+Gate+Berlin&format=json&addressdetails=1"Почему переходят
Публичный сервер Nominatim является общим ресурсом со строгой политикой использования. Поддержка собственного сервера требует полной занятости. Здесь тот же интерфейс без обеих проблем.
Та же бесплатная квота, с ключом или без. Запросы к osm.mygeocode.com учитываются в тех же 2 500 бесплатных запросах в день, которые ваш адрес или ваш ключ получает на наших собственных эндпоинтах. Сверх этого: предоплаченный баланс по 0,0001 € за запрос или 50 € в месяц за ключ Unlimited. Для регистрации нужен только адрес электронной почты.
Эндпоинты
| Путь на osm.mygeocode.com | Что делает | На основе |
|---|---|---|
/search?q=...&format=json | Поиск по свободному тексту | Прямое геокодирование |
/search?street=...&city=...&country=...&format=json | Структурированный поиск | Прямое геокодирование |
/reverse?lat=...&lon=...&format=json | Обратное геокодирование | Обратное геокодирование |
Пример ответа
Вот что возвращает запрос выше. Названия полей, вложенность и типы соответствуют Nominatim (OSM). Наши только данные за ними.
[
{
"place_id": 2384719,
"licence": "Data by My Geocode, https://www.mygeocode.com/terms/",
"osm_type": "way",
"osm_id": 518071791,
"lat": "52.5162746",
"lon": "13.3777041",
"class": "tourism",
"type": "attraction",
"place_rank": 30,
"importance": 0.8317,
"addresstype": "tourism",
"name": "Brandenburger Tor",
"display_name": "Brandenburger Tor, Pariser Platz, Mitte, Berlin, 10117, Deutschland",
"address": {
"tourism": "Brandenburger Tor",
"road": "Pariser Platz",
"suburb": "Mitte",
"borough": "Mitte",
"city": "Berlin",
"state": "Berlin",
"postcode": "10117",
"country": "Deutschland",
"country_code": "de"
},
"boundingbox": ["52.5161073", "52.5164414", "13.3775375", "13.3778623"]
}
]Подробности и отличия
У Nominatim нет ключа, и здесь он тоже не нужен для первых 2 500 запросов в день. Чтобы пользоваться балансом, пакетами и историей использования, добавьте key=... в запрос или отправьте заголовок X-API-Key.
Строки об авторских правах, названия лицензий, ссылки на условия и политику конфиденциальности в ответе наши, а не исходного провайдера. Всё остальное сохраняет исходную структуру.
/searchпо умолчанию отвечает в jsonv2, а/reverseв XML, как и в самом Nominatim.- Поддерживаются все форматы:
xml,json,jsonv2,geojsonиgeocodejson. - Строка лицензии и атрибут attribution в XML наши.
- Пакетного эндпоинта нет, потому что его нет у оригинала. Для массовой обработки используйте
POST /v1/forwardили/v1/reverseнаapi.mygeocode.com(до 100 за вызов, каждый элемент считается одним запросом).
Если ваш клиент зависит от поля или поведения, которого здесь нет, сообщите нам. Пробелы в совместимости исправляются быстро, потому что обычно они невелики.
Другие совместимые хосты
- Google Maps
- Bing Maps
- HERE
- Mapbox
- Geocode.Farm
- OpenCage
- LocationIQ
- Geoapify
- TomTom
- MapQuest
- Geocodio
- PositionStack
- ip-api
- ipinfo
- ipstack
- Open-Elevation
Как работают совместимые хосты, обзор и совместимые замены для библиотек JavaScript.