WFS 转要素类 (转换)

摘要

将要素类型从网络要素服务 (WFS) 导入至地理数据库中的要素类。

使用情况

  • 从简单或复杂的 WFS 服务下载要素。

  • 当为 WFS 服务器参数指定 URL 时,服务器发布的所有要素类型都将列在选择要提取的要素类型参数的选项中。 学校、道路及宗地的 WFS 要素类型就是这种要素类型。

  • 默认情况下,来自 WFS 源的所有要素都会被添加至要素类。 可通过输出范围环境设置将要素限定为与用户定义范围交叉的要素。 也可通过环境设置的地理数据库设置部分来指定输出配置关键字。

参数

标注说明数据类型
WFS 服务器

源 WFS 服务的 URL(例如 http://sampleserver6.arcgisonline.com/arcgis/services/SampleWorldCities/MapServer/WFSServer?)。 如果输入为复杂的 WFS 服务(已选中复杂 WFS 服务参数),这也可以是 .xml 文件的路径。

String
选择要提取的要素类型

将从输入 WFS 服务中提取的 WFS 图层的名称。

String
输出位置

输出要素类或地理数据库的位置。

如果输入是简单的 WFS 服务,则输出位置可以是地理数据库或地理数据库内的要素数据集。 若输出位置为要素数据集,则坐标系将从源坐标系转换为要素数据集坐标系。

如果输入是复杂的 WFS 服务,则输出位置必须是文件夹。

Workspace; Feature Dataset; Folder
名称

输出要素类或地理数据库的名称。

如果输入是简单的 WFS 服务,则该名称将用于在输出位置内创建要素类。 如果该地理数据库中已存在该要素类名称,则将自动递增该命名值。 默认情况下,将使用要素类型名称。

如果输入是复杂的 WFS 服务,则该名称将用于在输出位置内创建地理数据库。

String
复杂的 WFS 服务
(可选)

指定 WFS 服务器参数值是否为复杂的 WFS 服务。

  • 选中 - WFS 服务为复杂的 WFS 服务。
  • 未选中 - WFS 服务不是复杂的服务。 这是默认设置。

Boolean
最大要素数
(可选)

可返回的最大要素数量。 默认值为 1000。

Long
显示元数据
(可选)

指定是否将根据服务创建带有元数据的表。 这仅适用于复杂的 WFS 服务。

  • 选中 - 将在输出地理数据库中创建元数据表。
  • 未选中 - 将不在输出地理数据库中创建元数据表。 这是默认设置。

Boolean
交换 XY 轴顺序
(可选)

指定是否将交换输出要素类的 x,y 轴顺序。 某些 WFS 服务可能在服务器端交换了 x,y 坐标的顺序,从而导致要素类显示不正确。

  • 选中 - 将交换 x,y 轴顺序。
  • 未选中 - 将不会交换 x,y 轴顺序。 这是默认设置。

Boolean
页面大小
(可选)

从 WFS 服务下载要素时将使用的页面大小。 默认值为 100。

某些服务器会限制单次请求的要素数量,或者如果单次请求中包含大量要素,服务器性能会下降。 使用此参数可在多个页面中请求较少数量的要素,以避免服务器超时或超出最多要素限值。

此参数仅适用于支持 startIndexcount WFS 参数的简单 WFS 2.0 服务。 对于旧版本的 WFS(1.1.0 和 1.0.0),此参数将被忽略。

Long

派生输出

标注说明数据类型
输出要素类

转换简单的 WFS 服务时的输出要素类。

Feature Class
输出工作空间

转换复杂的 WFS 服务时的输出文件地理数据库。

Workspace

arcpy.conversion.WFSToFeatureClass(input_WFS_server, WFS_feature_type, out_path, out_name, {is_complex}, {max_features}, {expose_metadata}, {swap_xy}, {page_size})
名称说明数据类型
input_WFS_server

源 WFS 服务的 URL(例如 http://sampleserver6.arcgisonline.com/arcgis/services/SampleWorldCities/MapServer/WFSServer?)。 如果输入为复杂的 WFS 服务(is_complex 设置为 COMPLEX),这也可以是 .xml 文件的路径。

String
WFS_feature_type

将从输入 WFS 服务中提取的 WFS 图层的名称。

String
out_path

输出要素类或地理数据库的位置。

如果输入是简单的 WFS 服务,则输出位置可以是地理数据库或地理数据库内的要素数据集。 若输出位置为要素数据集,则坐标系将从源坐标系转换为要素数据集坐标系。

如果输入是复杂的 WFS 服务,则输出位置必须是文件夹。

Workspace; Feature Dataset; Folder
out_name

输出要素类或地理数据库的名称。

如果输入是简单的 WFS 服务,则该名称将用于在输出位置内创建要素类。 如果该地理数据库中已存在该要素类名称,则将自动递增该命名值。 默认情况下,将使用要素类型名称。

如果输入是复杂的 WFS 服务,则该名称将用于在输出位置内创建地理数据库。

String
is_complex
(可选)

指定 input_WFS_server 参数值是否为复杂的 WFS 服务。

  • COMPLEXWFS 服务为复杂的 WFS 服务。
  • NOT_COMPLEXWFS 服务不是复杂的 WFS 服务。 这是默认设置。
Boolean
max_features
(可选)

可返回的最大要素数量。 默认值为 1000。

Long
expose_metadata
(可选)

指定是否将根据服务创建带有元数据的表。 这仅适用于复杂的 WFS 服务。

  • EXPOSE_METADATA将在输出地理数据库中创建元数据表。
  • DO_NOT_EXPOSE将不在输出地理数据库中创建元数据表。 这是默认设置。
Boolean
swap_xy
(可选)

指定是否将交换输出要素类的 x,y 轴顺序。 某些 WFS 服务可能在服务器端交换了 x,y 坐标的顺序,从而导致要素类显示不正确。

  • SWAP_XY将交换 x,y 轴顺序。
  • DO_NOT_SWAP_XY将不会交换 x,y 轴顺序。 这是默认设置。
Boolean
page_size
(可选)

从 WFS 服务下载要素时将使用的页面大小。 默认值为 100。

某些服务器会限制单次请求的要素数量,或者如果单次请求中包含大量要素,服务器性能会下降。 使用此参数可在多个页面中请求较少数量的要素,以避免服务器超时或超出最多要素限值。

此参数仅适用于支持 startIndexcount WFS 参数的简单 WFS 2.0 服务。 对于旧版本的 WFS(1.1.0 和 1.0.0),此参数将被忽略。

Long

派生输出

名称说明数据类型
out_feature_class

转换简单的 WFS 服务时的输出要素类。

Feature Class
out_gdb

转换复杂的 WFS 服务时的输出文件地理数据库。

Workspace

代码示例

WFSToFeatureClass 示例 1(独立脚本)

以下脚本演示了在独立脚本中使用 WFSToFeatureClass 函数。


# Name: WFSToFeatureClass_example1.py
# Description: Create a feature class from a WFS service

# Import arcpy module
import arcpy

# Set local variables
wfs_service = "http://sampleserver6.arcgisonline.com/arcgis/services/SampleWorldCities/MapServer/WFSServer?request=GetCapabilities&service=WFS"
wfs_featuretype = "cities"
out_location = "C:/Data/Default.gdb"
out_name = "SampleWorldCities"

# Run the WFSToFeatureClass tool
arcpy.conversion.WFSToFeatureClass(wfs_service, wfs_featuretype, out_location, out_name)
WFSToFeatureClass 示例 2(独立脚本)

以下脚本演示了如何使用 WFSToFeatureClass 函数,通过范围环境将输出限制为指定的地理区域。


# Name: WFSToFeatureClass_example2.py
# Description: Create a feature class from a WFS service and use extent environment

# Import arcpy module
import arcpy

# Use arcpy.EnvManager to set the extent to be used by the tool
with arcpy.EnvManager(extent=arcpy.Extent(9.3385, 45.7384250210615, 17.2915, 49.7115749789385, spatial_reference=arcpy.SpatialReference('GCS_WGS_1984'))):
    arcpy.conversion.WFSToFeatureClass(
        input_WFS_server="http://sampleserver6.arcgisonline.com/arcgis/services/SampleWorldCities/MapServer/WFSServer",
        WFS_feature_type="Cities",
        out_path=r"C:\MyProject\MyData.gdb",
        out_name="cities_use_extent",
        is_complex="NOT_COMPLEX",
        max_features=1000,
        expose_metadata="DO_NOT_EXPOSE",
        swap_xy="DO_NOT_SWAP_XY",
        page_size=100
    )

相关主题