Magicode logo
Magicode
3

Pythonでジオコーディング(Geocoder/Googlemaps)

はじめに

Pythonライブラリを使用し、複数の場所の緯度経度を取得してみたいと思います。今回使用するのは、Geocoder/OpenStreetMap と Googlemapsです。

前提

Google Maps API keyの取得

環境

python 3.7

インストール

  • $pip install geocoder
  • $pip install googlemaps

やったこと・コード

①Pythonでジオコーディング(Geocoder/OpenStreetMap)

結果

清水寺 [34.994303, 135.784438886419]

複数の場所をローカルのtxtファイルからアップロードして、結果を見てみる

結果

アマゾン川
[43.197963, 141.771885]
アマルフィ海岸
[35.7728747, 139.519887]
アルダブラ環礁
None
アルベロベッロのトゥルッリ
None
アンコールワット
[13.41249965, 103.866569373055]
アンダルシアのひまわり畑
None
アンテロープ・キャニオン
None
アンナプルナ
[34.47401005, 133.30666803559]
イースター島
[-27.12595935, -109.349576422058]
イエローストーン国立公園
None
イエローナイフのオーロラ
None
イグアスの滝
[-25.73602815, -54.4746500826546]
  • OpenStreetMapでは、結果がとれない、結果がとれていても精度がよくなかったです。
  • 同じ内容をgooglemapsでもやってみようと思います。

②Pythonでジオコーディング(Googlemaps)

結果

アマゾン川
-3.2996216 -60.6646509
アマルフィ海岸
40.6333389 14.6028963
アルダブラ環礁
-9.4236984 46.3432781
アルベロベッロのトゥルッリ
40.7826344 17.2363428
アンコールワット
13.4124693 103.8669857
アンダルシアのひまわり畑
37.5442706 -4.7277528
アンテロープ・キャニオン
36.8619103 -111.3743302
アンナプルナ
28.596111 83.820278
イースター島
-27.112723 -109.3496865
イエローストーン国立公園
44.427963 -110.588455
イエローナイフのオーロラ
62.4551975 -114.3688018
イグアスの滝
-25.695259 -54.4366662
  • OpenStreetMapよりも結果の取得、取れた結果の精度、ともに上回りました。
  • ただ、Googlemapsでは、ジオコーディングを短時間に実施するとエラーになりましたので、すこし時間を開けています。

まとめ

  • pythonライブラリを使用するととても簡単にジオコーディングできることがわかりました。
  • 緯度経度情報がなく、場所の名称しかわからない場合は、ジオコーディングが有効です。

参考URL

Discussion

コメントにはログインが必要です。