Repolode
osm-search

osm-search/Nominatim

Открытый сервис геокодирования: ищет по имени и адресу в данных OpenStreetMap, а также выполняет обратное геокодирование.

Open source альтернатива:Google Maps Geocoding API

Звёзды
4,556
Форки
870
Открытые issues
104
Последний коммит
4 дня назад

Что это?

Nominatim — инструмент для поиска по имени и адресу в данных OpenStreetMap; этот процесс называется геокодированием. Он также умеет выполнять обратное преобразование — генерировать условный адрес для любой точки OSM. Nominatim используется как поисковый бэкенд поля поиска на главной странице OpenStreetMap, а для запросов доступен публичный экземпляр с актуальными данными.

Чтобы запустить собственный сервис, нужно клонировать репозиторий, скачать файл сетки стран, установить Python-пакеты для компонентов API и базы данных, а затем импортировать файл с данными OSM, например planet extract, в каталог проекта. После этого проект предоставляет поисковый API через веб-сервер, запущенный командой nominatim serve с использованием uvicorn и falcon.

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

Ключевые возможности

  • 01Прямое геокодирование: поиск мест и адресов по названию в данных OSM.
  • 02Обратное геокодирование: создание адреса по заданным координатам.
  • 03Импорт файлов с данными OSM, в том числе planet extract, в локальный проект.
  • 04Предоставление поискового API через веб-сервер на Python (uvicorn и falcon).

Сценарии использования

  • Добавление поиска адресов и автодополнения в картографическое приложение.
  • Преобразование координат из GPS или журналов в понятные человеку адреса.
  • Запуск приватного геокодера на региональном фрагменте данных OSM.

Быстрый старт

  1. 1

    Клонируйте репозиторий

    git clone https://github.com/osm-search/Nominatim.git
  2. 2

    Создайте virtualenv для Python

    python3 -m venv nominatim-venv
  3. 3

    Установите пакеты Nominatim в virtualenv

    ./nominatim-venv/bin/pip install packaging/nominatim-{api,db}
  4. 4

    Создайте каталог проекта, а затем импортируйте данные OSM

    nominatim import --osm-file <your planet file> 2>&1 | tee setup.log

Что важно знать

  • Распространяется по лицензии GPL-3.0 — лицензии с принципом copyleft, требующей открытого исходного кода для производных работ.
  • Для самостоятельного запуска нужно импортировать полный файл planet проекта OSM, что требует значительных усилий для самостоятельного хостинга.

Темы

#geocoding#openstreetmap#reverse-geocoding#gis#python#search#osm

Частые вопросы

Что такое Nominatim?
Открытый сервис геокодирования: ищет по имени и адресу в данных OpenStreetMap, а также выполняет обратное геокодирование. Nominatim — инструмент для поиска по имени и адресу в данных OpenStreetMap; этот процесс называется геокодированием. Он также умеет выполнять обратное преобразование — генерировать условный адрес для любой точки OSM. Nominatim используется как поисковый бэкенд поля поиска на главной странице OpenStreetMap, а для запросов доступен публичный экземпляр с актуальными данными.
Nominatim можно использовать бесплатно? Какая у него лицензия?
Nominatim распространяется с открытым исходным кодом под лицензией GPL-3.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
Nominatim всё ещё поддерживается?
Активно поддерживается. Последний коммит в Nominatim — 3 нояб. 2026 г..
Для чего можно использовать Nominatim?
Добавление поиска адресов и автодополнения в картографическое приложение. Преобразование координат из GPS или журналов в понятные человеку адреса. Запуск приватного геокодера на региональном фрагменте данных OSM.
Как установить Nominatim?
Клонируйте репозиторий: git clone https://github.com/osm-search/Nominatim.git Создайте virtualenv для Python: python3 -m venv nominatim-venv Установите пакеты Nominatim в virtualenv: ./nominatim-venv/bin/pip install packaging/nominatim-{api,db} Создайте каталог проекта, а затем импортируйте данные OSM: nominatim import --osm-file <your planet file> 2>&1 | tee setup.log
Где скачать Nominatim?
Исходный код и инструкции по установке — на GitHub: https://github.com/osm-search/Nominatim

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Самостоятельно размещаемый генератор адресов, который возвращает реальные адреса из официальных реестров и открытых картографических данных для 27 стран и регионов.

2,2 тыс.+21 за неделю336JavaScriptMITОбновлён 4 дня назад

Высокопроизводительный маршрутизатор на C++, который строит маршруты, таблицы расстояний, сопоставляет GPS-треки с картой и решает другие задачи на данных OpenStreetMap.

8,2 тыс.+8 за неделю4 тыс.C++BSD-2-ClauseАктивно поддерживаетсяОбновлён 3 часа назад