网络要素服务 (WFS) 是通过 Web 提供地理要素服务的开放规范。与 Web 地图服务 (WMS) 不同,WFS 服务返回的是具有几何和属性信息的实际要素。您可通过创建 WFS 服务连接或从活动门户中添加 WFS 项目,在 ArcGIS Pro 中连接到开放地理空间联盟 (OGC) 的 WFS 服务。
添加 WFS 服务器连接
- 在插入选项卡的工程组中,单击连接下拉列表,然后单击新 WFS 服务器。
随即弹出添加 WFS 服务器连接对话框。
- 在服务器 URL 文本框中,输入要连接的 WFS 服务器站点的 URL。URL 将根据站点配置的不同而变化。
例如,http://sampleserver6.arcgisonline.com/arcgis/services/SampleWorldCities/MapServer/WFSServer
- 选择要连接到的 WFS 版本。默认版本连接到服务器支持的最高版本号。
- 如果要连接的 WFS 服务具有其他功能,或者您要设置 WFS 服务器连接的属性,则可以向自定义请求参数部分添加自定义请求参数名称和值。请注意,ArcGIS Pro 无法验证这些附加参数。
要添加自定义参数,请执行以下操作:
- 单击第一个单元格。
- 在参数列的单元格中指定参数名称。
- 在值列的单元格中指定参数值。
- 要添加其他参数,请单击添加行按钮,并重复步骤 a 到 c。
要删除自定义参数,请执行以下操作:
- 选择包含要删除参数的行。
- 单击移除行删除该行。
- 对每个要删除的参数重复步骤 a 和 b。
- 如果适用,请输入用户名和密码。
若要保存用户名和密码信息以免每次连接时都要进行输入,可选中保存用户名/密码复选框。
- 单击确定。
随后会创建一个 WFS 连接文件 (.wfs) 并将其保存在工程的主目录文件夹中。引用此连接文件的项目会被添加到工程中,同时该连接会显示在目录窗格的工程选项卡的服务器文件夹中。
- 展开 WFS 连接以查看在 WFS 服务中存在的图层。右键单击图层,然后单击添加到新地图或添加到当前地图以将 WFS 图层添加到地图。还可以通过将服务拖动到地图或内容窗格中来将其添加到地图中。
随即将 WFS 项目添加到地图。您还可以根据情况通过单击进度对话框中的取消来取消将图层添加到地图操作。如果数据在添加到地图后没有按预期方式显示,则可以修改 WFS 图层属性。
WFS 服务可用于添加一个或多个图层。按住 Shift 键的同时单击想要添加的子图层组中的第一个和最后一个子图层,可以选择一组图层。按住 Ctrl 键同时单击各个图层,还可以选择多个不连续的图层。选择图层后,右键单击选中的图层并选择将其添加至当前地图或新地图。一次添加多个图层比添加一个图层需要更长的时间。
基于活动门户连接添加 WFS 服务
还可以将 WFS 服务添加到门户中。门户中的 WFS 项目有以下三个来源:
- 向已经与门户联合的 ArcGIS Server 站点发布的 WFS 服务将以项目形式自动添加到您的门户。
- 以项目形式添加到门户中的第三方 WFS 服务。
- 通过从托管要素图层发布 WFS 服务创建的托管 WFS 服务。
可以使用以下步骤将每种类型的 WFS 门户项目添加到地图:
- 在目录窗格中,单击门户选项卡。
- 在我的内容、群组或所有门户集合中,浏览或搜索想要使用的 WFS 项目。
将鼠标悬停在门户项目上可查看项目类型。
- 右键单击项目,然后单击添加到新地图或添加到当前地图以将 WFS 图层添加到地图。还可以通过将服务拖动到地图或内容窗格中来将其添加到地图中。
如果服务包含多个图层,则系统将提示您选择要添加至地图的图层。
随即将 WFS 项目添加到地图。您还可以根据情况通过单击进度对话框中的取消来取消将图层添加到地图操作。如果数据在添加到地图后没有按预期方式显示,则可以修改 WFS 图层属性。
WFS 服务可用于添加一个或多个图层。按住 Shift 键的同时单击想要添加的子图层组中的第一个和最后一个子图层,可以选择一组图层。按住 Ctrl 键同时单击各个图层,还可以选择多个不连续的图层。选择图层后,右键单击选中的图层并选择将其添加至当前地图或新地图。一次添加多个图层比添加一个图层需要更长的时间。
使用自定义请求参数
自定义请求参数表单可用于输入 WFS 服务支持的其他功能。输入键值对可以是特定于 WFS 服务器实现的自定义参数,或者可以使用 ArcGIS Pro 客户端实现的其中一个保留关键字。
使用键值对
某些 WFS 服务可能具有特定的键值对,这些键值对可用于对服务执行自定义查询。键值对将追加到 WFS URL 中的问号 (?) 字符后。例如,您的 WFS URL 为 http://sampleserver6.arcgisonline.com/arcgis/services/SampleWorldCities/MapServer/WFSServer?。如果您的自定义参数名为 myCustomKey,则可以在参数单元格内输入 myCustomKey 值,然后在值单元格内输入相应的值。如果 ArcGIS Pro 请求连接到您的 WFS 服务,则其会将键值对追加到 WFS URL,例如,http://sampleserver6.arcgisonline.com/arcgis/services/SampleWorldCities/MapServer/WFSServer?request=GetCapabilities&service=WFS&myCustomKey=myValue。
使用保留关键字
ArcGIS Pro WFS 客户端具有保留关键字,这些保留关键字可用于指定 WFS 服务器连接的连接属性。您为这些参数设置的值将应用于 WFS 服务中的所有图层。如果要将保留关键字应用于 WFS 服务中的各个图层而不是每个服务连接,则需要使用不同的参数值创建多个连接,或者更新地图中的 WFS 图层属性。下表中列出了您在设置 WFS 服务器连接文件属性时可能用到的自定义参数名称和值:
关键字 | 说明 |
---|---|
BBOX | 提供 BBOX 范围以限制返回要素的范围,例如 -122.5,37.7,-122.3,37.8。如果要将所有 WFS 图层中返回的要素数限制在特定地理区域,则此参数将非常有用。这仅适用于快照模式。 |
MAXFEATURES | 设置 WFS 服务器连接中针对图层返回的最大要素数。当服务存在大量要素时,设置该值可以避免出现性能问题。默认值为 3000。 |
OUTPUTFORMAT | 指定请求要素所用的格式。WFS 服务可以支持多种输出格式类型,但是默认情况下,格式为 GML。仅当您的服务支持指定的输出格式时,才会使用此选项。您可以在 GetCapabilities 响应中查看服务支持的输出格式。
输出格式为 GeoJSON 时,SWAPXY 和 SWAPXYFILTER 属性不适用。 |
PAGESIZE | 指定在提出 GetFeature 请求以将数据加载到地图中时要使用的页面大小。默认情况下不使用页面大小。在一个请求中请求大量要素时,这可能会导致服务性能下降。使用此关键字可在多个页面中请求较少数量的要素。例如,PAGESIZE 等于 1000。 此关键字仅适用于支持 startIndex 和 count 参数的 WFS 2.0 服务。 |
STRINGLENGTH | 指定 WFS 图层中文本字段的长度。在地图中打开图层时,默认将所有文本字段的长度截断为 255 个字符。 |
SWAPXY | 交换图层显示的 x,y 坐标。
|
SWAPXYFILTER | 交换发送到服务器的空间过滤请求的 x,y 坐标。
|
注:
除了 BBOX、STRINGLENGTH、OUTPUTFORMAT 和 PAGESIZE 关键字之外,所有这些关键字在 WFS 图层属性中都有相应的图层设置。通过右键单击内容窗格中的图层,然后选择属性,可以访问 WFS 图层属性。
除了以上列出的可用于指定 WFS 服务器连接属性的关键字之外,还存在无法使用的其他保留关键字,因为它们对于 WFS 服务或 ArcGIS 有着特殊的含义。这些关键字包括 NAMESPACE、TYPENAME、VERSION、SERVICE、CRSNAME、REQUEST、USER、URL、PASSWORD、MODE、ANONYMOUS、HTTPTIMEOUT、CAPABILITIES_PARAMETERS 和 CONNECTIONPATH。