KML全称:Keyhole Markup Language,是基于XML(eXtensible Markup Language,可扩展标记语言)语法标准的一种标记语言(markup language),采用标记结构,含有嵌套的元素和属性。由Google(谷歌)旗下的Keyhole公司发展并维护,用来表达地理标记。根据KML语言编写的文件则为KML文件,格式同样采用的XML文件格式,应用于Google地球相关软件中(Google Earth,Google Map, Google Maps for mobile...),用于显示地理数据(包括点、线、面、多边形,多面体以及模型...)。而现在很多GIS相关企业也追随Google开始采用此种格式进行地理数据的交换。
由KML文件是种多功能的地理数据格式,在Google发展下,它可以将(link)网页、图片、模型..等各种媒体档案在Google Earth作完整的呈现。
KML本身的档案通常不会很大,但在于呈现3维模型或是在于补充其他相关辅助资讯时,KML仍有其局限性,故除透过网络提供KML资讯外,尚可透过KMZ将其相关档案包装成一单档进行交换,此外可透过ZIP解压缩去检视其档案内容结构,且与原KML有10:1之压缩比,故有人视为其为KML压缩档,但根据其资料含意与结构比较类似于KML资料包装档。
KML在2008年4月14日被OGC(Open Geospatial Consortium, Inc.开放地理信息系统协会,或译成开放式地理空间协会)宣布为开放地理资讯编码标准(OGC KML, OpenGIS® KML Encoding Standard),而Google同时也在网站Blog上宣布不再控制KML标准,而移交给OGC去维护发展,而被采用的开放地理资讯编码标准(OpenGIS KML 2.2 Encoding Standard)可以在这个网页见到完整的手册内容:http://www.opengeospatial.org/standards/kml/.