Repolode
osm-search

osm-search/Nominatim

OpenStreetMapのデータを名前や住所で検索し、逆ジオコーディングも行えるオープンソースのジオコーディングサービス。

代替できる製品:Google Maps Geocoding API

スター
4,552
フォーク
869
未解決の Issue
104
最終コミット
3 日前

これは何?

Nominatimは、ジオコーディングと呼ばれる、OpenStreetMapのデータを名前や住所で検索するためのツールです。逆方向の処理も可能で、任意のOSM上の地点から仮想的な住所を生成します。OpenStreetMapのホームページにある検索ボックスの検索バックエンドとして使われており、最新データを使った公開インスタンスで検索できます。

独自のサービスを運用するには、リポジトリをcloneし、国別のグリッドファイルをダウンロードして、APIとデータベースの各コンポーネントに必要なPythonパッケージをインストールします。さらに、planet extractなどのOSMデータファイルをプロジェクトディレクトリにインポートします。その後、uvicornとfalconを使い、nominatim serveコマンドで起動するWebサーバーを通じて検索APIを提供します。

コードベースの大部分はPythonで書かれており、osm2pgsql用のLua設定ファイルも含まれています。ドキュメントでは、安定版リリースと開発ブランチの両方について、インストール、管理、トラブルシューティングを解説しています。

主な機能

  • 01前方ジオコーディング:OSMデータから場所や住所を名前で検索します。
  • 02逆ジオコーディング:指定した座標の住所を生成します。
  • 03planet extractを含むOSMデータファイルをローカルプロジェクトにインポートします。
  • 04PythonのWebサーバー(uvicornとfalcon)を通じて検索APIを提供します。

ユースケース

  • 地図アプリケーションに住所検索やオートコンプリートを追加する。
  • GPSやログの座標を、人が読みやすい住所に変換する。
  • 地域のOSM extractを使って、非公開のジオコーダーを運用する。

クイックスタート

  1. 1

    リポジトリをクローンする

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

    Python の virtualenv を作成する

    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 ライセンスで提供されています。コピーレフトライセンスのため、派生物もオープンソースにする必要があります。
  • 自分で実行するには、OSM の planet ファイル全体をインポートする必要があり、セルフホスティングにはかなりの労力がかかります。

トピック

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

よくある質問

Nominatim とは?
OpenStreetMapのデータを名前や住所で検索し、逆ジオコーディングも行えるオープンソースのジオコーディングサービス。 Nominatimは、ジオコーディングと呼ばれる、OpenStreetMapのデータを名前や住所で検索するためのツールです。逆方向の処理も可能で、任意のOSM上の地点から仮想的な住所を生成します。OpenStreetMapのホームページにある検索ボックスの検索バックエンドとして使われており、最新データを使った公開インスタンスで検索できます。
Nominatim は無料で使えますか?ライセンスは?
Nominatim は GPL-3.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
Nominatim は今もメンテナンスされていますか?
活発にメンテナンス中。Nominatim の最終コミットは 2026年11月3日 です。
Nominatim は何に使えますか?
地図アプリケーションに住所検索やオートコンプリートを追加する。 GPSやログの座標を、人が読みやすい住所に変換する。 地域のOSM extractを使って、非公開のジオコーダーを運用する。
Nominatim のインストール方法は?
リポジトリをクローンする: git clone https://github.com/osm-search/Nominatim.git Python の virtualenv を作成する: 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 をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト