查看 KML 形式的服务

默认情况下,所有已发布的 ArcGIS Server 地图服务或影像服务也可以通过 Keyhole 标记语言 (KML) 网络链接使用。这意味着任何能够查看 KML 的应用程序(例如 ArcGIS Explorer、ArcGlobe 和 Google 地球)都可以使用 ArcGIS Server 服务。

ArcGIS Server 利用表述性状态转移 (REST) 通过一系列端点或 URL 来显示服务的信息。用户只需引用返回 KML 的相应 REST URL 即可使用 KML 形式的服务。此外,ArcGIS Server 具有一组单独的非 REST URL,专供以预打包 KML 网络链接文档形式为用户创建高度自定义 KML 内容的“管理器”用户使用。

什么是 KML 网络链接,它如何与地图服务、地理编码服务、地理处理服务或影像服务结合使用?

KML 网络链接是一种用于在 Web 上查看动态 KML 内容的方式。它可包含刷新间隔以及其他行为属性的详细信息,而且可以嵌入到压缩的 KML (KMZ) 文件中。为简单起见,包含网络链接信息的 KML/KMZ 文件将在本主题的余下部分中被称为网络链接文档。

通过地图服务和影像服务 REST 端点提供的默认 KML 网络链接将以地面叠加层的形式显示 ArcGIS Server 服务,即显示为叠加在地球表面上的影像。如果服务为支持的坐标系(WGS84、WGS 1984 Web Mercator 或其他任何圆柱投影)中的缓存地图服务,那么也可通过“区域”返回地面叠加层。“区域”可提供按等级划分的影像集合,因此推荐使用“区域”来实现最佳性能。请注意,由于无法对 ArcGIS Server 影像服务进行完全缓存,因此无法使用“区域”共享影像服务。

其他可访问的 REST KML 网络链接包括地图服务图层查询操作、地理编码地址和反向地理编码操作以及已提交地理处理作业的结果。这些链接可返回在原始服务源文档和栅格地面叠加层(仅适用于地理处理服务)中经过符号化的矢量数据。

另一种可用于地图服务的选项是生成自定义 KML 网络链接。可通过“服务目录”、“管理器”创建自定义 KML 网络链接,也可在 KML 客户端手动创建。通过此方法可使提供的 KML 中包含栅格与矢量元素的组合,而不仅仅是通过默认 REST 端点提供的单个地面叠加层影像。例如,如果需要拉伸的建筑物覆盖区,则需要生成自定义 KML 网络链接。有关此创作过程的详细信息,请参阅创作要发布为 KML 的地图管理 KML 网络链接

如何查找特定服务的 URL?

使用 ArcGIS 服务目录可以轻松地找到 REST URL。“服务目录”是 ArcGIS Server 中提供的一款应用程序,可用于导航有关服务的 REST 相关信息(包括 URL)。可通过“开始”菜单或在浏览器中输入 http://<web 服务器名称>/<实例名称>/rest/services 直接打开“服务目录”。单击服务的链接,然后右键单击查看范围:Google 地球并单击复制快捷方式以获取链接。

默认 REST 地图服务和影像服务端点的 URL 直接通过 http:// <web 服务器名称>/ <实例名称>/rest/services/ <服务名称>/ <服务类型>/kml / <服务>.kmz 构建。各种名称可由发布者在创建 ArcGIS Server 服务时定义,而服务类型可以是 MapServer 或者 ImageServer。

以下示例为使用 REST 以 KML 网络链接的形式连接至 ArcGIS Server 服务的 URL

用于生成自定义 KML 网络链接文档的地图服务 REST URL 与默认地图服务 REST 端点位于同一“服务目录”页面。其 URL 所遵循的模式将保持不变,但会以 generateKML.kmz 结尾。可在通过此链接打开的页面中定义特定的网络链接属性。单击生成 KML 将创建自定义网络链接文档,之后可将该文档复制到任何虚拟目录中进行发布。

此外,通过选择地图服务图层链接,然后选择查询图层操作,可打开查询图层页面。

选择 KML 格式将创建可粘贴在“网络链接”文档中的网络链接 URL:

http://myServer/ArcGIS/rest/services/M_Portland_FGDB/MapServer/7/query?
text=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=
esriSpatialRelIntersects&where=&returnGeometry=true&outSR=&outFields=&f=kmz

您可以利用管理员权限访问 ArcCatalog 中的地图服务属性 对话框,并直接在服务能力 选项卡中查找非 REST KML 服务的 URL。此 URL 可用于在 KML 客户端中手动构建自定义 KML 网络链接。

使用“管理器”构建自定义 KML 网络链接时,会将 KMZ 文件自动复制到您的虚拟根目录中,而且任何用户均可通过 http://<web 服务器名称>/ <实例名称>/kml 对其进行访问。只需在浏览器中打开此位置即可查看服务器的所有自定义 KML 网络链接。

得到 KML 网络链接文档的 URL 之后,可将其发布至您的网站或者其他公共区域,以方便其他用户快速打开此 KML。


7/10/2012