使用 WMS 服务图层

ArcGIS AllSource 中,可以使用 Web 上的可用开放地理空间联盟 (OGC) 服务,例如 WMS 和 WMTS 服务。

有关 OGC WMS 规范的详细信息,请参阅 OGC 网站,网址为 www.opengeospatial.org/standards

OGC Web 地图服务 (WMS) 是一种地图描述服务,可用于发布地图图层集合以嵌入到交互式 Web 地图中。 WMS 规范使用 XML 将地图内容表示为地图图层。 WMS 的主要用途是以公开的方式为 Internet 上的交互式地图影像提供服务。

ArcGIS 支持使用 WMS 客户端在 Internet 上获取这些服务并向地图中添加 WMS 图层

在“内容”窗格中查看 WMS 服务

连接到 WMS 服务器后,WMS 服务连接显示在目录窗格的服务器文件夹中。 可将整个服务添加到地图。 由于 WMS 服务未定义哪些图层可见,将自动打开前 20 个图层。 这使您可以同时查看多个图层,无需打开或关闭大量单个图层。 当您最初放大 WMS 服务时,无需查看详细信息,除非提供更详细数据的图层位于上述前 20 个图层中。

添加到 ArcGIS AllSource 后,WMS 服务图层条目将在内容窗格中呈折叠状态以节省空间,但您也可以展开此条目及其条目组,以便查看其中包含的各个图层。

WMS 服务图层由三个条目组成,它们在内容窗格中按等级排列。 最上方显示的是 WMS 服务的名称,该级包含所有 WMS 地图图层。 下一级是 WMS 组图层,它的唯一功能是将 WMS 子图层分为相关的组。 至少应该存在一个 WMS 图层组,并且数量不限(甚至可以在组中嵌套组)。 WMS 组图层本身不包含任何地图图层;实际包含地图图层的是第三组 WMS 子图层。

WMS 组图层和子图层始终为 WMS 服务的一部分。 添加单个 WMS 子图层时,将会在内容窗格中为添加的每个子图层创建一个 WMS 服务条目。 地图或场景中的 WMS 服务子图层越多,发送到服务器的请求越多,因此会影响性能。 在 ArcGIS AllSource 中,可以使用图层属性对话框添加现有 WMS 地图图层的 WMS 子图层或移除其 WMS 子图层。 添加小的 WMS 子图层列表时,会将不含组图层的无层次图层列表添加到内容窗格中。

WMS 服务子图层图例

如果 WMS 服务中包含图例信息,则在内容窗格中展开服务中的图层即可查看 WMS 子图层的符号系统。 在内容窗格中,WMS 服务中图层的图例默认隐藏,因为访问 WMS 服务中一个图层的图例需要向服务器发送请求。 每访问一个图层,都需要向服务器发送一个额外请求。 这会影响地图和图例的显示速度。

某些 WMS 服务不包含服务中图层所使用符号的相关图例信息。 如果不存在图例信息,则不会在内容窗格中显示这些图层的符号系统。 将在内容窗格中列出这些图层,但无法将其展开。

各 WMS 图例的大小有所不同。 对于 WMS 服务,图层的图例将以一幅含有所有符号的图像形式在 Internet 上传输。 如果图层包含多种图例样式,您可以选择要使用的样式和请求样式的大小。

更改 WMS 服务子图层的样式

WMS 子图层的渲染由样式决定。 WMS 规范允许 WMS 图层包含可渲染图层的样式列表。 WMS 服务器可将样式符号系统用作用户图例。 如果 WMS 服务支持图例,可以使用样式来预览 WMS 服务子图层的图例。 如果子图层具有多个在服务能力中列出的样式,可以使用样式选项卡选择所需样式。

  1. 内容窗格中选择 WMS 子图层。
  2. WMS 子图层选项卡的绘制组中,单击符号系统下拉菜单 符号系统。 在符号系统库中,单击要显示的样式。

    随即显示符号系统窗格,显示当前样式信息。

  3. (可选)更改图例高度、图例宽度以及定义样式的 URL。

更改 WMS 服务图层的显示

在 WMS 图层属性对话框中,图层选项卡显示 WMS 服务的所有组成部分。 选中选择要包括的子图层选项后,可将要显示的子图层从所有图层的列表移动到要包括的有序子图层列表。 将鼠标悬停在其中一个列表中的 WMS 图层时,将显示 WMS 服务器提供的每个 WMS 图层的相关信息。 可通过在列表中上下移动子图层来更改图层绘制顺序。

可以通过显示选项卡更改 WMS 服务的属性。 例如,可更改背景颜色或将背景颜色设为透明。 还可以定义要从 WMS 服务请求的图像格式类型。 如果 WMS 服务图层具有透明度并且您想要将其与地图中的其他图层混合,则从 WMS 服务请求的图层图像格式必须为 PNG32。

一些 WMS 服务器支持特定于 WMS 服务器本身的其他地图参数。 可在自定义请求参数列表中添加和移除这些参数。 ArcGIS AllSource 无法验证设置以确保服务支持这些地图参数。

注:

以下要求适用于在图层上指定的任何自定义请求参数名称:

  • 不得与进行服务连接时指定的另一个参数相冲突。
  • 不得与保留的关键字相冲突。 其中包括 service, version, request, crs, bbox, width, height, layers, styles, exceptions, format, bgcolor, transparent, query_layers, info_format, feature_count, i, j, x, y, srs, layerwmtver
ArcGIS AllSource 不会验证自定义参数的精度。 服务器必须验证值。

对于其他图层类型,可以更改图层的常见属性,例如透明度和可见性范围,也可以使用功能区上下文选项卡卷起图层。

  1. 内容窗格中选择 WMS 图层。
  2. WMS 图层选项卡上,根据需要利用工具调整图层的外观。

获取有关 WMS 服务图层的信息

在 WMS 图层属性对话框中,选项卡显示多种信息,如地图范围、数据(服务)类型、URL、服务名称以及服务的默认坐标系。

注:

此处显示的图层名称可能与内容窗格以及常规选项卡中显示的名称不同。 这是因为选项卡上用于描述图层名称的文本取自 WMS 服务能力文件(用于描述服务)中的 <Name> 标签。 但 ArcGIS AllSource 使用的是此服务能力文件中更具描述性的 <Title> 标签填充内容窗格和常规选项卡中的图层名称。

您可以从服务图层属性的图层选项卡中获得有关各 WMS 子图层的信息。 选择选择要包括的子图层,然后将光标悬停在所有图层的列表部分或 WMS 服务子图层的要包括的有序子图层列表上。 可查看子图层的功能:图层是否支持识别、图例对于子图层是否可用、默认坐标系以及针对此特定子图层的服务器所支持的坐标系列表。

识别 WMS 图层的要素

根据 OGC WMS 规范,不需要 WMS 服务来支持<GetFeatureInfo>(查询 WMS 服务中的要素时 ArcGIS AllSource 向服务器发送的请求)。 如果服务支持识别操作,则弹出窗口中将列出服务的子图层。 如果子图层未列出,则表示无法识别 WMS 服务中的要素。

识别容差等级由 WMS 服务器而非 ArcGIS AllSource 决定。 识别 WMS 点要素时,您可能需要多次单击,直到距离要素足够近时才能实现目的。

识别要素是可对 WMS 数据执行的唯一一项查询任务,然而接受到信息的格式会根据服务器的不同而有所不同。 ArcGIS AllSource 会在嵌入到识别窗口中的 Microsoft Edge 控件内显示服务器返回的内容。 “识别”查询的结果可能会以字段 - 值对、HTML 或者图像的形式呈现。

但是,并非所有 WMS 服务都支持识别操作。 此外,WMS 服务不支持以下查询操作:

  • 显示弹出窗口
  • 选择要素
  • 执行地理处理

WMS 服务图层和坐标系

在此版本的 ArcGIS AllSource 中,仅使用默认坐标系且无法进行更改。 但是,如果更改了地图或场景的坐标系,将会请求地图的坐标系。