KMLをGeoJSONに変換

Google KMLファイルをGeoJSONに変換することで、階層型のXML地理データを、モダンなWebマップ向けの軽量なベクターJavaScript Object Notationへと変換します。

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

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

または貼り付け Ctrl+V

ファイルを待つ間、Code Rainで遊べます

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

フォーマットの比較と技術仕様

仕様KMLGEOJSON
MIMEタイプapplication/vnd.google-earth.kml+xmlapplication/geo+json
タイプ地理情報XML表記地理ベクターJSON
圧縮XMLテキスト(ZIP圧縮時はKMZ)なし(JSONテキスト)
標準仕様OGC KML 2.3IETF RFC 7946
マジックバイトヘッダー3C 3F 78 6D 6C ... 3C 6B 6D 6C (<kml)7B 22 74 79 70 65 22 3A 20 22 ({"type": ") JSON header

フォーマットの概要と用途

地理データは、デスクトップマッピングツールとWebアプリケーションの間で頻繁にやり取りされます。Google KMLはGoogle Earthで使用される標準フォーマットであり、XMLツリー内にポイント、ライン、ポリゴンを構造化します。MapboxやLeafletなどのモダンなWebブラウザやマッピングライブラリは、JavaScriptが使用するデータ構造とネイティブに一致するため、GeoJSONを好みます。開発者やGISアナリストは、専門的なデスクトップソフトウェアを必要とせずにWebページ上でマップオーバーレイを素早く読み込むために、KMLをGeoJSONに変換します。 Webアプリケーションは、大きなXMLドキュメントを解析するのと比較して、JSONを即座に処理します。ユーザーがWebマップを読み込む際、GeoJSONファイルはベクターレンダリングエンジンに直接取り込まれます。この変換により、実行時にXMLタグを翻訳するオーバーヘッドが解消されます。これにより、マップは正確な座標ジオメトリを維持しながら、数千のフィーチャをスムーズに表示できるようになります。

技術仕様とコーデックの詳細

Google KMLはMIMEタイプ「application/vnd.google-earth.kml+xml」を使用し、XMLテキスト構文、または圧縮時はKMZとして知られるZIPコンテナに依存します。GeoJSONはMIMEタイプ「application/geo+json」を使用し、JSONオブジェクトとして構造化された非圧縮のプレーンテキストで構成されます。KMLファイルは多くの場合、標準のXML宣言バイトで始まり、KMZアーカイブはZIPローカルファイルヘッダーバイト「50 4B 03 04」で始まります。GeoJSONファイルは、ルートのJSONオブジェクトを表すASCII文字「{」で始まります。変換プロセスでは、XMLドキュメントツリーを解析し、座標配列とメタデータタグを抽出し、座標精度を損なうことなく、RFC 7946準拠のJSONフィーチャコレクションへと書き換えます。

OSとブラウザの互換性

両方のフォーマットは、Windows、macOS、Linux、iOS、Androidを含む多くの最新オペレーティングシステムで動作します。ブラウザがJSONをネイティブに解析するため、GeoJSONはChrome、Firefox、Safari、Edgeなどの多くの最新Webブラウザでネイティブに実行されます。Google KMLを適切に表示するには、Google Earthなどの専用デスクトップソフトウェアやQGISなどの変換ツールが必要です。Webブラウザでは、サードパーティの解析ライブラリなしにKMLファイルをネイティブ表示できません。

役立つ情報

Webマップ上の空間オフセットエラーを防ぐため、変換する前にソースのKMLがWGS 84地理座標を使用していることを常に確認してください。

よくある質問

品質を落とさずにGoogle KMLをGeoJSONに変換するにはどうすればよいですか?

座標データに対する変換は、数学的にロスレス(可逆)です。どちらのフォーマットも、WGS 84空間参照系を使用して地理座標を格納します。ただし、カスタムアイコンのURLや複雑なポリゴンの押し出し高さなど、KMLの特定のスタイルルールは、標準のGeoJSONに直接の同等物がない場合があり、手動での再作成が必要になることがあります。

Google KMLとGeoJSONの違いは何ですか?

Google KMLは、Earthブラウザ向けに設計されたXMLベースの言語であり、リッチなスタイリング、カメラビュー、3D要素をサポートする階層的なノード構造を備えています。GeoJSONは、JSON上に構築された軽量なフォーマットであり、Web APIやベクターグラフィックスに最適化されており、フィーチャコレクション、ジオメトリ、シンプルなプロパティを含むフラットな構造を持っています。