🌏

overturemaps-pyでOverture MapsのデータをDLする

2024/06/14に公開

オープンな地図データのプロジェクト、Overtue Mapsが最初のデータをリリースしてから約1年が経ちました。この間、当初のParquet形式からGeoParquet形式になったり、スキーマが大きく変更になったりと着々と開発が進み、2024年4月にはこれまでα版だったデータがβ版に格上げされました。

実はデータの本体だけでなく、データを利用するためのツールの開発も進んでいます。この記事ではその中のひとつ、Pythonのコマンドラインツール、overturemaps-pyを紹介します。

overturemaps-pyのインストール

overturemaps-pyはGitHubで公開されています。
https://github.com/OvertureMaps/overturemaps-py

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を利用しましょう。

  1. Bounding Box Toolでダウンロードしたい領域を指定します。
  2. 画面右下の形式をCSVに変更します。
  3. 画面下中央の数値をコピーします。

Bounding Box Tool)

今回は東京駅及び皇居を含む領域の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で表示してみた結果はこのようになりました。
Overture Maps buildings in Tokyo

まとめ

これまで全球データがバルクで配布されており、一部のデータを切り出す方法としてはDuckDBでのダウンロードがアナウンスされていました。overturemaps-pyの登場でより気軽にデータの取得ができるようになり、どんどんエコシステムが出来上がっていっているような気がしています。

これからもOverture Mapsからは目が離せません。

Discussion