Keyhole Markup Language
From Wikipedia, the free encyclopedia
Filename extension | .kml, .kmz |
---|---|
Internet media type | application/vnd.google-earth.kml+xml, application/vnd.google-earth.kmz |
Developed by | Keyhole, Inc., Google |
Type of format | Geographic Information System |
Extended from | XML |
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-dimensional Earth browsers. KML was developed for use with Google Earth, which was originally named Keyhole Earth Viewer. It was created by Keyhole, Inc, which was acquired by Google in 2004. The name "Keyhole" is a homage to the KH reconnaissance satellites, the original eye-in-the-sky military reconnaissance system first launched in 1976.
Contents |
[edit] Structure
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 a latitude. Other data can make the view more specific, such as tilt, heading, altitude, which together define a "camera view". KML shares some of the same structural grammar as GML[1]. Some KML information cannot be viewed in Google Maps or Mobile[2].
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:
<?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://www.opengis.net/kml/2.2"> <Placemark> <name>New York City</name> <description>New York City</description> <Point> <coordinates>-74.006393,40.714172,0</coordinates> </Point> </Placemark> </kml>
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.
[edit] 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.
[edit] 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,[3] and it became an official OGC standard on April 14, 2008.[4]
[edit] Applications using KML
- ArcGIS Explorer
- EarthBrowser
- EarthSpector GIS
- Feature Manipulation Engine (FME)
- Flickr
- Geomedia
- Google Earth
- Google Sketchup
- Google Maps
- Google Mobile
- Live Search Maps
- Manifold System
- Map My Ancestors, converts GEDCOM files produced by Genealogy software.
- Mapufacture
- Marble (KDE)
- Microsoft Virtual Earth
- OpenLAPI, an LGPL implementation of the Location API for Java ME
- OpenLayers
- Ossimplanet
- Platial
- QStarz Travel Recorder
- RouteBuddy for Mac
- SuperMap iServer (SuperMap IS) .NET and Java
- Visual Nature Studio
- WikiMapia
- World Wind
- Yahoo Pipes
- 3D Maps EX
[edit] See also
- Geospatial Content Management System
- CityGML
- Geography Markup Language
- GPX (data transfer)
- Point of Interest
- Waypoint
- COLLADA
[edit] References
- ^ GML and KML Syntax - September 07, 2005, Geo-Web
- ^ "Can Google Maps read the KML files I've made for Google Earth?". Google. http://maps.google.com/support/bin/answer.py?answer=41136&topic=1475. Retrieved on 2009-11-04.
- ^ Open Geospatial Consortium, Inc (2007-12-04). The OGC Seeks Comment on OGC Candidate KML 2.2 Standard. Press release. http://www.opengeospatial.org/pressroom/pressreleases/802. Retrieved on 2007-12-10.
- ^ Shankland, Stephen (2008-04-14). "Google mapping spec now an industry standard". CNET. http://www.news.com/8301-10784_3-9917421-7.html. Retrieved on 2008-04-14.
This article needs additional citations for verification. Please help improve this article by adding reliable references (ideally, using inline citations). Unsourced material may be challenged and removed. (January 2008) |
[edit] External links
- OGC KML 2.2 Standard
- OGC Official KML 2.2 Schema
- Google's KML Documentation
- KML Validator
- KMLToolbox
- KML Developer Support group
|