Google Earth KML中文说明(一)
关键词:
Google Earth KML 文件格式
原创翻译,不得转载
Google Earth KML中文说明
gisman@BlogChina
KML 2.0介绍
KML全称是Keyhole Markup Language,是一个基于XML语法和文件格式的文件,用来描述和保存地理信息如点、线、图片、折线并在Google Earth客户端之中显示, (KML以前的版本能够被Google Earth读取并保存为KML2.0) KML2.0提供以下功能:
- 指定一个地点的图标和标注来区分每一个地点
- 为每一个地物定义相应的视角
- 使用指定到屏幕或地理位置的图片标注
- 定义地物的显示样式
- 为标注指定基于简单HTML语法的描述,支持超级链接和图片的显示
- 使用树形目录管理地物
- 从本地或远程的网络地址动态的加载KML文件
- 当Google Earth客户端视图变化时,自动将视图信息发送给指定的源服务器并从服务器获取相关的标注信息
KML被Google Earth viewer处理并显示的过程和HTML网页被浏览器处理差不多,类似于HTML,KML也使用一种基于标签(名称和属性)的语法格式来描述地里标注信息,因此,Google Earth viewer是一个KML文件浏览器.
目录
- 介绍
- KML 概览
- 一个简单的KML文件(a simple KML file)
- 地名标注 (place mark)
- 几何图形 (geometry)
- 图像叠加层(image overlays)
- 样式 (style)
- 样式效果 (style effect)
- 样式参考 (style reference)
- 本地参考样式(locally reference style)
- 基于ID关键字的参考样式(共享样式)(reference style by ID)
- 样式地图 (style maps)
- 文件 (Documents)
- 目录 (folder)
- 几何图形集合(Geometry collection)
- 网络链接 (Network link)
- 通用元素(Common Elements)
- 表达模式(Schemas)
- KML语法规则(KML Syntax Rules)
- KML标签查询(KML Tag Dictionary)
- 地址
- 高程模式
- 颜色
- 颜色模式
- 坐标
- 描述
- 文件
- 渲染顺序
- 东
- 突出物
- 填充物
- 鸟瞰视图
- 目录
- 几何图形颜色
- 几何图形集合
- 几何图形比例尺
- 地面叠加层
- 超链接
- 图标
- 图标样式
- 内部边界
- 关键词
- 标签颜色
- 标签样式
- 纬度
- 经纬度框
- 线性环
- 连续线
- 线条样式
- 链接描述
- 链接名
- 经度
- 视点
- 信息
- 最小刷新间隔
- 多种几何图形
- 名称
- 网络连接
- 网络连接控件
- 北
- 对象数组域
- 对象域
- 打开
- 外部边界
- 轮廓
- 叠加层
- 父节点
- 地物标记
- 点
- 多边形
- 多边形样式
- 范围
- 内部刷新
- 刷新样式
- 刷新可视标记
- 旋转
- 表达模式
- 比例尺
- 屏幕叠加层
- 屏幕坐标
- 简单对象数组域
- 简单域
- 大小
- 南
- 片断
- 样式
- 样式地图
- 样式Url
- 方格
- 斜度
- 类型
- 可视边界比例尺
- 可视刷新模式
- 可视刷新时间
- 可视格式
- 可视标签
- 西
- 宽度
- X坐标值
- Y坐标值
KML2.0 版本最新特性如下:
- 新对象,控制通过网络连接传送的文件。
- Google Earth默认格式是KMZ,它是KML文件的压缩文件,这样做的优点是:图像不再需要通过服务器传送,而是直接放在文件中。
- 标签支持大量的标准HTML特性,比如锚,图像,文本,表格。
- 标签被标签代替。
- 特性的语法得到更新。
- 样式更加强大。包含了,,和支持每一种图形。
- 线条可以有选择的置于地形上。
- 由于使用,标签被取消。
- 网络链接可以将当前视图传送到服务器,接收基于当前位置的KML的文件。
以下是一些额外的资源,以便于帮助你优化KML创建。
在使用该文件之前,请确定你用的是当前最新版本,最新版本含有最权威的信息。
KML 概览
Google Earth 支持多种地物的表示,能够形象表达GIS信息。所有地物都以KML格式表示。KML控制在Google Earth 3D Viewer和地点框中的元素。你可以根据你的目的,用多种方式编辑KML:
- 使用Google Earth编辑KML文件。对于希望创建通过E-mail或者网页来发布的不动态的KML文件的用户来说,Google Earth客户端就是一个很好的KML编辑工具,在Google Earth客户端重简单按照自己的要求组织您需要的数据并保存成一个独立的文件即可,在开发人员想要测试复杂的KML文档结构的时候,该功能也同样有用,Google Earth客户端能够创建和保存几乎所有的KML标签。
- 使用文本编辑器。你可以使用文本编辑器创建简单KML文件,或者测试KML文件的结构和语法的有效性。
- TIP: 想要快速的检查KML语法,在Google Earth中右键点击一个地名标注或者图片标注,然后在菜单中选择”Copy”, 然后你可以打开文本文档然后将KML内容粘贴到里面,就可以方便编辑KML内容了。
- 使用开发环境自动生成KML文件。 你能够使用用来动态生成网页内容的编辑平台来生成KML地表文件,只要能够生成XML文件,就可以同样生成KML文件。
<!--[if !supportLineBreakNewLine]-->
<!--[endif]-->
以下是一个简单的KML例子:
Google Headquarters
-122.0839
37.4219
540.68
0
3
-122.0839,37.4219,0
该例有一个标签,包含一个被命名为Google Headquarters的标签,当这个文件被Google Earth客户端读取的时候,将会以默认的图标在指定的经纬度处显示。中的元素标示显示该地物的相机视点。
注意是如何包含HTML标签和超链接。客户端浏览器将显示这个描述,按照HTML标签格式化,并会打开一个Web窗口。(这种情况下,Google 主页将会打开)
你可以复制该范例内容并保存成扩展名为KML的文本文件,在Google Earth之中打开查看效果。
地名标注是一种表示地点的直接方式,在Google Earth中,一个地物标记存在于地物框列表项中,非常普遍的是,它通过一个图标与地点关联起来,当然,地名标注也可以跟路径,多边形,或者3D图形。当你创建一个地物标记的时候,可以使用以下属性和特性:
- 几何形状Geometric shapes – 地块由很多几何图块描述,所以地物标记可以包含点,线,多边形,或者这些地块的任意集合。
- 位置和海拔Location and altitude – 对于一个地物标记的每一个几何图块,你可以定义几何图块的坐标和海拔,任意突出物以及与地面的关系。例如,你可以定义一个位于地形之上长达2KM路径的地物标记,并将该路径突出,从侧面看,像围栏一样。
- 默认图标Default icon – 当标注包含点信息时,你可以使用Google Earth列表中的图标作为地物标记的默认标示。
- 显示外表Appearance – 最后,你可以使用许多通用的KML元素控制地物的显示样式。比如,你可以设置名称,描述,默认“相机”视图,以及默认的可视性,而且还可以定义地物标签的颜色和大小。
Google Earth支持多种二维的几何图形,包括:
- 点 – 点可以用图标或标签表示。地物标记的点在不同的海拔加以注释。
- 线– 包括线条,连续线,但是不包含道路线。如点一样,也支持不同的海拔高度表示。
- 多边形- 它可以表示为平面或三维,并且样式有填充,或者不同样式的边界。如同线一样,支持在不同的海拔高度表示。
应用以下方法,你可以控制几何图形的显示:
- 定义坐标- 坐标值必须以如下格式输入:经度、纬度、海拔。KML使用描述图形。注意:地理坐标的格式顺序为:经度,纬度,海拔,请勿错排。
- 创建三维图形– 点、线、面可以突出地面,将点放置在特定的海拔,然后使用标签。利用点、线、面可以非常容易地创建形象的数据。比如地物标记,可以利用创建一条从地面延伸出来的垂直线,这条线的样式颜色因地物类型不同而不同。
- 分类为集合- 你可以使用标签将多边形和线分为若干集合。这个功能在创建三维图形的时候尤其有用,例如,一旦定义了一种集合,你可以非常容易地切换它的可视性。
你可以使用图像丰富可视化表达手段。比如表示在建的GIF图片,或者作为图例的图片。KML有两种图像叠加层:
- 地面叠加层Ground Overlays – 查看 标签. 地面叠加层是附加到地面的图像,使用地面叠加层可以表示富含信息的点,如定相计划或者天气地图。此外ia,地面叠加层使用标签定义东南西北,通过刷新参数,你可以加载动态的图片,比如天气预报地图,或者依据三维Viewer的不同而显示不同的图像。
- 屏幕叠加层Screen Overlays – 查看标签 . 屏幕叠加层是与相机视图无关而附加到屏幕上的图像。比如图例,或者版权信息,如地面叠加层一样,你可以定义多种屏幕叠加层并且关联到一个文件夹。可以用绝对坐标定义屏幕叠加层或者通过百分比的形式定义。当然,颜色也是可以定义的,具体请参考和,注意:屏幕叠加层只能在文本编辑器中创建,在Google Earth Client中不可建。
可以在标签和标签引用到两种图像叠加层,而跟文件地址无关。下面是一个引用存于本地硬盘上的屏幕叠加层的例子。
C:\Documents and Settings\HP\My Documents\Google\GoogleEarth\reLegend.gif
注意,远程用户并不需要本地叠加层的拷贝如果图像是远程传送过来的。这种方式下,你可以实时提供叠加层信息,如天气或者进展中的地段变化。也可以包含子元素,比如,用来控制更新远程服务器图像。
使用图像叠加层时,可以使用如下特性:
- 文件类型File types – 你可以使用JPG, PNG, GIF, or TIFF作为叠加层。
- 渲染顺序Draw order – 当使用重叠的叠加层时,可以使用标签标示叠加层的顺序。比如,带有黑色边界的叠加层图片置于其他图片背后,以便显示更多的有用信息。
- 旋转Rotation – 可以使用标签,图片可以从北向顺时针或逆时针旋转180度
KML样式用来定义几何图形、图标、标签等的显示外观。它包含颜色、大小、透明性,类似于HTML和CSS,KML样式可以在元素内定义或者通过引用ID以便被其他更多元素引用。像HTML一样,设计样式的类库,以便在需要的时候引用能够大大提高效率,而本地的样式只用来表示简单的只出现一次的物体。
样式可以应用在以下元素:
- 图标Icons
- 标签Labels
- 线Lines
- 多边形 Polygons—突出的线也作为多边形处理
- 描述球Description Balloon
样式效果Style Effects
KML样式支持如下效果:
- 颜色和透明性Color and opacity – 你可以改变以上所提所有元素的颜色和透明性。透明性作为标签的第一个十六进制对。比如,50%的透明度,粉红色标签将会定义成: 7fffaaff。当你设置一个图标的颜色,颜色值被加到存在的图标图像上,正因为此,颜色样式在白色和灰色比例尺的图像上非常明显。应用于线的颜色样式既应用于从一个点突出的图形,也包括开启了边界功能的多边形,多边形边界的颜色和宽度继承自线的特性。
- 比例Scale – 比例尺只用于标签和图标,应用于标签时,其原始大小为1.0的图标图片,或者默认显示大小。应用于图标时,比例大小跟图像一样。
- 宽度Width – 宽度以像素定义,并且只用于线条。对于从地表突出的线状物,宽度决定了多边形的轮廓样式。例如,假如你使用带轮廓多边形,轮廓的颜色和宽度继承自线条样式。
- 随机颜色Random Color – 你可以使用将所有元素的颜色设置为随机。
- 多边形填充和外边框样式Fill and Outline – 该样式只对多边形有影响,你可以将填充颜色设为一种,而边框颜色另取一种。带边框多边形的样式继承自轮廓的要素
- 用户定制描述Customized Descriptions – 使用标签和子元素创建定制的标题和描述。这些气球在用户点击地物或者一个图标时出现。描述标题继承自标签文本。
样式参考Style Referencing