Generated by GPT-5-mini| Keyhole Markup Language | |
|---|---|
| Name | Keyhole Markup Language |
| Developer | |
| Released | 2002 |
| Programming language | XML |
| Operating system | Cross-platform |
| License | Open standards |
Keyhole Markup Language is an XML-based file format designed for expressing geographic annotation and visualization on two-dimensional maps and three-dimensional Earth browsers. It enables the encoding of placemarks, overlays, trajectories, and raster or vector data for presentation in geospatial viewers. Originating in early 2000s mapping tools, it has been adopted by numerous mapping platforms and integrated into workflows across cartography, remote sensing, and geospatial analysis.
Keyhole Markup Language serves as an interchange format for geospatial content, supporting point, line, polygon, and image overlay representations compatible with globe visualization engines. It operates as a structured markup language derived from XML, enabling interoperability among applications such as Earth browsers, Geographic Information Systems, and web mapping clients. As a declarative format it describes stylistic properties, temporal attributes, and hierarchical organization of geographic features for visualization in clients produced by companies and institutions like Google, NASA, National Geographic Society, Esri, Microsoft, and the European Space Agency.
The format originated with Keyhole, Inc., a company later acquired by a notable search and technology firm, which integrated the format into consumer-focused globe visualization products. Early adopters included academic groups and research centers at institutions such as Stanford University, Massachusetts Institute of Technology, Carnegie Mellon University, Johns Hopkins University, and the United States Geological Survey for pilot projects and remote sensing visualization. Subsequent development involved contributions from standards bodies and industry participants including the Open Geospatial Consortium, W3C contributors, Esri GIS engineers, Microsoft Research teams, NASA Goddard developers, and corporate labs at IBM and HP. Major milestones in its evolution coincide with releases of mainstream viewers and the incorporation of temporal extensions and network link capabilities used by outlets like BBC, The New York Times, National Aeronautics and Space Administration projects, and humanitarian organizations such as Red Cross and United Nations agencies.
KML files are structured as XML documents containing nested elements that define document-level metadata, feature hierarchies, and geometries. Typical elements include Document, Folder, Placemark, Style, StyleMap, Point, LineString, Polygon, GroundOverlay, PhotoOverlay, and NetworkLink. The specification permits coordinate tuples and altitude modes to express three-dimensional positioning compatible with DEM datasets from institutions like USGS and SRTM projects. Files are commonly distributed as plain .kml or compressed .kmz archives bundling resources; software implementations often integrate with raster sources from Landsat, Sentinel, MODIS, and elevation sources from Shuttle Radar missions. Schema-based validation and XML namespaces have been used to ensure conformance in implementations by vendors such as Oracle Spatial, PostgreSQL/PostGIS extensions, and Esri ArcGIS toolchains.
Keyhole Markup Language supports styling of symbols, labels, icons, and lines, as well as camera and viewpoint controls for fly-through animations used by TV broadcasters and documentary producers. Extensions include time primitives for temporal visualization, network link controls for dynamic content refresh used by meteorological services and disaster response teams, and Region-based level-of-detail strategies leveraged by mapping platforms operated by Google, Microsoft, and Apple. Advanced capabilities have been implemented through schema extensions and community-driven proposals by contributors from the Open Geospatial Consortium, academic researchers at MIT Media Lab, NOAA data teams, and European research consortia. Integration with scripting and API ecosystems enables programmatic generation via languages and environments such as Python, Java, C#, R, and MATLAB used by data scientists at institutions like CERN, NOAA, and major technology firms.
KML has been employed across a broad set of domains for visualization, analysis, and dissemination. Journalists at The Guardian and The Washington Post have used KML to present geospatial stories; humanitarian groups at Médecins Sans Frontières and UN OCHA have used KML layers for crisis mapping; urban planners at municipal governments and transportation agencies have deployed KML for infrastructure proposals and transit routing; environmental organizations such as WWF and Greenpeace have used it for habitat mapping and campaign visualizations. Scientific users at NASA, European Space Agency, and National Oceanic and Atmospheric Administration utilize KML to share satellite-derived products, trajectory data from missions like ISS and NOAA satellites, and bathymetric overlays from oceanographic institutes. Commercial applications include real estate listings by major brokerages, tourism overlays by Lonely Planet and National Geographic, and logistics visualizations by FedEx and UPS.
A wide ecosystem of viewers, editors, libraries, and server products supports KML. Desktop and web viewers include Google Earth, Google Maps integrations, ArcGIS Pro, QGIS, and NASA WorldWind. Authoring and conversion tools are provided by Mapbox, GeoServer, GDAL/OGR utilities, FME by Safe Software, and plugins for GIS suites at Esri and OpenStreetMap tooling contributors. Programming libraries for reading and writing KML exist for Java (Geotools), Python (pyKML, simplekml), C++ (libkml), and .NET frameworks maintained by community groups and corporate repositories. Cloud and enterprise platforms such as Amazon Web Services, Microsoft Azure geospatial services, and Google Cloud Platform include support for ingesting and serving KML content in geospatial pipelines used by financial institutions, research labs, and defense contractors.
KML can embed network links, external resources, and scripts which introduce attack surface for data exfiltration, unauthorized resource loading, and privacy leaks. Security assessments by CERT teams, enterprise security groups at Microsoft and Google, and academic researchers recommend sanitization of untrusted KML input, validation against schemas, and network isolation for viewers used by government agencies and NGOs. Sensitive coordinates exposing locations tied to protected persons or critical infrastructure require redaction by organizations such as Amnesty International, Human Rights Watch, and law enforcement agencies. Best practices promoted by standards bodies and cybersecurity teams include the use of signed KMZ archives, access controls on hosted layers, and audit logging in server deployments used by financial regulators, research institutions, and international organizations.
Category:Geographic file formats