| [サイトマップへ] |
Python の overpass パッケージは, OpenStreetMap の Overpass API を Python から使えるようにする機能を持ったソフトウエア.
先人に感謝
キーワード: OpenStreetMap, Overpass API, Python, overpass, geopandas, GeoJSON, 地図データダウンロード, ポイント, ライン, エリア, タグ
前準備として,Anaconda のインストールが終わっていること. 手順を下に説明しています.
Python 3 の開発環境である Anacondaをおすすめ.Window でのインストール手順は次の通りです(Linuxでも同様の手順です).
あとで GeoJSON オブジェクトを扱いたいので,geopanda もインストールする.
起動は,Windows のメニューで「Visual Studio 2017」の下の「VS 2017用 x64 Native Tools コマンドプロンプト」のように操作する.
python -m pip instal --upgrade pip pip install --ignore-installed --upgrade overpass pip install --ignore-installed --upgradegeopandas
※
「pip install --ignore-installed --upgrade
起動は,Windows のメニューで「Visual Studio 2017」の下の「VS 2017用 x64 Native Tools コマンドプロンプト」のように操作する.
エラーメッセージが出ていないことを確認
バージョン番号が表示されれば OK
python -m pip instal --upgrade pip
pip install git+https://github.com/geopandas/geopandas
conda list geopandas
あとでデータをダウンロードするときのために,Google Map を使って緯度・経度を調べてみる
Anacondaに入っている開発環境 spyder を実行し,右下の ipython コンソールを使うのが簡単.
次の Python プログラムを実行
※さきほど調べた緯度と経度
(実行例)
import overpass lat = 34.4461 lon = 133.2315 api = overpass.API() map_query = overpass.MapQuery(lat - 0.001, lon - 0.001, lat + 0.001, lon + 0.001) response = api.Get(map_query)
GeoJSON 形式のデータになっていることを確認
print(response)
OpenStreetMapの「ライン」のデータのうち,「highway」であるようなデータが欲しいとする. OpenStreetMap には,ポイントやラインやエリアには,「highway」のようなタグ付いている.
次の Python プログラムを実行
書きかけ
次の Python プログラムを実行
書きかけ
次の Python プログラムを実行
書きかけ
まとめ