GeoJSON (.geojson)

IETF 標準

GeoJSONはWeb地図で広く使われますが、対応は異なります。GitHubの地図表示には制限があり、RFC 7946は経度、緯度の順を定めています。

GEOJSON を KML に変換

無料のブラウザ内 GEOJSON から KML へのコンバーター。お使いのデバイスでファイルを即座に変換します。

調査とメタデータ

オペレーティングシステムやファイル解析ツールは、先頭のバイナリ列を検査してGeoJSONファイルを識別します:

ファイルを選択するか、ここにドロップしてください

プライベート - ファイルがデバイスの外に出ることはありません

または貼り付け Ctrl+V
ネットワーク送信ゼロのプライバシー保証: 外部サーバーへのデータ送信は0バイトです。すべての処理はお使いのブラウザのサンドボックス内でローカルに実行されます。

バイトレベルのヘッダーシグネチャ (マジックバイト)

オペレーティングシステムやファイル解析ツールは、先頭のバイナリ列を検査してGeoJSONファイルを識別します:

16進数シグネチャ(オフセット0):

7B 0A 20 20 22 74 79 70 65 22 3A 20 22 46 65 61 74 75 72 65

ASCII表現: {\n "type": "Feature

標準化: IETF RFC 7946

技術仕様

コンテナアーキテクチャ地理的なFeatures、FeatureCollections、Geometriesを表すRFC 7946準拠のJSON文書
圧縮非圧縮テキスト(HTTP経由ではGzipまたはBrotliで容易に圧縮可能)
バイトエンディアンUTF-8テキストストリーム
色空間該当なし(地理データ)
チャンネルと構造Points、MultiPoints、LineStrings、MultiLineStrings、Polygons、MultiPolygons、GeometryCollections、およびカスタムプロパティ
最大寸法World Geodetic System 1984(WGS 84)の座標空間:経度(-180~+180)、緯度(-90~+90)
透過性なし
ストリーミングとプログレッシブ改行区切りGeoJSON(GeoJSONL / GeoJSONSeq)により、数百万件のフィーチャーを連続ストリーミング可能

技術比較表:GeoJSONと競合製品

技術属性GeoJSON (現在)KMLGPXSHP
Webマッピングの採用Web GISで広く使われるデフォルト(100%)Google EarthのデフォルトGPSデバイスおよびフィットネスのデフォルトデスクトップGISのレガシー標準
座標の順序[経度, 緯度] (X, Y)経度, 緯度, 高度緯度, 経度X, Y座標
構文スタイル簡潔なJSONのキーと値冗長なXMLタグ (<kml>)冗長なXMLタグ (<gpx>)マルチファイルバイナリ (.shp, .shx, .dbf)
プロパティスキーマ任意のJSONプロパティオブジェクトExtendedDataスキーマタグ固定GPXスキーマタグdBase IV (.dbf) 固定列

一般的な破損モードと16進数リカバリガイド

マップ上のポイントが実際の場所ではなく、南極近くの海上に表示される。

根本原因: 座標配列内で緯度と経度の値が誤って入れ替わっていました。

復旧: File2File.app GeoJSONコンバーターを使用して座標位置 [lon, lat] を入れ替えます。

セキュリティ分析とパーサー攻撃ベクトル

GeoJSONプロパティには任意のユーザー入力が含まれる可能性があり、XSSを防ぐためにマップポップアップにレンダリングする前にサニタイズする必要があります。

既知の攻撃ベクター

  • マップツールチップでレンダリングされるGeoJSONフィーチャプロパティ内のエスケープされていないHTMLを介したクロスサイトスクリプティング(XSS)。
  • 深くネストされたGeometryCollectionまたは数百万の頂点を持つポリゴンを通じたサービス拒否(DoS)。
  • リモートGeoJSONフィーチャの読み込みを通じたサーバーサイドリクエストフォージェリ(SSRF)。

防御的ベストプラクティス: マップのポップアップウィンドウに挿入する前に、すべてのプロパティのテキスト文字列をDOMPurifyでサニタイズします。

歴史的背景とマイルストーン

2016IETFがGeoJSONフォーマットをRFC 7946として正式に標準化し、WGS 84座標参照系を義務付けました。
2014GeoJSONはWeb地図で広く使われますが、対応は異なります。GitHubの地図表示には制限があり、RFC 7946は経度、緯度の順を定めています。
2008ハワード・バトラー(Howard Butler)、ショーン・ギリス(Sean Gillies)、およびオープンソースGISコミュニティが初期のGeoJSON 1.0仕様を公開しました。

主なメリット

  • ネイティブWeb標準:ブラウザのマッピングライブラリ(Mapbox GL JS、Leaflet)内のJavaScriptオブジェクトに直接マップされます。
  • 人間が読めるJSON構造により、プログラムによる作成、フィルタリング、デバッグを簡単に行うことができます。
  • 任意のプロパティスキーマ:人口、名前、速度、収益などのカスタムメタデータを幾何学的形状に直接アタッチできます。

技術的な制限とデメリット

  • テキストの冗長性:浮動小数点座標を繰り返しのASCII数字として保存するため、バイナリのShapefileやFlatGeobufよりもファイルサイズが大きくなります。
  • RFC 7946では[経度, 緯度]の順序が厳密に義務付けられており、「緯度/経度」に慣れている開発者をしばしば混乱させます。
  • 数百万の頂点を持つ大きなポリゴンは、WebブラウザのDOM描画の速度低下を引き起こす可能性があります。

興味深い技術トリビア

  • 公式のGeoJSON標準では、座標の順序を[経度, 緯度](X、Yのデカルト順)としており、これは人間が話す順序(「緯度, 経度」)とは正反対です。
  • GeoJSONはWeb地図で広く使われますが、対応は異なります。GitHubの地図表示には制限があり、RFC 7946は経度、緯度の順を定めています。
  • RFC 7946では、ポリゴンの境界リングが「右手の法則」に従う必要があり、外側のリングは反時計回りに巻く必要があると義務付けられています。

よくある技術的な質問

GeoJSONの座標が[緯度, 経度]ではなく[経度, 緯度]の順になっているのはなぜですか?

GeoJSONはWeb地図で広く使われますが、対応は異なります。GitHubの地図表示には制限があり、RFC 7946は経度、緯度の順を定めています。

KMLやShapefileをGeoJSONに変換するにはどうすればよいですか?

ブラウザ上でFile2File.appを直接使用して、Google EarthのKMLファイルやEsri Shapefileを数秒でWeb向けの整ったGeoJSONに変換できます。

GeoJSONとShapefileの違いは何ですか?

Shapefileは現在もデータ交換で広く使われ、GISソフトウェアでもサポートされています。ただし、複数ファイルで構成される点や属性の制限から、用途によってはGeoJSONやジオデータベースの方が適しています。