Keyhole Markup Language ( KML ) は、2 次元マップおよび 3 次元地球ブラウザ内で地理的注釈と視覚化を表現するためのXML表記法です。KML は、当初 Keyhole Earth Viewer という名前だったGoogle Earthで使用するために開発されました。Keyhole , Incによって作成され、2004 年にGoogleに買収されました。KMLは2008 年にOpen Geospatial Consortiumの国際標準になりました。[ 1 ] [ 2 ] Google Earth は、KML ファイルを表示およびグラフィカルに編集できる最初のプログラムでしたが、現在ではMarble [ 3 ]、QGIS [ 4 ]、ArcGIS [ 5 ]など、多くのGISソフトウェア アプリケーションで KML がサポートされています。
KML ファイルは、KML エンコーディングを実装する地理空間ソフトウェアの地図上に表示できる一連のフィーチャ (場所マーク、画像、ポリゴン、3D モデル、テキストによる説明など) を指定します。すべての場所には経度と緯度があります。傾斜、方位、高度などの他のデータによって、ビューをより具体的にすることができます。これらは、タイムスタンプまたは時間範囲とともに「カメラ ビュー」を定義します。KML は、地理マークアップ言語(GML) と同じ構造文法の一部を共有しています。一部の KML 情報は、Google マップやモバイルでは表示できません。[ 6 ]
KML ファイルは、拡張子 .kmz が付いた圧縮KML ファイルであるKMZファイルとして配布されることが非常に多いです。KMZ ファイルの内容は、単一のルート KML ドキュメントと、オプションで、ネットワークリンクされた KML ファイルを含む、KML で参照されるオーバーレイ、画像、アイコン、 COLLADA 3D モデルです。慣例として、ルート KML ドキュメントはルート ディレクトリ レベルにある「doc.kml」という名前のファイルで、これはファイルを開くときに読み込まれるファイルです。慣例として、ルート KML ドキュメントはルート レベルにあり、参照されるファイルはサブ ディレクトリにあります (たとえば、オーバーレイ用の画像)。[ 7 ]
KMLドキュメントの例は以下のとおりです。
< ?xml version="1.0 " encoding="UTF-8"?> <kml xmlns= "http://www.opengis.net/kml/2.2" > <Document> <Placemark> <name>ニューヨーク市</name> <description>ニューヨーク市</description> <Point> <coordinates> -74.006393,40.714172,0 </coordinates> </Point> </Placemark> </Document> </kml>KMLに関連付けられているMIMEタイプはapplication/vnd.google-earth.kml+xmlです。KMZに関連付けられているMIMEタイプはapplication/vnd.google-earth.kmzです。
KML は参照システムに 3D 地理座標を使用します。経度、緯度、高度の順で、西、南、平均海面より下は負の値になります。経度/緯度成分 (十進度) は、1984 年世界測地系 (WGS84)で定義されています。高度 (垂直成分) は、WGS84 EGM96 ジオイド垂直基準面からメートル単位で測定されます。座標文字列から高度が省略されている場合 (例: (-77.03647, 38.89763))、高度成分にはデフォルト値 0 (ほぼ海面) が想定されます (-77.03647, 38.89763, 0)。
KMLで使用される座標参照系(GMLとしてエンコード)の正式な定義は、OGC KML 2.2仕様に含まれています。この定義は、よく知られているEPSG CRSコンポーネントを参照しています。[ 8 ]
KML 2.2 仕様は、すべてのジオブラウザのオープン標準としての地位を確保するために、オープンジオスペイシャルコンソーシアムに提出されました。2007 年 11 月、KML 2.2 を OGC 標準として正式化するために、OGC 内に新しい KML 2.2 標準ワーキンググループが設立されました。提案された標準に対するコメントは 2008 年 1 月 4 日まで募集され[ 9 ] 、 2008 年 4 月 14 日に正式な OGC 標準となりました[ 10 ] 。
OGC KML 標準ワーキンググループは、KML 2.2 の変更要求の作業を完了し、承認された変更を KML 2.3 標準に組み込みました。[ 11 ] 公式の OGC KML 2.3 標準は、2015 年 8 月 4 日に公開されました。[ 12 ]