Google Map API を利用した Python によるジオコーディング
いろんなデータを漁ってると、住所だけの情報を扱うことがでてきます。
よほど整備されたデータでない限り、緯度・経度なんてついてないことが多い。。。
私は地理データが大変苦手なんですが、どうしても正確な位置情報をダッシュボード上にプロットする必要があったので、
Pythonでジオコーディングします。
ググってみると色々やり方はあるようなのですが、
既にエラーで出来ないコードも多かったので、確実なGoogle Map APIとgooglemaps
を使った方法にします。
Google Map API の使用
GCPでGeocoding APIを取得するだけの作業です。
ソースは以下のような詳しいサイトがたくさんあるので、これらに従えば大丈夫です。
取得できたらAPIキーをコピっておきます。
Python
利用するのは googlemaps
です。
試しにマイホームタウンの横浜市役所の住所をぶちこんでみます。
#!pip install googlemaps import googlemaps googleapikey = 'ここにAPIキーを入れる' gmaps = googlemaps.Client(key=googleapikey) gmap_list = gmaps.geocode("横浜市中区港町1-1") ll = gmap_list[0]["geometry"]["location"] print("Latitude : ",ll["lat"]) print("Longitude : ",ll["lng"])
無事、緯度経度を取得できたようです。
実際に横浜市役所の位置か検証します。
先生!ばっちりでありんす!
これで適当にリストで住所をながせば、緯度経度情報が簡単に揃えられそうです。
※APIの使用制限や料金はちゃんと検討しないと・・・。まだ詳しくないです。すみません。
ちょっとだけ、地理データと仲良くなれた気がしたデータ遊びでした。