Featured image of post 地図ベクトルタイルのスタイル定義:Mapbox・MapLibre・GSIの比較

地図ベクトルタイルのスタイル定義:Mapbox・MapLibre・GSIの比較

地図のデザインを定義する「スタイル JSON」は、Mapbox が定めた Mapbox Style Specification をもとに発展してきました。現在では、オープンソース版である MapLibre Style Spec 、そして日本の 国土地理院(GSI)による地理院地図 Vector スタイル仕様 が存在します。ここでは、Mapbox を基準にそれぞれの仕様の違いを整理します。

地図スタイル仕様の歴史的背景

現在使われている「スタイル JSON」という形式の地図デザイン定義は Mapbox 社が 2010 年代半ばに確立した Mapbox Style Specification に端を発します。

この仕様は Mapbox GL JS の登場とともに公開され、WebGL による動的な地図描画を可能にするデファクト・スタンダードとなりました。

その後、オープンソースの継承版である MapLibre Style Spec が派生し、さらに日本では国土地理院が同構造を参照して 地理院地図 Vector スタイル を策定しました。現在の多くの地図プラットフォームは、この流れのいずれかに位置づけられます。

主な経緯

出来事
2013年Mapbox がベクトルタイル技術を発表。Mapbox Streets などに導入。
2014年公式ブログで「Introducing Mapbox GL」を発表。スタイル JSON による地図表現を実装。
2019年7月29日国土地理院が「地理院地図 Vector」を試験公開。
2020年3月19日国土地理院が全国データの提供を開始。
2020年12月Mapbox GL JS v2 のライセンス変更により OSS ではなくなる。
2021年1月MapLibre プロジェクトが発足し、Mapbox GL JS v1 をフォークして継続開発へ。

Mapbox スタイル と GSI(地理院地図 Vector スタイル)の比較

比較項目Mapbox Style Specification(基準)GSI 地理院地図 Vector スタイル備考
基本構造JSON 構造で、version, sources, layers, sprite, glyphs 等をルート要素に持つJSON 構造(PDF仕様書で定義)。group, directory, item, layer, draw の階層構造を持つGSI は階層的グルーピングを導入
レイヤ構造layers 配列にレイヤを列挙groupdirectory に複数レイヤ (layer 要素) を含む表示制御・UIとの親和性を意識
レイヤタイプ"type""fill", "line", "symbol", "circle", "raster", "background", "fill-extrusion", "heatmap", "hillshade""draw" の中で "type": "fill", "line", "symbol" 等を指定3D系は明記されていない
描画プロパティ"paint", "layout" に属性を定義"draw" の中で color, opacity, weight などを指定簡略化され、読みやすい構成
追加描画指定"fill-pattern" 等の標準機能"fill-style"(斜線・網掛け)など独自拡張網掛け・ハッチ表現をサポート
属性フィルタ"filter" に Mapbox 式"filter" 準拠式の機能は限定的
ズーム範囲"minzoom", "maxzoom"同等にサポート互換性あり
描画順序layers の配列順序"zIndex" 数値で制御独自の順序指定
グループ構造標準仕様には無い"group", "directory", "item" で階層構造GSIサイトのUI構成に対応
独自プロパティ無し"additional-filter", "blend", "editZIndex" 等あり行政用途に最適化
互換性Mapbox/MapLibreで利用可能Mapbox準拠だが完全互換ではない拡張部分は無視される場合あり
更新頻度継続的に更新2020年版(PDF固定)国内向け限定仕様
公式仕様Mapbox Style Spec地理院地図Vector仕様(PDF)

Mapbox スタイル と MapLibre スタイルの比較

比較項目Mapbox Style Specification(基準)MapLibre Style Specification備考
基本構造version, sources, layers, sprite, glyphs同一構造。Mapbox仕様のフォーク完全互換ベース
目的Mapbox社の商用プラットフォーム向けOSS 互換実装(MapLibre GL JS / Native)コミュニティ主導
互換性最新 Mapbox GL JS に追従Mapbox v1系を基に後方互換重視実装差は最小限
仕様更新方針商用更新サイクルOSS コミュニティで審議運営主体が異なる
拡張機能"terrain", "sky", "fog" など段階的対応または未対応
式(Expressions)高度な式構文をサポート同等の式構文を実装互換性高い
3D表現"fill-extrusion", "terrain", "sky""fill-extrusion" 対応。その他は実装依存
仕様拡張性Mapbox独自追加ありMapbox依存削除・独立維持
ライセンスMapbox社 商用MapLibre Org BSD系OSS
適用範囲Mapbox Studio, API, GL JS v2+MapLibre GL JS, Native, QGIS等
公式仕様Mapbox Style SpecMapLibre Style Spec

まとめ

  • GSIスタイル は Mapbox仕様を拡張し、行政地図や日本特有の表現(網掛け、階層構造など)を取り込んだ独自仕様。
  • MapLibreスタイル は Mapbox仕様のフォークであり 互換性を保ったオープンソース版
  • 両者とも Mapbox の影響下にありながら、目的に応じて異なる方向に進化している。

参考・出典

Licensed under CC BY-NC-SA 4.0
Nov 12, 2025 18:06 +0900