Google KML (.kml)

OGC 標準

Keyhole Markup Language (KML) は、地理的な注釈や視覚化を表現するためのオープンなXML標準であり、元々はKeyhole Earth Viewer(Google Earth)向けに開発され、Open Geospatial Consortium(OGC)によって標準化されました。

GEOJSON を KML に変換

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

調査とメタデータ

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

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

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

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

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

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

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

3C 6B 6D 6C

ASCII表現: <kml

標準化: OGC KML 2.3標準

技術仕様

コンテナアーキテクチャPlacemark、GroundOverlay、3Dモデル、カメラ視点を定義するXMLベースの地理可視化文法
圧縮非圧縮XMLテキスト(.kmzファイルではZIP圧縮)
バイトエンディアンUTF-8 / Unicodeテキストストリーム
色空間AABBGGRR形式の16進カラー文字列
チャンネルと構造Placemark、パス、多角形、3D建物モデル、写真オーバーレイ、ツアー用カメラパス
最大寸法WGS 84座標:経度、緯度、高度(海抜メートル)
透過性AABBGGRRカラー文字列とPNGオーバーレイでアルファ透明度に対応
ストリーミングとプログレッシブNetworkLinksにより、リモート地理空間サーバーから動的なストリーミング更新を取得可能

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

技術属性KML (現在)GEOJSONGPXKMZ
3Dカメラとツアー完全なカメラの傾き、方位、およびフライスルー・ツアーなし(フラットなジオメトリプロパティ)高度の追跡完全なカメラの傾きとフライスルー・ツアー
パッケージング形式プレーンテキストXMLドキュメントプレーンテキストJSONドキュメントプレーンテキストXMLドキュメントdoc.kmlを含むZIPアーカイブ
カラーフォーマットAABBGGRR (アルファ・青・緑・赤)CSS / 16進数標準なしAABBGGRR
主な宛先Google Earth & 3D GISWebマップ (Mapbox, Leaflet)Garmin & GPSフィットネス追跡Google Earthスタンドアロンアーカイブ

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

Google Earthのエラー:'Parse error at line X: mismatched tag'。

根本原因: 閉じられていないXMLタグ、またはバルーン説明のHTML内でのエスケープされていないアンパサンド。

復旧: File2File.app KML修復を使用して、XML構文を修復し、説明を <![CDATA[...]]> で囲みます。

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

KMLファイルは、XXE、SSRF、またはクロスサイトスクリプティング(XSS)を引き起こす可能性のあるNetworkLinksおよびHTML説明バルーンをサポートしています。

既知の攻撃ベクター

  • 内部イントラネットのエンドポイントをポーリングする悪意のある <NetworkLink> タグを介したサーバーサイドリクエストフォージェリ(SSRF)。
  • デスクトップまたはWebのEarthバルーン内で実行される <description> タグ内のサニタイズされていないHTMLを介したXSSインジェクション。
  • 自動化されたKML処理中のXML外部実体(XXE)インジェクション。

防御的ベストプラクティス: 外部ネットワークのフェッチを無効にし、DOMPurifyでバルーンのHTMLコンテンツをサニタイズします。

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

2008オープン地理空間コンソーシアム(OGC)がKML 2.2を公式の国際地理空間標準として採用しました。
2005GoogleがKeyhole Inc.を買収し、Keyhole Earth ViewerをGoogle Earthにリブランドして、KMLを世界的に普及させました。
2001Keyhole Inc.が3D衛星画像を注釈付けするためにKMLを作成しました。

主なメリット

  • 地球を3Dで詳細に可視化します。地点だけでなく、3Dカメラの角度、方位、傾き、高度、空中移動ツアーも定義できます。
  • KML の対応状況はアプリによって異なり、デスクトップ GIS や地図ツールで利用できる機能も異なります。
  • NetworkLink はリンク先の KML リソースを取得できます。更新動作はドキュメントの設定とビューアーによって異なります。

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

  • 冗長なXML構文により、GeoJSONのようなコンパクトなフォーマットよりもファイルサイズが大きくなります。
  • 色は、標準のRGBAではなく、型破りなAABBGGRR(Alpha-Blue-Green-Red)の16進数の順序を使用します。
  • 複雑な3D機能(ツアー、モデル)は、軽量なWebマッピングプラットフォームではほとんどサポートされていません。

興味深い技術トリビア

  • Keyhole Inc.は、冷戦時代に米国が打ち上げた歴史的なKH(Keyhole)偵察衛星にちなんで名付けられました。
  • KMLの色は一般的なRGBAとは逆順のAABBGGRRで記述します。先頭の2文字がAlphaで、続いてBlue、Green、Redの順です。
  • KMZ アーカイブには少なくとも 1 つの KML ファイルが含まれ、関連ファイルも格納できます。主ファイルの慣例的な名前は doc.kml ですが、別の名前も使用できます。

よくある技術的な質問

KMLとKMZの違いは何ですか?

KMLはプレーンテキストのXMLファイルです。KMZは、KMLファイルに加え、カスタムマップアイコン、テクスチャ、3Dオーバーレイ画像などを一緒に格納した圧縮ZIPファイルです。

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

ブラウザから直接File2File.appを使用して、1回クリックするだけでGoogle EarthのKMLファイルをWebマッピング用のクリーンなGeoJSONに変換できます。

KMLファイルをGoogleマップで開くことはできますか?

はい!Googleマップで「保存済み」>「マップ」>「地図を作成」(Googleマイマップ)の順に移動し、「インポート」をクリックしてKMLファイルをアップロードします。