Mapbox Vector Tiles API
2026年10月20日 16:12
GISBoxは、OSGB/GEOTIFF/RVTなどの複数のGISフォーマットでの編集をサポートし、3DTiles/Terrainへの変換や公開が可能なワンストップ3DGIS データ編集、変換、公開プラットフォームです。
概要
Mapbox Vector Tiles API(高度なベクターサービス)は、Mapboxが提供するベクタータイル(MVT)標準に基づく地図データの配信・レンダリングサービスです。地理要素のジオメトリ情報と属性データを、コンパクトなProtocol Buffersバイナリ形式でタイル化し、Webリクエストを通じてクライアントに送信します。ブラウザ側ではWebGL技術を利用してリアルタイムに地図を描画します。従来のラスタータイルと比較して、シームレスな拡大・縮小、動的なスタイル変更、データのインタラクティブな検索、リアルタイム更新に対応しています。また、データ容量が小さく読み込みが速いうえ、解像度に制限されないため、現在のWeb向け高性能インタラクティブマップを支える中核技術となっています。
構成要素
Mapbox Vector Tiles API(MVT)のファイル構造はProtocol Buffersによるエンコードに基づいており、主な階層は次のとおりです。
- Tile(タイルのルートオブジェクト): .mvtファイル全体を格納する最上位のコンテナで、複数のレイヤーをまとめるlayersフィールドを持ちます。
- Layer(レイヤー): 同種の地物をグループ化したもので、version、name、extent、keys(属性キー)、values(属性値)、features(地物リスト)を含みます。
- Feature(地物): 個々の地理的実体を表し、id、type(点・線・面)、geometry(ジオメトリ座標)、tags(属性インデックス)を含みます。
- Geometry(ジオメトリのエンコード): Turtleグラフィックスに似た命令セットを採用しており、MoveTo(カーソル移動)、LineTo(線の描画)、ClosePath(ポリゴンの閉鎖)などの命令で構成されます。座標はZigZagエンコードされた可変長整数で相対オフセット(デルタエンコーディング)として保存され、高い圧縮率を実現します。
- ファイルのメタ情報: MVTファイルの拡張子は.mvt、MIMEタイプはapplication/vnd.mapbox-vector-tileです。ファイル自体には投影情報(通常はWeb Mercator/EPSG:3857)やスタイル情報が含まれていないため、クライアント側でタイル番号(z/x/y)に基づいて解析・描画する必要があります。
長所
- 拡大・縮小してもぼやけない: ピクセル画像ではなくベクターのジオメトリデータを転送し、クライアント側でリアルタイムに描画するため、どの縮尺でも線や文字を鮮明に表示できます。
- 動的なスタイル変更: スタイルはクライアント側のJSONで制御されるため、データを再リクエストすることなくスタイルを変更でき、ワンクリックでのテーマ変更や複数テーマの並行表示が可能です。
- データ容量が小さく転送が速い: Protocol Buffersによるバイナリエンコードと辞書圧縮(keys/valuesのインデックス化)を採用しています。同じ範囲であれば、ラスタータイルやGeoJSONよりもファイルサイズを大幅に抑えられ、初期表示の高速化と通信量の削減につながります。
- 豊富なインタラクション機能: クライアント側で地物のジオメトリと属性を保持するため、クリックによる情報検索、ホバー時のハイライト表示、属性フィルタリング、空間分析などを直接実装できます。
- 必要なデータだけを効率的に読み込み・キャッシュ: z/x/y形式のタイル座標に基づいてリクエストを行い、現在の表示範囲に必要なデータだけを読み込みます。CDNキャッシュと組み合わせることで、サーバーの負荷を大幅に軽減できます。
- GPUによる高速レンダリング: WebGL/WebGPUと組み合わせることで、ブラウザ上でハードウェアアクセラレーションによる描画が可能です。スムーズなパン・ズーム操作に加え、アニメーションや3D効果にも対応できます。
- オープンな標準規格と成熟したエコシステム: MVTは業界で広く採用されており、OGCでも標準化に向けた取り組みが進められています。さまざまな言語やプラットフォーム向けのライブラリが充実しており、優れたクロスプラットフォーム互換性を備えています。
短所
- クライアント側の描画負荷が大きい: 道路網が密集した地域などでは、ブラウザ上でリアルタイムに解析・描画する必要があるため、性能の低い端末では動作が重くなったり、発熱したりする場合があります。
- ネイティブな3D対応がない: MVT仕様は2次元座標のみを定義しており、高さ情報は属性として格納できますが、そのまま3Dシーンの描画に利用するには適していません。
- 編集機能が限定的: WFS-Tのように地物の追加・削除・変更を行う機能はありません。MVTは読み取り専用の配信形式であり、地物を編集するには別途APIが必要です。
- サーバー側の事前処理コストが高い: 元データをあらかじめタイル化し、.pbf形式にエンコードして複数階層のインデックスを構築する必要があります。データ更新時には再タイル化が必要になる場合があります。
- スタイルの一貫性を保ちにくい: スタイルはクライアント側で定義されるため、端末やブラウザ、レンダリングエンジンの違いによって表示結果に差が生じることがあります。
- 型推論と互換性の問題: 同じ属性列に複数のデータ型が混在する場合があり、デコーダーの実装が複雑になります。また、ジオメトリの命令形式をCPUで前処理してVBOに変換し、GPUに渡す必要があるため、大量のデータを扱う際にはCPUリソースを消費します。
応用シーン
Mapbox Vector Tiles APIは、オンライン地図・ナビゲーション、スマートシティのデータ可視化、大型ディスプレイ向けの地理情報表示、不動産・商業施設の立地分析、災害対応・管理、アウトドア向けオフライン地図、地理科学研究や時空間分析など、幅広い分野で活用されています。必要なデータだけを読み込む仕組み、動的なスタイル変更、クライアント側のインタラクション機能により、Webやモバイル端末上で大量の地理データを効率的に描画し、リアルタイムのデータ重ね合わせや可視化を実現できます。日常的なナビゲーションから専門的な意思決定まで、さまざまなニーズに対応します。
例
1. MVTによる動的なベクタータイル。

ファイルの開き方
1. CesiumでMapbox Vector Tileを読み込む。
関連地図サービス
ORS API
OpenMapSearch API
Nominatim API
Teleport API
参考
- https://docs.mapbox.com/api/maps/vector-tiles/
- https://blog.csdn.net/RicardoMTan/article/details/123899803
- https://qiita.com/k_hirofumi/items/2b45e00a49141afcae0d