RU:Nominatim

From OpenStreetMap Wiki
Jump to navigation Jump to search

Nominatim (лат. «по имени») — инструмент для поиска данных OSM по имени и адресу, а также для создания полных адресов точек OSM (обратное геокодирование). Его можно найти на http://nominatim.openstreetmap.org . Nominatim также используется как один из источников в поисковой форме на Главной странице OpenStreetMap и улучшает поиск на сайте MapQuest Open Initiative. Так же некоторые компании предоставляют предустановленные сервисы Nominatim, обращение к которым происходит по определенному API. Примерами таких компаний являются MapQuest Open Initiative, PickPoint, OpenCage Geocoder, Geokeo Geocoding api, LocationIQ, Geoapify и Geocoding.ai.

Поиск русских названий (Геокодинг русских названий)

Поиск русских названий осуществляется аналогично английским. Кириллица в запросе должны быть закодирована в URL Encode — в языке PHP для этого предназначена функция urlencode. Английские названия также можно подставлять в эту функцию и получать их в нужной кодировке.

Для поиска с использованием языка Perl существует ряд модулей (например, Geo::Coder::OSM), позволяющих осуществить запрос (с попутным URL-кодированием) и преобразовать полученный XML-файл в список хэшей.

Примеры

Ищется (геокодируем) город Тюмень: Для PHP: http://nominatim.openstreetmap.org/search?q='.urlencode('Тюмень').'&format=xml

Или сразу, зная кодировку города 'Тюмень': http://nominatim.openstreetmap.org/search?q=%D0%A2%D1%8E%D0%BC%D0%B5%D0%BD%D1%8C&format=xml

В результате получается XML-файл - в нем первая запись это город Тюмень

Если нужно показать на карте искомый объект то xml меняется на html: http://nominatim.openstreetmap.org/search?q=%D0%A2%D1%8E%D0%BC%D0%B5%D0%BD%D1%8C&format=html

Ошибки

Nominatim поддерживается пользователем Twain, о найденных ошибках сообщайте в Trac, указывая компонент Nominatim.