2011/06/30

Google Map APIを使って、簡単に地名などから緯度、経度に変換が出来るPythonのモジュール「googlemaps」を使ってみました



Google Map APIを使って、簡単に geocoding や reverse geocoding が出来るPythonのモジュールがあります。

googlemaps 1.0.2
http://pypi.python.org/pypi/googlemaps/


ジオコーディングとは、住所や地名、駅名などの情報から、緯度・経度の座標値に変換する技術のことです。

住所から、緯度、経度への変換
> python
Python 2.5.2 [MSC v.1310 32 bit (Intel)] onwin32
>>> from googlemaps import GoogleMaps
>>> gmaps = GoogleMaps('API_Key')
>>> address = u'岡山市'
>>> lat, lng = gmaps.address_to_latlng(address)
>>> print lat, lng
34.6551456 133.9195019

サンプルでは、Google MapのAPIキーを使っての説明をしていますが、Google Maps API v3からは、APIキーは不要になったので、APIキーを渡さなくても操作できます。
>>> from googlemaps import GoogleMaps
>>> gmaps = GoogleMaps()
>>> address = u'岡山市'
>>> lat, lng = gmaps.address_to_latlng(address)
>>> print lat, lng
34.6551456 133.9195019

Linux上でも同様に動きます。

$ python
Python 2.6 [GCC 3.4.4 20050721 (Red Hat 3.4.4-2)] on linux2
>>> from googlemaps import GoogleMaps
>>> gmaps = GoogleMaps()
>>> address = u'岡山市'
>>> lat, lng = gmaps.address_to_latlng(address)
>>> print lat, lng
34.6551456 133.9195019

逆(緯度、経度から住所への変換)も可能です。
>>> destination = gmaps.latlng_to_address(34.6551456,133.9195019)
>>> print destination
岡山市役所

その近辺の検索

「秋葉原周辺のWifiスポットのある喫茶店」?の検索結果の最初のもの「」Japan town acupuncture & Oriental Medicine, Inc.」がヒット
>>> local = gmaps.local_search('cafes w. free power near akihabara')
>>> print local['responseData']['results'][0]['titleNoFormatting']
Japan town acupuncture & Oriental Medicine, Inc.
「Okayama」に変ると「Ryokan Misono Kurashiki」がヒット
>>> local = gmaps.local_search('cafes w. free power near Okayama')
>>> print local['responseData']['results'][0]['titleNoFormatting']
Ryokan Misono Kurashiki
「Okayamaの近くのschool」の検索結果の4番目のもの
>>> local = gmaps.local_search('school near Okayama')
>>> print local['responseData']['results'][3]['titleNoFormatting']
フラップアップゼミ
「岡山市」に変ると「鬼ヶ島宮ノ松原キャンプ場」がヒット
>>> local = gmaps.local_search(u'school near 岡山市')
>>> print local['responseData']['results'][3]['titleNoFormatting']
鬼ヶ島宮ノ松原キャンプ場
「岡山市の近くの学校」に変ると「KLCセミナー倉敷校」がヒット
>>> local = gmaps.local_search(u'学校 near 岡山市')
>>> print local['responseData']['results'][3]['titleNoFormatting']
KLCセミナー倉敷校

0 件のコメント:

人気の投稿 (過去 30 日間)