大量の地理情報データを扱いたい際に有効なバイナリベクトルタイル
概要
諸事情により大量の地理情報データを扱いたいことがあり,苦戦してしまったのでその備忘録です.地理情報を扱う際に最初に思いつくのは JavaScript の Leaflet かと思いますが,実は大量のデータを扱うことには向いていません.ここで知ってほしいのがバイナリベクトルタイルです.
バイナリベクトルタイルの概要については分かりやすい資料があったのですが,一番分かりやすい資料はどこかに行ってしまいました...
とりあえずこちらの3つが分かりやすいと思います.
- https://gunmagisgeek.com/blog/leaflet-js/5354 (バイナリベクトルタイルとは )
- https://www.mapcom.tokyo/mapcomworldtopics/topics79/ (タイル画像と(ラスター)とベクトルタイルの違いとは?)
- https://day-journal.com/memo/try-051/ (全部)
使ってみた
実際に使ったのはかなり前なので,メモを元に書きます.自分は geojson から変換しました.変換は tippecanoe というのを使います.インストール方法とかは覚えていませんがそんなに難しくはなかったはず.
tippecanoe をインストールしたら次のようなコマンドで行けます.
tippecanoe --no-tile-compression --no-feature-limit --no-tile-size-limit -z12 -Z0 -e output_dir -l tw /*geojson
参考はこちら なのですが, あまりに大規模なファイルを作成しようとするとエラーがでるので --no-feature-limit --no-tile-size-limit を付けます.
これでズームレベルごとに pbf ファイルができるのでこれで完成です.