概要
geopy
という Python のライブラリを見つけたので、
試しにジオコーディングしてみます。
ドキュメントはこちら。
Welcome to GeoPy’s documentation! — GeoPy 1.21.0 documentation
手順の概要
- Excel からジオコーディング対象の場所リストを読み込む
geopy
でジオコーディングして緯度経度を取得する- Excel に出力する
環境
- Python 3.6.5
- Jupyter Notebook
手順
1. コマンドプロンプトで geopy をインストール
pip install geopy
ちなみに、Jupyter Notebook からでも、
先頭に!
をつければpip install
できます。
qiita.com
2. 場所リストを入力したExcelを用意
普通は住所からジオコーディングしますが、
地図上で検索できるなら施設名称でもいけそうです。
今回は、観光スポットを10箇所記載したExcelファイルを用意しました。
- 観光スポット一覧.xlsx
ちなみに、観光スポットはぐるたびを参考にしました。
全国の名所・観光スポット 人気ランキング│観光・旅行ガイド – ぐるたび
3. Python で処理を実行
途中結果を Jupyter で確認しつつ、
ジオコーディングして結果をout.xlsx
に出力します。
ジオコーディングに使うロケータはいくつか選べるようですが、
ここではオープンストリートマップのNominatim
を使いました。
JA:Nominatim - OpenStreetMap Wiki
4. 出力結果の確認
「熱海温泉」はぼんやりしすぎで位置は特定できませんでしたが、
ほかは結果が取得できました。
あとがき
Nominatim
のほかに Google V3
も試しましたが、
ジオコーディングを短時間に2回以上で行うとエラーになります。
ライセンスとか設定する必要があるんですかね(適当)。Nominatim
では10件流せましたが、何回までできるかは調べていません。
地図上に示せれば、旅行計画に役立ちそうですね。