Daily Archives: 2013年9月3日

PythonでGeocodingする。

====== Pythonでgeocodingする。 ======
PythonでGooglemaps APIを使ってgeocodingする場合、[[https://pypi.python.org/pypi/googlemaps/|googlemaps 1.0.2]]なるmoduleがあります。
これを使えば、簡単に geocoding や reverse geocodingができるようになるようですが、API V3では動きません。V2のKeyがないとだめなようです。 しかし、V2 API Keyはもはやsupportされていません。
そこで、色々と探してみて、Googlemaps API V3が使えるmoduleを見つけました。
それは、**[[https://pypi.python.org/pypi/pygeocoder|pygeocoder 1.2.1]]**です。本当に、先人に感謝します。
ちょっと、**pygeocoder 1.2.1**使ってみたので、書き留めておきます。

===== pygeocoder 1.2.1 install =====
pygeocoderを動かす環境ですが、
– Windows 7 64 bit (32bitでも可)
– Python 2.7.5 (2013年6月18日現在最新版)
で行います。

環境の構築に関しては、[[http://blog.godo-tys.jp/2013/06/19/2465/|PythonでGeoSpatialをやってみる。[Chapter 1] ]]のinstallのsectionを参考にしてください。

まずは、[[https://pypi.python.org/pypi/pygeocoder|pygeocoder 1.2.1]]から[[https://pypi.python.org/packages/source/p/pygeocoder/pygeocoder-1.2.1.tar.gz#md5=2428eda2b8f6dc10070cb93bd7e3fe35|pygeocoder-1.2.1.tar.gz]]をdownloadして、解凍します。
その後、解凍したfolderにcdして、cmdターミナルから

python setup.py install

を実行します。

以上でinstallは終わりです。

===== how to pygeocoder =====
使い方はいたって簡単です。
PyScripterやIDLEなどから下記のcodeを実行します。

from pygeocoder import Geocoder
results = Geocoder.geocode("Japan")
print(results[0].coordinates)

結果として、
**(36.204824, 138.252924)**
のように日本の中心緯度経度が表示されます。

これは非常に簡単に使えますね。

PyScripterのインタープリタ画面で実行すると、
{{http://blog.godo-tys.jp/wp-content/gallery/python_geocoding_01/image01.jpg}}
ように日本の中心緯度経度が表示されます。

そして、**pygeocoder**のhelpは、
{{http://blog.godo-tys.jp/wp-content/gallery/python_geocoding_01/image02.jpg}}
ようにmoduleの情報が表示されます。

試しに日本語でgeocodingしてみると

from pygeocoder import Geocoder

def main():
results = Geocoder.geocode(u"日本")
print(results[0].coordinates)

if __name__ == '__main__':
main()

のcodeで実行すると、
{{http://blog.godo-tys.jp/wp-content/gallery/python_geocoding_01/image03.jpg}}
ように日本の中心緯度経度が表示されます。

大丈夫のようですね。

===== 今回のまとめ =====
**pygeocoder**を使って簡単にgeocodingしてみました。
PythonでExcel(2003以前と2007以降)の読み書きについてもまとめておきましょう。