KML

KML（ケイエムエル）は、アプリケーション・プログラムにおける三次元地理空間情報の表示の管理などを目的とした情報をXMLで記述するものである。2008年4月にKML2.2版は、そのままOpen Geospatial Consortium (OGC) という地理情報システムのオープンソース化を目指す団体の規格に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をパース（解釈）し地図上に表示する機能がアプリケーションなどに備わっている。