geojson rfc7946 gis maps json standards

GeoJSON标准彻底解説:地理空间データのためのRFC 7946マスターガイド

RFC 7946を使用してJSONで地理的特徴を表現する方法を学びます。Point、LineString、Polygonなどに関する完全ガイドです。

2026-04-11

GeoJSON標準徹底解説:地理空间データのためのRFC 7946マスターガイド

Webマッピングや地理情報システム (GIS) の世界において、GeoJSON は空間データを共有するための世界共通語となっています。Leaflet、Mapbox、Google Mapsのいずれを使用している場合でも、おそらく公式なGeoJSON標準である RFC 7946 を利用しているはずです。

RFC 7946 (GeoJSON) とは?

2016年に公開された RFC 7946 は、GeoJSONフォーマットを正式に規定したものです。これはJSON (JavaScript Object Notation) に基づく地理空間データ交換フォーマットであり、幾何学図形(ジオメトリ)、地物(フィーチャ)、およびそれらの集合を表現することができます。

GeoJSONは以下のジオメトリタイプをサポートしています:

  • Point (点): 単一の位置(経度、緯度)。
  • LineString (線): 連続した複数の点。
  • Polygon (面): 閉じられた領域(始点と終点が同じ)。
  • MultiPoint, MultiLineString, MultiPolygon: 上記タイプの集合。
  • GeometryCollection: 異なるジオメトリタイプの混在。

GeoJSONの核心原理

1. 座標系

RFC 7946 では、WGS 84 (世界測地系1984) の使用が厳密に義務付けられています。座標は常に [経度, 緯度] の順序で記述します。 警告:多くの開発者が [緯度, 経度] と書き間違えますが、これを行うとデータが地球上の全く別の場所に表示されてしまいます!

2. フィーチャオブジェクト

GeoJSONの Feature オブジェクトは、ジオメトリと追加のメタデータ(プロパティ)を保持します。

{
  "type": "Feature",
  "geometry": {
    "type": "Point",
    "coordinates": [102.0, 0.5]
  },
  "properties": {
    "name": "Dinagat Islands"
  }
}

3. フィーチャコレクション (FeatureCollection)

ほとんどのGeoJSONファイルは FeatureCollection オブジェクトであり、複数のフィーチャを一つのファイルにまとめることができます。


実践的な活用シーン

Webマッピング

GeoJSONは、ほとんどのモダンなWebマッピングライブラリのネイティブフォーマットです。AJAX経由で簡単にロードでき、properties オブジェクトに基づいて動的にスタイルを設定できます。

データベースストレージ

PostgreSQL (PostGIS) や MongoDB などのモダンなデータベースはGeoJSONをネイティブにサポートしており、「この場所から5km以内のすべての点を検索する」といった空間クエリを実行できます。

データビジュアライゼーション

D3.js などのツールは、GeoJSONデータを取り込んでインタラクティブなSVGマップとしてレンダリングでき、ダッシュボードやインフォグラフィックに最適です。


GeoJSON vs. KML vs. Shapefile

特徴 GeoJSON KML Shapefile
フォーマット JSON XML バイナリ(複数ファイル)
Web親和性 非常に高い 普通 低い
スタイル設定 プロパティ経由 内蔵 (XML) 別ファイル (.qml/.sld)
可読性 はい はい いいえ

よくある質問 FAQ

Q: なぜ [緯度, 経度] ではなく [経度, 緯度] なのですか?
A: RFC 7946 は、経度がX軸、緯度がY軸に対応する標準的なデカルト座標系 [x, y] に従っているためです。

Q: 異なる座標参照系 (CRS) を使用できますか?
A: 旧バージョンのGeoJSONではカスタムCRSが可能でしたが、RFC 7946 では WGS 84 が厳密に要求されます。UTMなどの別の座標系のデータがある場合は、GeoJSONとして共有する前に WGS 84 に投影変換する必要があります。

Q: 大規模なデータセットはどう扱えばいいですか?
A: 非常に大きな空間データセットの場合、GeoJSONはロードが遅くなることがあります。その場合は、トポロジを共有してファイルサイズを削減する TopoJSON や、プロダクションレベルのマッピングに適した ベクトルタイル (MVT) の使用を検討してください。


関連ツール

  • JSON 格式化 - GeoJSON構造のバリデーションと整形に必須。
  • URL 编解码 - GeoJSONデータをURLパラメータとして渡す際に便利。
  • UUID 生成器 - GeoJSONフィーチャにユニークなIDを割り当てる際によく使われます。