Google KML (.kml)

OGC 標準

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

GEOJSON を KML に変換

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

調査とメタデータ

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

ここにファイルを選択またはドロップ

100%プライベートなブラウザ内変換 - ファイルがデバイスから外部に出ることはありません

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

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

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

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

3C 6B 6D 6C

ASCII表現: <kml

標準化: OGC KML 2.3 Standard

技術仕様

コンテナアーキテクチャXML-based geographic visualization grammar defining Placemarks, GroundOverlays, 3D Models, and Camera perspectives
圧縮Uncompressed XML text (compressed with ZIP as .kmz files)
バイトエンディアンUTF-8 / Unicode text stream
色空間AABBGGRR hexadecimal color strings
チャンネルと構造Placemarks, paths, polygons, 3D building models, photo overlays, and tour camera paths
最大寸法WGS 84 coordinates: Longitude, Latitude, Altitude (in meters above sea level)
透過性Alpha transparency supported in AABBGGRR color strings and PNG overlays
ストリーミングとプログレッシブNetworkLinks support dynamic streaming updates from remote geospatial servers

技術比較マトリックス: 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'(行Xでパースエラー:タグが一致しません)。

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

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

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

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

既知の攻撃ベクター

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

防御的ベストプラクティス:

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

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

主な利点とメリット

  • リッチな3D地球の視覚化:ポイントだけでなく、3Dカメラアングル、方位、傾き、高度、フライスルー・ツアーも定義します。
  • Google Earth、Google Maps、ArcGIS、およびすべてのプロフェッショナルデスクトップGISソフトウェアによってネイティブサポートされています。
  • NetworkLinksをサポートしており、Google Earthがライブの天気、フライト追跡、地震の更新を動的にストリーミングできるようになります。

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

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

興味深い技術トリビア

  • Keyhole Inc.の名前は、冷戦時代に米国が打ち上げた歴史的なKH(Keyhole)偵察スパイ衛星にちなんで名付けられました。
  • KMLでは、色の値はAABBGGRRとして逆に記述されます:最初の2文字がAlpha、次にBlue、Green、Redの順になります。
  • 「.kmz」ファイルは文字通り、単一の「doc.kml」ファイルと埋め込み画像や3Dモデルを含む標準の.zipアーカイブにすぎません。

よくある技術的な質問

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

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

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

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

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

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