使用 WFS 服务图层

使用 ArcGIS AllSource 时,可使用 Web 上的可用开放地理空间联盟 (OGC) Web 要素服务 (WFS)。 ArcGIS 支持使用 WFS 客户端在 Internet 上获取这些服务并向地图中添加 WFS 图层。

OGC 网络要素服务是通过 Web 提供地理要素服务的开放规范,其返回的是具有几何和属性的实际要素。 有关 OGC WFS 规范的详细信息,请参阅 OGC 网站,网址为 www.opengeospatial.org/standards

注:

WFS 客户端的版本仅支持地理标记语言 (GML) 简单要素专用标准。

在内容窗格中查看 WFS 图层

创建 WFS 服务器连接后,WFS 服务连接将显示在目录窗格的服务器文件夹中。 可以通过在 WFS 连接中选择所有图层来将整个 WFS 服务添加到地图,也可以单独添加 WFS 图层。 将 WFS 图层添加到地图后,图层随即将添加到内容窗格中。

也可以通过将项目拖放到地图上以查看活动门户中的 WFS 项目

WFS 图层属性

当向地图中添加 WFS 图层时,还会添加一些默认设置的图层属性。 这些默认设置可能对您的 WFS 图层并不适用,所以可能需要作出更改。 要查看或修改这些属性,右键单击内容窗格中的 WFS 图层,然后单击属性

WFS 图层的只读属性

一些 WFS 图层属性提供了关于 WFS 服务器连接属性的详细信息。 这些属性位于图层属性对话框的选项卡中。

以下是一些可在选项卡中发现的 WFS 属性:

WFS 图层数据源属性,例如 URL、WFS 版本和 WFS 模式。
  1. 数据类型 - 如果连接至 WFS 图层,则该属性会告知您数据类型为 WFS 服务要素类。
  2. URL - 此为 WFS 服务的 URL。
  3. 要素类 - 在 WFS 术语中,此为 WFS typename。 本示例中的 typename 为 Continent
  4. WFS 版本 - 您所连接的 WFS 版本。 本示例中的版本为 2.0.0
  5. WFS 模式 - 您所使用的连接模式。 本示例中的连接模式为快照。

修改 WFS 图层属性

有许多您可以在需要时修改的 WFS 图层属性:

如连接模式、轴顺序或返回的最大要素数量等 WFS 图层属性。
  1. 连接模式 - 此属性允许您选择要为图层使用的连接模式。 默认的连接模式为快照。

    连接模式描述

    快照

    此模式与大多数 WFS 服务兼容。 在使用此模式时,将下载 WFS 数据的临时副本,并将其用作要素缓存。 与向 WFS 服务发送复杂的过滤请求并等待服务器响应不同,您将在本地使用数据副本进行工作。 当您关闭 ArcGIS Pro 3.2 会话后,数据的临时副本将被删除。

    此方法的缺点是您将无法看到在 ArcGIS Pro 3.2 会话期间添加至 WFS 服务的任何新编辑内容。 要查看 WFS 服务的更新内容,必须先关闭并重新打开 ArcGIS Pro 3.2。 使用此模式时您可能会注意到,第一次打开地图图层的速度很慢。 这是因为要从服务器中复制数据的缘故。

    按需

    此模式与大多数 WFS 服务并不兼容。 在使用此模式时,无需在本地复制数据,而是要连接到实时 WFS 服务。 当您在地图上进行平移和缩放或对数据进行查询时,该模式会发送服务请求。 由于没有下载数据,因此图层打开的速度可能会变快,并且可在添加有关 WFS 服务的编辑内容时对此部分内容进行查看。

    此模式的缺点是不兼容无法处理复杂过滤请求的 WFS 服务。 为了处理此位于 ArcGIS AllSource 中的图层并对数据进行查询和分析,服务器需要支持高级过滤请求。

  2. 轴顺序 - 此属性允许您切转图层的 x,y 轴顺序或切换发送到服务器的请求的 x,y 轴顺序。

    轴顺序描述

    交换 x/y 坐标

    此属性允许您交换 x,y 坐标来显示图层。

    • 选中 - 交换图层的 x,y 坐标。
    • 取消选中 - 不交换图层的 x,y 坐标。 这是默认设置。

    交换 x/y 过滤请求

    此属性允许您交换发送到服务器的空间过滤请求的 x,y 坐标。 如果您需要交换图层的 x,y 坐标以获得正确的正确效果,则您可能需要交换 x,y 过滤请求,以确保获得正确的空间查询结果。

    • 选中 - 交换过滤请求的 x,y 坐标。
    • 取消选中 - 不交换过滤请求的 x,y 坐标。 这是默认设置。

    注:

    在先前版本的 ArcGIS AllSource 中,轴顺序属性的默认值是交换 x,y 坐标和过滤请求。 在 ArcGIS AllSource 2.1 中,创建新的 WFS 服务器连接后,默认值是不交换 x,y 坐标和过滤请求。 这不会影响任何现有 WFS 图层或连接。

  3. 设置返回的最大要素 - 该属性允许您限制添加到地图的要素数量。 如果您的 WFS 图层中有数百万条记录,那么此图层的处理速度可能会很慢。 为了避免出现性能问题,默认的要素数量为 3000。
    注:

    为了满足该默认值,WFS 服务版本 2.0.0 必须支持 COUNT,之前版本必须支持 MAXFEATURES

修改 WFS 服务器连接属性

可以根据需要修改多个 WFS 服务器连接属性。 通过修改服务器连接属性,可以在服务器连接级别设置 WFS 属性(这会影响服务中的所有图层),而无需针对每个图层进行设置。 以下步骤将说明如何添加、移除或修改 WFS 服务器连接属性:

  1. 目录窗格中选择 WFS 服务器连接。
  2. 右键单击该连接并选择属性。 随即打开 WFS 服务器连接属性对话框。
  3. 要更新 WFS 服务 URL,请在服务器 URL 文本框中输入新 URL。
  4. 要更新服务连接到的 WFS 版本,请在版本下拉列表中选择其他版本。
  5. 要更新自定义请求参数,可以修改参数名称或值。 还可以根据需要添加新行或删除行。 默认情况下,SWAPXY 和 SWAPXYFILTER 属性将显示在格网中。

    阅读有关自定义请求参数的详细信息

  6. 要更新使用的身份验证,请输入新的用户名和密码,然后选择凭据的保存方式。
  7. 完成属性更新后,请单击确定,服务器连接将进行刷新以反映所做的修改。

    之前从服务器连接添加到地图的所有图层都不受这些更改的影响。 您必须将图层重新添加到地图才能查看更改。

使用 web 上的 WFS 图层

添加至 ArcGIS AllSource 的 WFS 图层将作为数据库中的只读要素图层。 您可以查询要素,更改符号系统或在图层上运行分析。

疑难解答

并非所有 WFS 服务均采用相同的方法实现。 此部分可解决将 WFS 图层添加至 ArcGIS AllSource 时出现的若干常见问题。

问题解决方案

我的要素在地图上没有显示,或者未在预期的位置显示。

您可能需要更改图层的轴顺序属性。 默认情况下,客户端假设每个服务的轴顺序为 x,y。 如果您的服务的轴顺序并非以上顺序,请尝试更改交换 x/y 坐标设置。

添加我的 WFS 图层至地图所用时间过长。

如果您同时添加了多个图层,请尝试一次只添加一个图层。

将返回的最大要素设置为一个较低值。

使用 BBOX 自定义请求参数指定较小的地理区域。

当添加我的 WFS 图层至地图时收到一个错误消息。

如果客户端不支持 WFS 服务中的要素类型,或者服务器不支持客户端发送的请求,那么在将服务添加到地图时,可能会收到一条错误消息。 错误消息可帮助判断问题所在。 例如:

  • GetCapabilities 请求会返回 XML 解析程序错误。 这属于服务器响应问题。
  • 几何类型不支持错误消息。 WFS ArcGIS AllSource 客户端不支持复杂数据类型。
  • 请求超时错误。 如果服务器响应过慢,则请求可能会超时。

我无法添加 WFS 服务器连接。

请确保您具有访问 WFS 服务数据所需的凭证。 这可能需要用户名和密码或输入自定义请求参数值。

通过在浏览器中检查 GetCapabilities 响应来验证服务是否正常。

使用“按需”模式时,我观察到一些奇怪的行为或查询没有返回预期结果。

请尝试使用“快照”模式。 如果您想继续使用“按需”模式,请尝试更改其他一些 WFS 属性。 如果修改不同的图层属性不能解决您的问题,并且您的服务能够在“快照”模式下正常工作,则请联系并反馈给 Esri 技术支持

“按需”模式通常会使用复杂过滤器将 POST 请求发送至 WFS 服务。 您可以尝试使用 web 调试程序工具来尝试捕获通过客户端发送至服务器的 POST 请求,并验证服务是否支持正在发送的过滤器。

局限性

ArcGIS AllSource 中使用 WFS 客户端存在以下已知限制:

  • 尚不支持具有事务的 WFS。 图层的行为与只读数据源相同。
  • 尚不支持在 ArcGIS AllSource 中将 WFS 图层共享为 web 地图。
  • 不支持使用 ArcGIS Data Interoperability extension 扩展模块创建的具有 WFS 图层的导入 .mxd 文件。
  • 针对版本 1.0.0 创建的 WFS 服务器连接仅支持使用“快照”连接模式。
  • 基于 ArcGIS Desktop 的 WFS 服务 10.5 版本或较早版本需要使用快照模式。