KML(ケイエムエル)とは
KML(Keyhole Markup Language)は、XMLを使用して三次元地理空間情報を管理・表示するためのフォーマットです。この形式は、特に
Google Earthや
Google Mapsといった地図関連アプリケーションで広く使用されています。2008年4月、KMLのバージョン2.2はOpen Geospatial Consortium(OGC)によって規格化され、OGC KMLとして正式に採用されました。
名称の由来
KMLの名前には歴史があります。本来は「Keyhole Markup Language」という意味を持ちますが、OGCに採用された際に略語として扱われないようになりました。ここでの「Keyhole」は、
Google Earthの以前の名称であり、このソフトウェアを開発した会社名にちなんでいます。興味深いことに、「Keyhole」という名称は、アメリカの偵察衛星「コロナ」に由来しており、型名であるKHがその起源となっています。
KML文書の構造
KML文書はXML形式で構築されており、
Google Earthや
Google Maps、
Google Mobileなどで表示される要素を記述しています。これらの要素には目印、イメージ、ポリゴン、3次元モデル、説明文などが含まれます。また、3次元モデルはCOLLADA形式で表現できます。KMLで定義される各地点は経緯度情報を持ち、カメラの向きや高度などのデータを記述することも可能です。
KMLはGML(Geography Markup Language)と類似した文法構造を持っています。しかし、
Google Mapsや
Google Mobileでは全てのKML情報が表示されるわけではなく、特定の条件下で利用されることに注意が必要です。特に、
Google MapsではKMLファイルをインターネット上で公開する必要があります。
ファイル形式としては、KML文書は「.kml」という拡張子を持つプレーンなXMLファイルとして保存されます。一方で、内容をZIP形式で圧縮した「.kmz」という拡張子のファイルも存在します。このKMZファイルには、メインの「doc.kml」というファイルの他に、参照されるオーバーレイ用イメージやアイコン用イメージが含まれています。
改めて、KMLのMIMEタイプは`application/vnd.google-earth.kml+xml`で、KMZのMIMEタイプは`application/vnd.google-earth.kmz`となっています。
測地基準系と応用
KML自体は、測地基準系の定義をサポートしていないため、Geomatics(地理情報学)や測地学の専門分野での利用には適切ではありません。そのため、特定の用途に特化したアプリケーションには別の技術が求められることがあります。
アプリケーションでKMLやKMZを解析し、地図上に表示する機能が標準的に備わっています。これにより、
Google Earthや
Google Maps、OpenLayersなどのプラットフォームでKMLのデータを視覚化することが可能になります。
KMLを使用する主なアプリケーション
- - Google Earth: 衛星写真や航空写真の背景上にKMLデータを表示。
- - Google Maps: 機能の制限があるものの、KML情報を公開サイト経由で表示可能。
- - ArcGIS Explorer, Flickr, Mapufacture, Platial, NASA World Wind, Yahoo! Pipesなど、多くのアプリケーションでもKMLが利用されています。
結論
KMLは、地理空間データを視覚化する手段として非常に便利であり、さまざまなプラットフォームで利用されています。その柔軟性と拡張性のおかげで、ユーザーは多様な場面で地理情報を活用できるのです。