在 Advanced 许可等级下可用。
描述
创建包含从输入线或面要素所封闭的区域生成的面的要素类。
插图
使用方法
将在一个或多个输入要素形成的封闭区域处,构造一个新的面要素并将其写入输出要素类。输出属性将因对话框上的保留属性选项(脚本中的 attributes 参数)和标注要素选项(脚本中的 label_features 参数)而异。
在输入要素列表中指定了多个要素类或图层时,列表中这些条目的顺序并不影响输出要素类型,但是,在处理过程中将使用工具对话框中此列表最顶部的条目(脚本中的第一个条目)的空间参考,并将其作为输出空间参考。
输入要素中的参数(真)曲线在输出面中将保持为真曲线,即使这些曲线被分割开了。但这一点不适用于 shapefile 数据。
如果选中对话框上的保留属性选项(在脚本中 attributes 参数设置为 ATTRIBUTES),那么输出属性模式和字段值将取决于标注要素(点)是否由以下方法提供:
- 如果未提供标注要素,每个输入条目的属性模式(字段名和属性,不含字段值)在输出中将保持输入列表中的顺序。一个新字段 FID_xxx(其中 xxx 是特定输入条目的源要素类名称)将会添加到每个输入条目的输出中,并将值设置为 -1。所有其他字段将包括零或空值。
- 如果提供标注要素,则所有输入属性模式在输出要素类中都不会被保留,输出要素类中只包含标注要素的属性。如果一个输出面包含一个标注要素,那么它将从标注要素获得字段值;如果一个输出面包含多个标注要素,它将从其中一个标注要素获得字段值。如果输出面不包含标注要素,其字段值为零或空。
如果未选中对话框中的保留属性选项(脚本中的 attributes 参数设置为 NO_ATTRIBUTES),则输入属性模式被写入到输出中,但属性值为空。如果不需要输出面要素类的任何属性,则会为标注要素参数提供不具有任何属性的点要素类。
在输入面要素分为较小的输出面要素的位置,可使用标识工具从输入面要素到结果面要素传递属性。
此工具通过切片的方式处理庞大的数据集以便提高性能和可扩展性。有关详细信息,请参阅对大型数据集进行地理处理。
语法
arcpy.management.FeatureToPolygon(in_features, out_feature_class, {cluster_tolerance}, {attributes}, {label_features})
参数 | 说明 | 数据类型 |
in_features [in_features,...] | 输入要素可以是线或面,或是两者兼而有之。 | Feature Layer |
out_feature_class | 输出面要素类。 | Feature Class |
cluster_tolerance (可选) | 进行空间计算时所有要素坐标之间的最小距离以及坐标可以沿 X 和/或 Y 方向移动的距离。默认 XY 容差设定值为 0.001 米,或者为其等效值(以要素单位表示)。 | Linear Unit |
attributes (可选) | Boolean | |
label_features (可选) | 保存可传递到输出面要素的属性的可选输入点要素。 | Feature Layer |
代码示例
FeatureToPolygon 示例 1(Python 窗口)
以下 Python 窗口脚本演示了如何在即时模式下使用 FeatureToPolygon 函数。
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.FeatureToPolygon_management(["mainroads.shp","streets.shp"],
"c:/output/output.gdb/streetblocks",
"", "NO_ATTRIBUTES")
FeatureToPolygon 示例 2(独立脚本)
以下独立脚本是演示如何在脚本环境中应用 FeatureToPolygon 函数的简单示例。
# Name: FeatureToPolygon_Example2.py
# Description: Use FeatureToPolygon function to construct habitat areas
# from park boundaries and rivers.
# import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data/parks_analysis.gdb"
# Set local parameters
inFeatures = ["park_boundaries", "rivers"]
outFeatureClass = "c:/output/output.gdb/habitat_areas"
clusTol = "0.05 Meters"
# Use the FeatureToPolygon function to form new areas
arcpy.FeatureToPolygon_management(inFeatures, outFeatureClass, clusTol,
"NO_ATTRIBUTES")
环境
许可信息
- Basic: 否
- Standard: 否
- Advanced: 是