KML(ケイエムエル)は、アプリケーション・プログラムにおける三次元地理空間情報の表示の管理などを目的とした情報をXMLで記述するものである。2008年4月にKML2.2版は、そのままOpen Geospatial Consortium (OGC) という地理情報システムのオープンソース化を目指す団体の規格にOGC KMLとして取り入れられたOGC KML。

名称の由来 KMLという名称は、もともとKeyhole Markup Languageの頭字語だったが、OGCに採用された時点で略語ではない語という扱いになった。Keyholeは現在のGoogle Earthの旧名称であり、その開発元がGoogle社と合併するまでの会社名でもある。Keyholeという名称は偵察衛星コロナの型名(KH)にちなむ。

KML文書 XMLで、Google EarthやGoogle Maps、Google Mobileで表示する要素(目印、イメージ、ポリゴン、3次元モデル、説明など)を記述する。3次元モデルはCOLLADA形式で記述することができる。各地点は、常に右手系の経緯度情報を持つ。それ以外に、“カメラ・ビュー”を構成するのに必要なティルト、カメラの向き、高度など、より詳細なデータを記述することもできる。KMLはGMLと同様の文法構造を持つ。ただしGoogle MapsやGoogle MobileではKMLで記述された情報の一部は表示することができない。Google Maps(およびそのAPI)では公開ウェブサイトに置いたKMLファイルの記述情報を表示できる。

ファイルとしては、プレーンなXMLの場合は .kml という拡張子を付ける他、ZIPで圧縮した .kmz という拡張子を付けるKMZファイルがある。KMZファイルは内容に、本体である "doc.kml" というファイル一つと、そのファイル中から参照するオーバレイ用のイメージ・ファイルやアイコン用のイメージファイルを含む。

KML文書の例:

<?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://earth.google.com/kml/2.0"> <Placemark> <description>New York City</description> <name>New York City</name> <Point> <coordinates>-74.006393,40.714172,0</coordinates> </Point> </Placemark> </kml>

KMLのMIMEタイプはapplication/vnd.google-earth.kml+xmlであり、KMZはapplication/vnd.google-earth.kmzである。

KMLにおける測地規準系 KMLは、座標の前提となる測地基準系の定義をサポートしていない。したがって、ジオマチックや測地学などの専門的な用途には用いることができない。

パーサー KMLおよびKMZをパース(解釈)し地図上に表示する機能がアプリケーションなどに備わっている。 Google Earth(衛星写真・航空写真の背景上に表示) Google Maps(機能限定がある。ファイルを公開サイトに置く必要がある。) OpenLayers(機能限定がある。KML。)

KMLを使用するアプリケーション ArcGIS Explorer Flickr Google Earth Google Maps Google Mobile Mapufacture Platial NASA World Wind Yahoo! Pipes

脚注

関連項目 CityGML Geography Markup Language GPX カテゴリ (POI) ウェイポイント COLLADA

外部リンク KML入門ドキュメント KML Developer Support group KMLImporter importing placemarks into NASA World Wind Google Earth Connectivity Add-on for ArchiCAD 9 Validate your KML (Online or Offline!), Google Maps API Blog. simplekml (Python用ライブラリ)