KML 元素

本主题旨在快速介绍可使用 KML 发布的数据元素的类型。

Keyhole 标记语言 (KML) 是一种可实现将 GIS 数据作为一系列图形显示在 Google 地球、Google 地图及其他基于 Web 且支持 KML 的制图应用程序(如 ArcGIS Explorer)中的语言。此外,您还可以定义在 Google 地球和 Google 地图上下文中浏览 KML 元素及与其交互的方式。例如,单击或悬停在 KML 图形位置上时将出现什么情况?

KML 结构非常灵活且采用 Web 友好方式。此外,KML 内容非常丰富。它支持多种数据类型和多种交互式查询操作。因此,了解如何将您的地理信息转换为 KML 图形元素,以及如何定义要为用户提供通过 KML 使用 GIS 数据的浏览和交互行为非常有用。

快速介绍

ArcGIS 支持多个主要的 KML 功能。以下为快速导览。

在 KML 中使用 ArcGIS 数据和地图信息的选项

ArcGIS 数据类型

KML 元素

点要素

地标

或者可以使用 KML 地面叠加将点集合显示为图像。

线要素

路径*

或者可以使用 KML 地面叠加将路径集合显示为图像。

多边形要素

多边形*

或者可以使用 KML 地面叠加将面集合显示为图像。

影像

地面叠加层。

地图文档

可以单独显示每个图层。要素类显示为 KML 要素,影像和栅格显示为地面叠加层。

或者可通过选择使用 KML 地面叠加层将整个地图显示为图像。

地图和屏幕图形(例如,徽标、地图图例、图片等)

KML 屏幕叠加元素(如符号图例、徽标和图片)可通过 KML 屏幕叠加层来显示。

GIS 要素转 KML 元素

*对于线要素和面要素,可选择使用地标来提供标注和要素查询(即类似于 ArcMap 或 ArcGlobe 中的“识别”工具,可以单击要素的地标来显示要素信息)。

KML 地标(点)

KML 地标是 2D 或 3D 地图上的符号化点位置。它们主要有两种作用:

KML 地标
图片使用权经由 Google 地球授权

通常,每个地标都会有一个关联的 2D 或 3D 符号、文本标注以及用于识别和定位 Google 地球或 Google 地图显示中 GIS 要素上每个地标的放置属性。

地标也可以用于控制快速定位和照相机位置设置。例如,地标可在 Google 地球中用作一种要素书签。

使用 KML 传送 HTML 内容

KML 是一种通过使用 KML 地标将 HTML 内容与 GIS 要素进行关联的有效机制。地标的一个关键方面是可使用气球样式弹出窗口显示要素属性的信息和其他信息。

将信息转换为 HTML 格式是一项重要功能。例如,可以显示地图中每个要素的网页内容(例如,下面示例中所示保护区的 HTML 页面)。

通过 KML 传送的丰富 HTML 内容
图片使用权经由 Google 地球授权

KML 中的要素

与在 ArcMap 和 ArcGlobe 中使用要素图层的方式类似,KML 可将 GIS 地图图层的内容描绘为符号化的点、线、面和多面体 (multipatch)。使用 KML 可设置要素描绘方式的属性。但 KML 中采用的识别和交互机制与 ArcGIS 有所不同。在 KML 中,每个要素可具有一个能实现要素识别和交互功能的关联 KML 地标。

用于显示 GIS 线要素的 KML 路径
图片使用权经由 Google 地球授权。用于显示线要素的 KML 路径示例。一条线叠加在 terrain 上,另一条线放置为悬浮在 terrain 上方。使用 KML 路径是显示 GIS 线要素的一种常用方法。
KML 面示例
图片使用权经由 Google 地球授权
叠加的 KML 面示例
图片使用权经由 Google 地球授权。KML 面示例。上图中两个面均悬浮在地球表面上方,其中右侧的面向下拉伸至表面。下图显示了一个叠加在地球表面上的面。

使用 KML 地标访问要素属性信息。

地标提供了访问要素属性及其他信息的主要机制。设计 GIS 数据的 KML 演示时,请考虑如何使用地标启用对要素属性信息的访问以及用户如何与您的要素进行交互。

注注:

使用 KML 面时,可按住 Ctrl 同时单击各个面以显示气球弹出窗口中的要素信息。

KML 地面叠加层

KML 地面叠加层用于显示航空影像以及叠加在地球表面上的静态地图图像。地面叠加层可用于添加更详细的最新正射影像,也可用于将专题地图信息生成为可放置在 Google 底图上的栅格图片。

KML 地面叠加层示例
图片使用权经由 Google 地球授权

地面叠加层通常与其他 KML 元素结合使用。例如,可以将要素叠加到地面叠加层上,并且这些要素可以使用用于地图查询和识别的地标。

KML 中带纹理的 3D 模型

可使用 KML 以 COLLADA 交换文件格式导入 3D 模型。

可以非常逼真地建立三维对象(例如建筑物、树木和飞机)的模型。许多用户会对其感兴趣的建筑物和位置构建 3D 模型。

KML 支持 COLLADA,而许多 3D 图形应用程序构建的模型都可导出到 COLLADA 中,例如通过 Google SketchUp、3ds max(AutoDesk 产品,以前称为 3D Studio Max)和 OpenFlight 等应用程序构建的模型。

导出模型后,可使用 KML 将 COLLADA 交换文件 (.dae) 导入到 Google 地球中,并使用地标进行定位。

KML 中 3D COLLADA 模型的使用
图片使用权经由 Google 地球授权

还可使用地标访问通过 KML 显示的 3D 模型的附加描述性信息。

将 ArcGIS 多面体 (multipatch) 几何导出到 Google 地球

ArcGIS 使用多面体几何将 3D 实体对象表示为壳,使用这些几何可以创建供其他 3D 图形应用程序(例如 Google 地球)使用的 3D 模型。多面体 (Multipatch) 转 COLLADA 地理处理工具可用于将多面体导出到磁盘上的 COLLADA 文件,许多 3D 应用程序都支持该格式。此外,如果多面体源数据位于投影坐标系中,则该地理处理工具还会在输出文件夹中自动创建一个简单的 KML 文件,以便设置 3D 模型的世界位置。

KML 屏幕叠加层

KML 屏幕叠加层是在 Google 地球屏幕上的预定义位置弹出的页面图形。它们并不是地理显示的组成部分,但这种信息显示方式在 GIS 上下文内非常有用。例如,可使用屏幕叠加层来显示符号键、地图图例或公司徽标。

以下是使用 ESRI 公司徽标的屏幕叠加层示例。导航地球时,徽标图形元素会在显示中保持固定。由于该元素是“KML 内容”列表中的元素,因此可以打开或关闭其可见性。

KML 中显示地图图例的屏幕叠加层
图片使用权经由 Google 地球授权

KML 区域

KML 区域可以向 Google 地球和 Google 地图添加大型数据集,但并不降低性能。仅当缩放到适当的地图分辨率后,数据才会显示。这些区域有助于管理多分辨率地图信息(例如图像金字塔)在特定范围内的显示。

仅当每个分辨率的数据落在用户视图内且占据一部分屏幕时,才会绘制该数据。可使用区域获取数据的多个细节层次,以便放大地图时会添加较高的分辨率数据集。每个细节层次对应的数据会以相应的屏幕分辨率自动显示。

下面是一些可能要使用 KML 区域来提供的 ArcGIS 内容类型:

支持 KML 区域是 ArcGIS Server 的核心功能,是使用 KML 动态提供大型 GIS 数据集的机制。有关详细信息,请参阅 ArcGIS Server 中的 KML 支持

KML 网络链接

KML 网络链接是用于引用网上动态提供的数据的机制。这样可实现多个客户端查看同一基于网络或 Web 的 KML 信息,并自动访问动态提供的数据内容。

在许多应用中,可在信息发生更改时检索到最新信息这一功能至关重要。无需将 KML 发布到静态文件,可使用 ArcGIS Server 通过 KML 动态提供地图和其他信息。这有助于确保 KML 数据服务是最新的。

KML 网络链接可以指定刷新所提供数据的频率。


7/10/2012