默认情况下,地图服务和影像服务也可以通过 Keyhole 标记语言 (KML) 网络链接的形式提供。这意味着任何能够查看 KML 的应用程序(例如 Explorer for ArcGIS、ArcGlobe 和 Google 地球)都可以使用这些服务。
ArcGIS Server 利用表述性状态转移 (REST) 并通过一系列端点或 URL 来显示有关服务的信息。用户只需引用可返回 KML 的相应的 REST URL 链接即可使用 KML 形式的服务。此外,ArcGIS Server Manager 允许用户以预打包 KML 网络链接文档的形式创建高度自定义 KML 内容作为一组单独的非 REST URL。
KML 网络链接如何用于地图服务、地理编码服务、地理处理服务或影像服务
KML 网络链接是一种在 Web 上查看动态 KML 内容的方式。它可包含刷新间隔以及其他行为属性的详细信息,而且可以嵌入到压缩的 KML (KMZ) 文件中。为简单起见,包含网络链接信息的 KML/KMZ 文件在本主题的余下部分将被称为网络链接文档。
通过地图服务和影像服务 REST 端点提供的默认 KML 网络链接将以地面叠加层的形式显示服务,即显示为叠加在地球表面上的影像。如果服务是一个采用了受支持的坐标系(WGS 1984 Web Mercator、WGS 1984 Web Mercator [辅助球体] 或其他任何圆柱投影)的缓存地图服务,也可通过 Regions 返回地面叠加层。Regions 可提供按等级划分的影像集合,因此被强烈推荐以实现最佳性能。
其他可访问的 REST KML 网络链接包括地图服务图层查询操作、地理编码地址和反向地理编码操作以及已提交地理处理作业的结果。这些返回的矢量将以原始服务源文档和栅格地面叠加层中的符号化形式进行符号化(仅适用于地理处理服务)。
另一种可用于地图服务的选项是生成自定义 KML 网络链接。可通过“ArcGIS Server Manager”、“服务目录”创建自定义 KML 网络链接,也可在 KML 客户端手动创建。通过此方法可使提供的 KML 中包含栅格与矢量元素的组合,而不仅仅是通过默认 REST 端点提供的单个地面叠加层影像。例如,如果需要拉伸的建筑物覆盖区,则需要生成自定义 KML 网络链接。有关此制作过程的详细信息,请参阅制作要发布为 KML 的地图和管理 KML 网络链接。
查找特定 KML 服务的 URL
“服务目录”是 ArcGIS Server 中提供的一款应用程序,可帮助导航有关服务的 REST 相关信息(包括 URL)。要打开“服务目录”,请使用已安装的快捷方式,或打开浏览器并导航至 http://gisserver.domain.com:6080/arcgis/rest/services。在目录中找到您的 KML 服务后,右键单击 在以下位置查看:Google 地球,然后复制快捷方式以获取链接。
地图和影像服务的默认 REST URL 可通过以下方式直接构建:
http://gisserver.domain.com:6080/arcgis/rest/services/folder/service/service type/kml/service.kmz
各种名称可由发布者在创建服务时定义,而服务类型可以是 MapServer 或者 ImageServer。
以下为以 KML 网络链接的形式连接至地图服务的 REST URL 示例:
http://gisserver.domain.com:6080/arcgis/rest/services/MyKMLService/MapServer/kml/mapImage.kmz
用于生成自定义 KML 网络链接文档的 MapServer REST URL 与 MapServer REST 端点位于同一“服务目录”页面。其 URL 遵循与以前相同的模式,但会以 generateKML.kmz 结尾。可在通过此链接打开的页面中定义特定的网络链接属性。单击生成 KML 将创建自定义网络链接文档,之后可将该文档复制到任何虚拟目录中进行发布。
此外,通过选择地图服务图层链接,然后选择查询图层作为操作行为,打开查询图层页面。
选择 KMZ 格式将创建可粘贴在网络链接文档中的网络链接 URL:
http://gisserver.domain.com:6080/arcgis/rest/services/M_Portland_FGDB/MapServer/7/query?text=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&where=&returnGeometry=true&outSR=&outFields=&f=kmz
利用管理员权限,您可以访问 ArcCatalog 中的地图或影像服务,或 ArcGIS Desktop 中的目录 窗口,并查找非 REST KML 服务的 URL。此 URL 可用于在 KML 客户端中手动构建自定义的 KML 网络链接。要找到 URL,右键单击服务名称,然后选择服务属性。在服务编辑器 中,单击功能 > KML。