要素转面 (数据管理)
摘要
创建包含从输入线或面要素所封闭的区域生成的面的要素类。
插图
用法
-
将在一个或多个输入要素形成的封闭区域处,构造一个新的面要素并将其写入输出要素类。输出属性将因对话框上的保留属性选项(脚本中的 attributes 参数)和标注要素选项(脚本中的 label_features 参数)而异。
-
在输入要素列表中指定了多个要素类或图层时,列表中这些条目的顺序并不影响输出要素类型,但是,在处理过程中将使用工具对话框中此列表最顶部的条目(脚本中的第一个条目)的空间参考,并将其作为输出空间参考。
-
输入要素中的参数(真)曲线在输出面中将保持为真曲线,即使这些曲线被分割开了。但这一点不适用于 shapefile 数据。
-
注:
保留属性参数(脚本中的 attributes 参数)不起作用而且不应使用。不会为了脚本或模型的向后兼容性而将其移除。下面介绍可能生成的某些输入组合的输出属性模式和字段值,其中大部分都是不需要的。
如果选中对话框上的保留属性选项(在脚本中 attributes 参数设置为 ATTRIBUTES),那么输出属性模式和字段值将取决于标注要素(点)是否由以下方法提供:
- 如果未提供标注要素,每个输入条目的属性模式(字段名和属性,不含字段值)在输出中将保持输入列表中的顺序。新字段 FID_xxx(xxx 是特定输入条目的源要素类名)将添加到每个输入条目的输出中,并且其值被设为 -1。所有其他字段的值为零或空值。
- 如果提供标注要素,则所有输入属性模式在输出要素类中都不会被保留,输出要素类中将只包含标注要素的属性。如果一个输出面包含一个标注要素,那么它将从标注要素获得字段值;如果一个输出面包含多个标注要素,它将从其中一个标注要素获得字段值。如果输出面不包含标注要素,其字段值为零或空。
如果未选中对话框中的保留属性选项(脚本中的 attributes 参数设置为 NO_ATTRIBUTES),则输入属性模式将被写入到输出中,但属性值将为空。如果不需要输出面要素类的任何属性,则会为标注要素参数提供不具有任何属性的点要素类。
-
在输入面要素分为较小的输出面要素的位置,可使用标识工具从输入面要素到结果面要素传递属性。
-
此工具通过切片的方式处理庞大的数据集以便提高性能和可扩展性。有关详细信息,请参阅对大型数据集进行地理处理。
语法
参数 | 说明 | 数据类型 |
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 |
代码示例
以下 Python 窗口脚本演示了如何在即时模式下使用 FeatureToPolygon 函数。
import arcpy from arcpy import env env.workspace = "C:/data" arcpy.FeatureToPolygon_management(["mainroads.shp","streets.shp"], "c:/output/output.gdb/streetblocks", "", "NO_ATTRIBUTES", "")
以下独立脚本是如何在脚本环境中应用 FeatureToPolygon 函数的简单示例。
# Name: FeatureToPolygon_Example2.py # Description: Use FeatureToPolygon function to construct habitat areas # from park boundaries and rivers. # Author: ESRI # import system modules import arcpy from arcpy import env # Set environment settings 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", "")