Keyhole Markup Language
Filename extensions | .kml , .kmz |
---|---|
Internet media type |
|
Developed by | GIS file format |
Extended from | XML |
Keyhole Markup Language (KML) is an
Structure
The KML file specifies a set of features (place marks, images, polygons, 3D models, textual descriptions, etc.) that can be displayed on maps in geospatial software implementing the KML encoding. Every place has a longitude and a latitude. Other data can make a view more specific, such as tilt, heading, or altitude, which together define a "camera view" along with a timestamp or timespan. KML shares some of the same structural grammar as Geography Markup Language (GML). Some KML information cannot be viewed in Google Maps or Mobile.[4]
KML files are very often distributed as KMZ files, which are zipped KML files with a .kmz extension. The contents of a KMZ file are a single root KML document (notionally "doc.kml") and optionally any overlays, images, icons, and COLLADA 3D models referenced in the KML including network-linked KML files. The root KML document by convention is a file named "doc.kml" at the root directory level, which is the file loaded upon opening. By convention the root KML document is at root level and referenced files are in subdirectories (e.g. images for overlay).[5]
An example KML document is:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<Placemark>
<name>New York City</name>
<description>New York City</description>
<Point>
<coordinates>-74.006393,40.714172,0</coordinates>
</Point>
</Placemark>
</Document>
</kml>
The
Geodetic reference systems in KML
For its reference system, KML uses 3D geographic coordinates: longitude, latitude, and altitude, in that order, with negative values for west, south, and below mean sea level. The longitude/latitude components (decimal degrees) are as defined by the
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.[6]
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 until January 4, 2008,[7] and it became an official OGC standard on April 14, 2008.[8]
The OGC KML Standards Working Group finished working on change requests to KML 2.2 and incorporated accepted changes into the KML 2.3 standard.[9] The official OGC KML 2.3 standard was published on August 4, 2015.[10]
See also
- Packet radio protocols
- Brian McClendon
- CityGML
- Geospatial content management system
- GPS eXchange Format
- Keyhole satellite series
- NASA WorldWind
- Point of interest
- SketchUp file formats
- The Blue Marble
- Waypoint
- Wikimapia
References
- ^ "OGC® Approves KML as Open Standard". Open Geospatial Consortium. 2008-04-14. Archived from the original on Nov 30, 2018. Retrieved 2018-11-20.
- ^ "KML". Open Geospatial Consortium. Retrieved 2018-11-20.
- ^ "KML Support in Marble". Marble. Retrieved 2018-11-20.
- ^ "KML content isn't available in Google Maps". Google Help. Archived from the original on 2016-04-26. Retrieved 2020-01-26.
- ^ "KMZ Files". Keyhole Markup Language. Google for Developers. Retrieved 2009-12-16.
- ^ Wilson, Tim, ed. (2008-04-14). OGC KML. Open Geospatial Consortium, Inc. p. 14. Retrieved 9 June 2015.
- ^ "The OGC Seeks Comment on OGC Candidate KML 2.2 Standard" (Press release). Open Geospatial Consortium. 2007-12-04. Retrieved 2007-12-10.
- ^ Shankland, Stephen (2008-04-14). "Google mapping spec now an industry standard". CNET. Archived from the original on 2008-05-12. Retrieved 2008-04-14.
- ^ "OGC KML 2.3 SWG". OGC. Retrieved 2013-10-07.
- ^ "OGC KML 2.3 Standard". OGC. 4 August 2015. Retrieved 2015-08-04.