Jageocoder-server

jageocoder-server は 住所の検索・解析や、住所を含む CSV ファイルの 一括ジオコーディング機能(住所に対応する経緯度や市区町村コードなどの 列を追加する機能)を提供するウェブアプリケーションです。

まずは デモンストレーション で 何ができるのかお試しください。

Google Maps API 等のウェブサービスと比較すると、次のような特徴があります。

メリット

  • 利用者側でサーバを立ち上げるので、情報漏洩などのセキュリティリスクを大幅に低減できます。
  • 利用は無料で件数制限などもありません。
  • サーバ構築時にはインターネット接続が必要ですが、一度構築すればオフライン環境でも利用できます(背景地図は利用できません)。

デメリット

  • 物理的にサーバマシンを用意する必要があります。Windows PCでもOKです。
  • 住所データファイルもサーバ上にインストールするため、住所データはデータファイルを差し替えないと更新されません。
  • 住所データファイルはオープンデータから作成していますので、 有償サービスに比べると精度や網羅している範囲が限定されています。 また、データ提供元の利用条件には従ってください(成果物を公開する際の出典の明示など)。

サーバ導入手順

例として、 Windows PC に Docker Desktop を利用して jageocoder-server を立ち上げる手順を説明します。

Docker Desktop のインストール

jageocoder-server のダウンロードと配置

  • ここから最新のコードをダウンロードします。
  • ファイルエクスプローラーなどでダウンロードした jageocoder-server-main.zip ファイルを展開します。
  • 住所データファイル一覧 から適切なファイルをダウンロードします。
  • ダウンロードした住所データファイルを、jageocoder-server-main.zip を展開したフォルダ内の data フォルダにコピーします。

Docker Desktop で起動

  • PowerShell を開きます。
  • jageocoder-server-main.zip を展開したフォルダに移動します。

      > cd c:\Users\xxxx\Downloads\jageocoder-server-main\jageocoder-server-main
    
  • Docker イメージを作成します。

      > docker compose build
    
  • Docker コンテナを起動します。

      > docker compose up -d
    

    初回起動時は、住所データファイルから辞書データをインストールするため、時間がかかります。 data\init.log に途中結果が出力されるので、 Starting server process... と出力されるまでのんびりお待ちください。

      > Get-Content -Wait -Tail 10 -Path data\init.log
    
  • ブラウザでアクセスします。

    ブラウザを起動して、 http://localhost:5000/ を開いてください。

  • Docker コンテナを終了します。

    システムを停止する場合は Docker コンテナを停止します。

      > docker compose down
    

    インストールした辞書データは Docker Volume に保存されているので、 二回目以降の実行時はコンテナを起動すればすぐに利用できます。

      > docker compose up -d
    
  • 辞書を更新するには、 data フォルダに新しい辞書ファイルを置いてから、 コンテナを再起動してください。自動的に辞書のインストールが始まります。

      > docker compose down
      > docker compose up -d