Keyhole 标记语言 (KML) 是一种基于 XML 的文件格式,可用于表示应用程序(如 ArcGIS Earth 和 Google Earth)中的地理要素。KML 允许您在地图与球面上绘制点、线和面,并与他人共享这些信息。您也可使用 KML 来指定文本、图片、电影或者用户单击要素后出现其他的 GIS 服务的链接。许多 KML 客户端应用程序都是免费的,可提供令人熟悉的用户友好型导航体验。
使用 ArcGIS Server 时可用 KML 执行哪些功能
使用 ArcGIS Server,您可通过多种方式将地图与数据共享为 KML:
- 地图与影像服务通过表述性状态转移 (REST) 显示 KML 网络链接。
- 可以使用管理器或服务目录来创建您自己的 KML 网络链接。
- 当您查询地图图层或者通过 REST 进行地理处理或地理编码操作时,可以获得 KML 形式的结果。
所有这些情况下,KML 都是动态生成的,这意味着:查看 KML 的用户将始终能够从服务器上看到最新的地图与数据。如果只是想生成可通过电子邮件发送或者放置在文件服务器上的静态 KML 文档,您可以使用 ArcGIS Desktop 中的地图转 KML 与图层转 KML 工具。
配置地图与影像服务以返回 KML
要将地图与影像作为动态 KML 进行共享,您只需使用 ArcGIS Desktop 将这些地图与影像作为服务进行发布即可。地图服务与影像服务都可返回 KML。默认情况下,将这些服务发布到服务器时即会启用 KML 功能。
在发布服务之前,您需要做一些准备工作。地图服务要求您必须先准备一个地图文件,该地图文件中包含可用作 KML 的图层。在此地图文档中,您可以指定具体的标注、渲染、符号系统或者 HTML 弹出窗口属性,这些内容都将在您的 KML 中有所反映。三维属性需要在 ArcGlobe 中进行设置,并作为图层文件导入到您的地图文档中。
影像服务要求使用栅格数据集、镶嵌数据集或者引用栅格数据集或镶嵌数据集的图层文件。您可能更喜欢使用图层文件来定义一个具体的渲染器,以确保影像服务符合您的要求。
通过 REST 的 KML
所有地图与影像服务均通过 REST 显示 KML 网络链接。简言之,可使用 REST 通过一系列可导航的 URL 来显示服务的信息。您可以使用服务目录来查找网络链接的 URL,服务目录是可帮助您导航至服务器上 REST 端点的应用程序。URL 指向一个 .kmz 文件,您可以将该文件添加到 ArcGIS Earth 或支持 KML 网络链接的任何其他客户端中。
如果您不想使用默认网络链接,那么可以使用管理器或服务目录来生成您自己的网络链接。请参阅查看 KML 形式的服务以了解 REST、KML 网络链接以及 ArcGIS Server 如何使用它们的详细信息。
查看您服务器上的可用内容
您还可通过服务目录查看您服务器上所有地图与影像的轮廓线。此外,您还可以访问显示服务位置和描述的轮廓线 KML 网络链接。您可使用此轮廓线网络链接作为向其他人展示您服务器上可用内容的向导。
地理编码、地理处理和查询 KML 形式的结果
地图服务可以返回 KML 形式的地理处理、地理编码以及查询操作的结果。可在客户端应用程序中使用这些服务,也可通过由分析人员输入 REST URL 的方式来直接使用它。这是一种很不错的方法,可允许应用程序和用户从 KML 格式的在线地理数据库中有选择性地检索信息。
KML 服务操作
KML 服务具有一些内置操作,允许 KML 客户端在服务器上执行各种请求。发布地图与影像时,会默认启用分离图像、单一图像和矢量操作。
- 分离图像允许 KML 客户端提出将为服务中每个图层返回分离图像(例如 KML 地面叠加层)的请求。例如,如果您通过 KML 客户端查看 KML 服务,则可以调整服务中每个图层的透明度。
- 单一图像允许 KML 客户端为服务中的所有图层请求将单一合成图像作为 KML 地面叠加。这与地图服务的导出地图图像操作相似。
- 矢量允许 KML 客户端提出从所有支持的图层返回单个要素作为图层对应几何类型的请求。其中可以包括点、线和面。
可通过访问 ArcGIS Desktop 中服务编辑器 的 KML 选项卡禁用这两项操作。
支持的 KML 功能
以下是 KML 服务所支持的功能列表:
- 生成兼容 KML 2.2 的 KML
- 通过 REST 的 KML 自动可用性
- 使用 KML 区域通过 REST 显示缓存的地图服务
- 影像服务的 KML 可用性
- 作为通过 REST 的 KML 的服务轮廓线可用性
- 支持大多数 ArcMap 标注功能
- 关闭标注功能
- 在 ArcMap 图层属性对话框的 HTML 弹出窗口 选项卡中设定的格式(它移动到了 KML 功能描述中)。