GeoNLP

テキストを自動的に地図化する地名情報処理ソフトウェア

jageocoder - Python版日本の住所ジオコーダー/住所を緯度経度に変換するジオコーディングサービス

jageocoderは、日本の住所を緯度経度に変換する、Python版ジオコーディングソフトウェアです。日本の住所を都道府県・市区町村・町丁・番地・字などに分け、住所データベースから緯度経度を検索するジオコーディング(geocoding)機能を有します。住所を分割し、正規化(クレンジング)し、名寄せするなど、住所を統一的に扱うためのコンバータとしても利用できます。

独自の住所データベースを構築することで、全国の住居表示住所に対応、地番住所にも可能な限り対応します。また、住所データベースを参照することで、正規表現やノウハウに基づくプログラムに比べると、確実なジオコーディングが可能となります。また、住所と紐づく各種のID(地方公共団体コードや郵便番号など)の出力機能や、緯度経度から住所を推定する逆ジオコーディング(reverse geocoding)機能も提供します。

デモ

PyGeoNLPに含まれる住所ジオコーダー連携機能を用いることで、文章中に出現する住所を自動抽出し、ジオコーディングすることもできます。オープンソースのソフトウェアですので、手元のコンピュータにインストールすれば、無料で利用できます。以下のように、PyGeoNLP WebAPIを用いた無料のデモサービスを提供しています。

利用例

全国の再生可能エネルギー発電所の住所を、jageocoderで自動的に解析して緯度経度に変換し、地図上にプロットした例です。太陽光発電所や風力発電所、水力発電所などは都市部だけでなく山間部にも分散するため、発電所データベースには全国の多様な地番住所パターンが出現します。そこには、表記揺れや異体字が頻繁に出現するだけでなく、住所の構造も複雑な場合があります。こうした住所は、正規表現を用いるような単純な方法ではジオコーディングが困難ですが、jageocoderはこうした住所に対しても可能な限り詳細な緯度経度を返すように、住所解析のロジックを工夫しました。

ただし地番住所については、地域によって住所データの充実度が異なるため、細かい字などについては対応できる地域とできない地域があります。今後の住所データの充実に期待するところです。

参考:エレクトリカル・ジャパン

また、『日本歴史地名大系』地名項目データセットの歴史地名の位置推定にもjageocoderを活用しています。

開発

日本の住所ジオコーダーjageocoderおよび関連ツールは、情報試作室の相良毅氏が開発を進めるフリーのソフトウェアです。GeoNLPプロジェクトの一部ではありませんが、GeoNLPとの結合テストなどの面で密接な協力関係にあります。