Keyhole Markup Language (KML) é uma linguagem de marcação para descrever dados geográficos. Segue a sintaxe XML e estabeleceu-se como um padrão do Open Geospatial Consortium.
KML significa Keyhole Markup Language e é usado para dados geográficos. O primeiro desenvolvimento do KML com o nome Keyhole EarthViewer remonta à Keyhole Corp, uma empresa californiana de imagens de satélite. O nome refere-se aos chamados buracos de fechadura, um termo usado para descrever os satélites espiões dos EUA. Em 2004, o Google assumiu o controlo da empresa e desenvolveu ainda mais a KML. A linguagem de marcação tornou-se geralmente conhecida através de programas como Google Earth e Google Maps.
Elementos geométricos em KML
Em documentos KML, a informação geográfica pode ser em forma vetorial, como linhas, pontos ou polígonos (elementos placemark), assim como fotografias aéreas e imagens de satélite em forma rasterizada (elementos ground overlay). No Google Earth, por exemplo, um arquivo KML é processado de forma semelhante a um arquivo HTML em um navegador. Além do formato KML, existe também a KMZ. Estes são arquivos KML comprimidos, ou seja, em última análise um arquivo ZIP que contém texturas embutidas, modelos 3D e outros dados como arquivos separados.
O Sistema Geodésico Mundial 1984 é usado no KML como o único sistema de referência geodésico. Isto significa que todas as coordenadas são dadas com sua longitude e latitude, assim como sua altura acima do nível do mar.