🌏
overturemaps-pyでOverture MapsのデータをDLする
オープンな地図データのプロジェクト、Overtue Mapsが最初のデータをリリースしてから約1年が経ちました。この間、当初のParquet形式からGeoParquet形式になったり、スキーマが大きく変更になったりと着々と開発が進み、2024年4月にはこれまでα版だったデータがβ版に格上げされました。
実はデータの本体だけでなく、データを利用するためのツールの開発も進んでいます。この記事ではその中のひとつ、Pythonのコマンドラインツール、overturemaps-pyを紹介します。
overturemaps-pyのインストール
overturemaps-pyはGitHubで公開されています。
pip install overturemaps
コマンドラインオプション
-
--bbox
: ダウンロードしたい領域。オプション。西端、南端、東端、北端の順で指定します。ここでは仮に東京駅周辺を指定してみます。 -
-f
: 出力形式。"geojson"、"geojsonseq"、"geoparquet"の3種類が選べます。必須。 -
--output / -o
: ファイルの出力先。オプション。 -
--type / -t
: ダウンロードするOverture Mapsのデータタイプ。必須。overturemaps download --help
を実行するとダウンロードできるデータタイプの一覧が出力されます。この記事の執筆時点では以下のデータタイプがダウンロードできるようです。- locality
- locality_area
- administrative_boundary
- building
- building_part
- division
- division_area
- place
- segment
- connector
- infrastructure
- land
- land_cover
- land_use
- water
bboxを指定する
Klokan Techが提供しているBounding Box Toolを利用しましょう。
- Bounding Box Toolでダウンロードしたい領域を指定します。
- 画面右下の形式をCSVに変更します。
- 画面下中央の数値をコピーします。
)
今回は東京駅及び皇居を含む領域のbboxを取得することにします。
139.739896,35.670729,139.777419,35.700196
データをダウンロードする
準備は整いました。ダウンロードしましょう。
今回は試しにbuildingのデータを取得します
まずはGeoJSON形式でダウンロードしてみます。
overturemaps download --bbox=-71.068,42.353,-71.058,42.363 -f geojson --type=building -o tokyo.geojson
せっかくなので、GeoParquet形式でもダウンロードしておきましょう。
overturemaps download --bbox=-71.068,42.353,-71.058,42.363 -f geoparquet --type=building -o tokyo.parquet
ダウンロードの結果は以下のとおりです。
形式 | 容量 | 所要時間 |
---|---|---|
GeoJSON | 5.7MB | 0:01:27 |
GeoParquet | 1.7MB | 0:01:17 |
結果を表示する
VScodeの拡張機能、Map Previewで表示してみた結果はこのようになりました。
まとめ
これまで全球データがバルクで配布されており、一部のデータを切り出す方法としてはDuckDBでのダウンロードがアナウンスされていました。overturemaps-pyの登場でより気軽にデータの取得ができるようになり、どんどんエコシステムが出来上がっていっているような気がしています。
これからもOverture Mapsからは目が離せません。
Discussion