GIS奮闘記

元GISエンジニアの技術紹介ブログ。主にPythonを使用。

スポンサーリンク

Pythonでジオコーディングをやってみる

本日はPythonでジオコーディングをやってみたいと思います。

ジオコーディングって何?という方は以下をご参照ください。
「ジオコーディング(英語: geocoding)は、各種情報に対して、関連する地理座標(典型的には緯度・経度)を付加すること、およびこれに関する技術やソフトウェアをいう。付加された地理座標のことをジオコードと称する。」
ジオコーディング - Wikipedia

なんか説明が小難しいですね。「指定した住所に緯度経度を返してくれる」ことをジオコーディングと言う。こんな認識で問題ないと思います。

ジオコーディングについては以下のエントリーでも別のライブラリを紹介していますので、ぜひ読んでみてください。
www.gis-py.com

今回は「国立競技場」の緯度経度を取得したいと思います。

まずは「geocoder」というPythonのライブラリをダウンロードしましょう。
https://pypi.python.org/pypi/geocoder

ダウンロードしたwheelを以下のような感じでインストールすれば準備完了です。
pip install D:\geocoder-1.6.4-py2.py3-none-any.whl

# -*- coding: utf-8 -*-
import geocoder

def main():
    Localname = u"国立競技場" #検索する住所
    g = geocoder.google(Localname)
    print g.latlng

if __name__ == '__main__':
    main()

これで「国立競技場」の緯度経度が取得できます。すごくシンプルなコードで済みますね。
インタプリタ上の結果を見てみましょう。

f:id:sanvarie:20151121204828p:plain

「35.679933, 139.714465」と出ましたね。
ではこの緯度経度をGoogleMap上で確認します。

f:id:sanvarie:20151121205134p:plain

一致しましたね。とても簡単にできました。
これを応用してGoogleMapと連携すれば以下エントリーのようなこともできます。

www.gis-py.com

以上、本日はジオコーディングについてでした。