- Keyhole Markup Language
Infobox file format
name = Keyhole Markup Language
extension = .kml, .kmz
mime = application/vnd.google-earth.kml+xml, application/vnd.google-earth.kmz
owner =Keyhole, Inc. ,Google
creatorcode =
genre =Geographic Information System
container for =
contained by =
extended from =XML
extended to =Keyhole Markup Language (KML) is an
XML -based language schema for expressing geographic annotation and visualization on existing or future Web-based, two-dimensional maps and three-dimensionalEarth browsers. KML was developed for use withGoogle Earth , which was originally named Keyhole Earth Viewer. It was created byKeyhole, Inc , which was acquired byGoogle in 2004. The name "Keyhole" is a homage to the KH reconnaissance satellites, the original eye-in-the-sky militaryreconnaissance system first launched in 1976.tructure
The KML file specifies a set of features (placemarks, images, polygons, 3D models, textual descriptions, etc.) for display in Google Earth, Maps and Mobile, or any other 3D earth browser (geobrowser) implementing the KML encoding. Each place always has a
longitude and alatitude . Other data can make the view more specific, such astilt , heading, altitude, which together define a "camera view". KML shares some of the same structural grammar as GML [http://geoweb.blog.com/313918/] . Some KML information cannot be viewed in Google Maps or Mobile [http://maps.google.com/support/bin/answer.py?answer=41136&topic=1475] .KML files are very often distributed as KMZ files, which are zipped KML files with a .kmz extension. When a KMZ file is unzipped, a single "doc.kml" is found along with any overlay and icon images referenced in the KML.
Example KML document:
The
MIME type associated with KML is "application/vnd.google-earth.kml+xml"; the MIME type associated with KMZ is "application/vnd.google-earth.kmz".Geodetic reference systems in KML
For its reference system, KML uses 3D geographic coordinates: longitude, latitude and altitude, in that order. The longitude, latitude components are as defined by the World Geodetic System of 1984 (WGS84). The vertical component (altitude) is measured from the WGS84 EGM96 Geoid vertical datum. If altitude is omitted from a coordinate string, e.g. (-122.917, 49.2623) then the default value of 0 (approximately sea level) is assumed for the altitude component, i.e. (-122.917, 49.2623, 0) is assumed. A formal definition of the coordinate reference system (encoded as GML) used by KML is contained in the OGC KML 2.2 Specification. This definition references well known EPSG CRS components.
OGC standard process
The KML 2.2 specification was submitted to the
Open Geospatial Consortium to assure its status as an open standard for all geobrowsers. In November 2007 a new KML 2.2 Standards Working Group was established within OGC to formalize KML 2.2 as an OGC standard. Comments were sought on the proposed standard untilJanuary 4 2008 , [cite press release
title =The OGC Seeks Comment on OGC Candidate KML 2.2 Standard
publisher =Open Geospatial Consortium, Inc
date =2007-12-04
url =http://www.opengeospatial.org/pressroom/pressreleases/802
accessdate =2007-12-10 ] and it became an official OGC standard onApril 14 ,2008 . [cite web|accessdate=2008-04-14|url=http://www.news.com/8301-10784_3-9917421-7.html|title=Google mapping spec now an industry standard |publisher=CNET |date=2008-04-14|author= Shankland, Stephen ]Applications using KML
*
ArcGIS Explorer
* Feature Manipulation Engine (FME)
*Flickr
* [http://www.earthspector.com EarthSpector GIS]
*Google Earth
*Google Maps
*Google Mobile
*Live Search Maps
*Microsoft Virtual Earth
*Map My Ancestors
*Mapufacture
*Marble (KDE)
*OpenLayers
*Ossimplanet
*Platial
* [http://www.qstarz.com/Products/GPS%20Products/BT-Q1000.html QStarz Travel Recorder]
* [http://www.routebuddy.com RouteBuddy for Mac]
*WikiMapia
*World Wind
*Yahoo Pipes
* SuperMap iServer (SuperMap IS) .NET and Java
* [http://openlapi.com OpenLAPI] , anLGPL implementation of theLocation API for Java ME ee also
*
Geospatial Content Management System
*CityGML
*Geography Markup Language
*GPX (data transfer)
*Point of Interest
*Waypoint
*COLLADA References
External links
* [http://www.opengeospatial.org/standards/kml/ OGC KML 2.2 Standard]
* [http://schemas.opengis.net/kml/2.2.0/ OGC Official KML 2.2 Schema]
* [http://code.google.com/apis/kml/documentation/ Google KML Documentation]
* [http://www.kmlvalidator.com/home.htm KML Validator]
* [http://code.google.com/support/bin/topic.py?topic=10426 Developer Knowledge Base: KML in Google Earth]
* [http://groups.google.com/group/kml-support KML Developer Support group]
* [http://www.worldwindcentral.com/wiki/Add-on:KMLImporter KMLImporter] importing placemarks intoNASA World Wind
* Use hierarchical maps (Mindmaps ) to [http://www.kamelwriter.com create and manage KML files] and convert Excel data to KML.
* [http://www.archicadwiki.com/Google_Earth_Connectivity_Add-on Google Earth Connectivity Add-on] forArchiCAD 9
* [http://googlemapsapi.blogspot.com/2007/06/validate-your-kml-online-or-offline.html Validate your KML (Online or Offline!)] , Google Maps API Blog.
* [http://www.thechrisoshow.com/display_kml Paste KML directly onto a Google Map]
* [http://www.kmlwiki.net/ kmlwiki.net - Include KML files directly into a 2D or 3D Wikimap]
Wikimedia Foundation. 2010.