GUNMA GIS GEEK

群馬県の片隅でオープンデータとデータビジュアライゼーションとGIS(地理情報システム)に戯れるエンジニアのブログ

leaflet.js maps

バイナリベクトルタイルのデバッグツール

投稿日:

概要

以前バイナリベクトルタイルの作成工程を記事しました。
バイナリベクトルタイルはその名の通りバイナリ形式のデータなのでGeoJSONのようなテキスト形式のデータのように開いて簡単に中身を見るといったことができません。

そこで、バイナリベクトルタイルを作成する工程の各ポイントで変換等がうまくいっているか確認できるツール類を紹介します。

バイナリベクトルタイルの作り方

mbtilesの内容を確認する

mojodna/tessera: A tilelive-based tile server.

tippecanoeを使ってGeoJSONをmbtilesに変換しますが、正しく変換できていなければこの後の工程がそもそも無駄になります。
tesseraというツールを使うとmbtilesのデータを地図に表示して内容を確認することができるので、このツールを使ってtippecaneを使った変換が正しく行われているか確認しておくと余計な手戻りを防げます。

インストール

作成したmbtilesファイルを指定して実行します。

ローカルサーバーが起動するので出力されたurlをブラウザで開いて確認します。

この状態で正しくデータが表示されないようであれば、変換に失敗しています。

mbtilesのメタデータを確認する

mapbox/mbutil: Importer and Exporter of MBTiles

mbtilesを静的ファイルに変換するmb-utilを使うとメタ情報を確認することもできます。

メタ情報にはズーム範囲やboundsなど変換したバイナリベクトルタイルの情報が含まれています。

特にvector_layersのidは、フロントエンドでタイルを表示する際に必要になることがあるので、確認しておくとよいでしょう。

mvt(pdf)ファイルの中身を確認するスクリプト

作成したmbtilesをmb-utilを使って変換した静的ファイルに問題がないか確認したい場合がありますが、ファイルはバイナリファイルになっているのでそのままでは確認できません。そこで、mvt(pdf)のファイルをGeoJSONに変換するスクリプトを作成しました。

以下のリポジトリからダウンロードできます。

shimizu/vt_pbf2json

使い方は以下

フロントエンドでのデバッグ

バイナリベクトルタイルは、通常フロントエンドでGeoJSONに戻されて利用されます。
例えば、L.TileLayer.MVTSourceプラグインの場合、filterやstyleに設定したコールバックの引数「feature」にバイナリベクトルタイルから変換されたGeoJSONが渡されるので、それらの関数の直下で内容を確認すると、デバッグがしやすいです。

About Me

著者: 清水正行
所在地: 群馬県高崎市

群馬・東京間を行き来する出稼ぎエンジニア。GIS(地理情報システム)・データビジュアライゼーション・オープンデータなどについて書いてます。