在 ArcGIS 中准备地图文档以供发布 KML

ArcGIS 支持将 GIS 数据发布为两种 KML - KML 文件或 KML 服务(网络链接)。在这两种情况下,必须在使用 ArcGIS Desktop 定义数据的制图表达后才能创建 KML 制图表达。KML 文件可从单个图层或地图创建,而 KML 服务仅能从多个地图创建。

本主题的目的是概述创建 GIS 数据的有效 KML 制图表达所需要定义的 ArcGIS 元素和属性。

准备 ArcGIS 元素以供发布 KML

将 GIS 数据共享为 KML 时要编写的主要元素是

图层

将 GIS 数据共享为 KML 时,图层是主要组成部分。图层定义数据的符号系统、图层和要素的显示名称以及气球弹出窗口中显示的描述性内容。图层可在 ArcMap、ArcGlobe 或 ArcScene 中进行定义。要素图层、图像图层和图层组都可以发布为 KML。

要素图层可创建包含全部要素列表的 KML 文件夹。要素图层的关键 KML 设置是

  • “图层名称”属性,它用作文件夹名称
  • “图层描述”属性,它用作包含文件夹的弹出内容
  • 符号系统,它用于创建 KML 符号

    • 有关 KML 符号的详细信息,请参阅以下的“显示”属性部分。

  • “标注”表达式,它用于命名每个要素
  • “定义查询”,它可用来限制包含在 KML 制图表达中的要素
  • “HTML 弹出窗口”的属性,它用来定义各要素的弹出内容

    • 有关详细信息,请参阅以下“显示”要素属性部分。

图像图层可创建单个引用图像文件的地面叠加元素。建议图像文件应尽量小,因为它必须通过网络传输到客户端应用程序。图像图层的关键 KML 设置是

  • “图层名称”属性,它用作地面叠加名称
  • “图层描述”属性,它用作地面叠加的弹出内容

图层组用作包含其他组织文件夹、要素文件夹和地面叠加的组织文件夹。图层组的关键 KML 设置是

  • “图层名称”属性,它用作文件夹名称
  • “图层描述”属性,它用作文件夹的弹出内容

使用“图层转 KML”地理处理工具可以直接从 ArcMap、ArcGlobe 或 ArcScene 中将图层导出至 KML 文件。图层仅能用作 KML 服务,构成使用 ArcGIS Server 发布的地图文档。

地图

地图允许将多个图层共享为单个 KML 源。创建 KML 服务也需要地图。每个地图一次仅能将一个数据框导出为或用作 KML。

地图可定义 KML 的最顶层文件夹和该文件夹气球式弹出窗口的描述内容。地图必须在 ArcMap 中进行定义。地图的关键 KML 设置是

  • “数据框名称”属性,它用作文件夹名称
  • “地图描述”属性,它用作该文件夹的弹出内容
  • 图层的可见性,它用于设置要将哪些图层包含在 KML 中
注注:

将地图转换为 KML 时,由于比例可见性范围而禁用可见性的图层不能进行转换。

图例

图例是地图的 KML 制图表达的一项可选的内容。图例的图像在查看应用程序中显示为 KML 屏幕叠加。它会出现在按钮文件夹中,该文件夹允许用户交互式设置图像在屏幕上的显示位置,例如在左上角。

图例必须在地图文档的“布局”视图中创建,它可以包含地图文档中图层的任意子集。应当以相同方法设置图例的符号系统,并编写图例。

如果地图文档被导出为或用作 KML,则地图中所有图例元素会自动包含在 KML 中。

显示要素属性

GIS 数据的要素属性存储在一组数据库字段中。每一列都是定义的类型,例如“日期”或“文本”,而且该列的每个要素都有一个值或空值。

另一方面,KML 描述性信息存储在单个 HTML 格式的文本块中。与其他要素相比,各要素的内容可能完全不同。

ArcGIS 使用图层属性对 KML 中要素描述的 HTML 制图表达中的常规 GIS 要素属性显示方式的定义提供支持。

共享要素属性的关键 KML 设置是

设置图层符号系统

在 ArcGIS Desktop 中,有两个组成部分可用于设置图层的显示 - 渲染器和符号系统。图层的渲染器可定义分类,符号系统可定义每个分类的显示方式。例如,土地利用面图层的唯一值渲染器可定义“农业”、“商业”、“工业”、“娱乐”和“居住”的区域分类。这样,每个分类就会具有与其关联的符号,例如,使“农业”要素显示为绿色面。

使用 KML 中的渲染器

KML 中显示的每个要素可定义自身的符号系统。它可以自身包含完整的符号系统,也可以引用样式地图。任何一种情况下,各 KML 要素都可以具有任意符号。从 ArcGIS 中将要素导出为或用作 KML 时,将查询渲染器,并且会将对应的符号分配给 KML 元素。

这意味着任意渲染器都可用来设置 KML 的图层符号系统。

使用 KML 中的要素符号系统

KML 要素符号系统是 ArcGIS 符号系统的子集,因此,有些符号不能转换为 KML。为 KML 准备图层时应遵循的最简单规则是尽量使符号系统简单易用。然而,点、线和面符号系统在 KML 中的操作方法不同,可能会有不同的应用范围。

KML 点符号显示为广告牌图像。通过 ArcGIS Desktop 编写 KML 时,ArcGIS 符号将转换为 PNG 图像,而且用户浏览 3D 视图时符号会始终以广告牌形式面向照相机。这意味着即使非常复杂的点符号也可用于 KML,因为它们的 2D 制图表达可以轻松地转换为图像。

然而,对于线要素,KML 仅支持简单的符号。支持颜色和线宽度属性,但是不支持其他效果(例如虚线和箭头)。而且,KML 也不支持多级符号,例如“铁路”符号。编写线要素以在 KML 中显示时,符号应尽量简单。

类似地,KML 面要素仅支持简单的符号系统。KML 面符号必须是简单的颜色填充,不支持图案填充或影线填充。面周长的线符号与 KML 线符号遵循相同的规则。编写面要素以在 KML 中显示时,符号应尽量简单。

将地图或图层显示为图像

将地图或图层共享为 KML 时的一种选择是将内容显示为图像。这种方法对于需要叠加到地球表面的要素图层特别有效。以此方式显示要素内容时,ArcGIS 符号系统将被嵌入导出到 KML 的图像中。任意图像图层(无论是本地图像图层还是要转换为图像的要素图层)显示为 KML 时都将支持整套的 ArcGIS 符号系统。

要有效地使用此选项,KML 内容应用作 ArcGIS Server 的网络链接,以便用户缩放视图时显示的图像能以合适的分辨率显示。显示图像内容的独立 KML 文件将具有内容快照,仅在创建时使用的比例下才可用 - 放大会显示粗略数据,缩小会显示范围限制。

设置 3D 显示属性

KML 的主显示环境是 3D 模式。在 ArcGlobe 和 ArcScene 中可以编写多个 3D 显示属性,共享为 KML 时这些属性可以改善 GIS 数据的外观。

可以从 ArcGlobe 和 ArcScene 编写的关键 3D 显示属性是

目前,导出至 KML 地理处理工具不支持某些 3D 显示属性(例如将带纹理的模型用作符号)。例如,使用 Aston Martin 汽车符号的点要素类将不会显示为 KML。而且,多面体上的纹理(例如带纹理的建筑物模型)不会包含在导出的或提供的 KML 中。这两种方法都要求将 GIS 数据导出为 COLLADA 格式。作为备用过程,它可以使用多面体(Multipatch)转 Collada 地理处理工具来完成。


7/10/2012