标注 | 说明 | 数据类型 |
输入要素 | 输入要素可以是线或面,或是两者兼而有之。 | Feature Layer |
输出要素类 | 输出线要素类。 | Feature Class |
XY 容差 (可选) | 进行空间计算时所有要素坐标之间的最小距离以及坐标可以沿 X 和/或 Y 方向移动的距离。默认 XY 容差设定值为 0.001 米,或者为其等效值(以要素单位表示)。 警告:更改此参数的值可能会导致出现故障或意外结果。 建议不要修改此参数。 已将其从工具对话框的视图中移除。 默认情况下,将使用输入要素类的空间参考 x,y 容差属性。 | Linear Unit |
保留属性 (可选) | 指定是在输出要素类中保留还是忽略输入要素属性。
| Boolean |
摘要
创建包含通过以下方式生成的线的要素类:将面边界转换为线,或者分割线、面或在两要素的相交处对两要素进行分割。
插图
使用情况
输入属性可以选择性地保留在输出要素类中,这由对话框上的保留属性选项(脚本中的 attributes 参数)决定。
在输入要素列表中指定了多个要素类或图层时,列表中这些条目的顺序并不影响输出要素类型,但是,在处理过程中将使用工具对话框中此列表最顶部的条目(脚本中的第一个条目)的空间参考,并将其作为输出空间参考。
如果输入线或面边界在除起始折点和结束折点之外的其他位置相接、相交或重叠,则它们将在相交处分割;每条分割线都会变成一个输出线要素。 如果输入线或面边界未与另一个要素相交,则仍将以完整形状写出为线要素。
对于多部件输入要素,输出线将为单部件。
对于参数(真)曲线的输入要素,即使被分割,输出线也仍将是真曲线。 但这一点不适用于 shapefile 数据。
如果选中对话框中的保留属性选项(脚本中的 attributes 参数设置为 ATTRIBUTES),则所有输入条目中的属性都将按照输入列表中的顺序保留在输出中。 一个新字段 FID_xxx(其中 xxx 是特定输入条目的源要素类名称)将会添加到每个输入条目的输出中,并被设置为源要素 ID。 输出线将以如下方式与其属性相关联:
- 对于同一输入要素集内重合的线或面边界(例如,分隔两个面的边界),将在输出中写入几何相同的两个线要素:
- 对于两个不同输入要素集中重合的线或面边界,例如,与面边界重叠的一条线,只有同时具有两个源要素属性的那条线要素会写入到输出。
- 如果某条输出线未与特定输入要素集中的任何要素重叠,则它在 FID_xxx 字段中的值将为 -1,在该要素集的其他字段中的值将为零或空值。
如果未选中对话框上的保留属性选项(脚本中的 attributes 参数设置为 NO_ATTRIBUTES),所有输入属性都不会保留在输出要素类中;对于每组重合的线或面边界,只有一个线要素写入到输出。
当输入要素包含相邻面时,如果想要在输出中将具有左右面要素 ID 的共享边界线作为属性,需使用面转线工具替代。
为了获得更好的性能和可扩展性,此工具将使用切片过程来处理非常大的数据集。 有关详细信息,请参阅大型数据集的切片处理。
参数
arcpy.management.FeatureToLine(in_features, out_feature_class, {cluster_tolerance}, {attributes})
名称 | 说明 | 数据类型 |
in_features [in_features,...] | 输入要素可以是线或面,或是两者兼而有之。 | Feature Layer |
out_feature_class | 输出线要素类。 | Feature Class |
cluster_tolerance (可选) | 进行空间计算时所有要素坐标之间的最小距离以及坐标可以沿 X 和/或 Y 方向移动的距离。默认 XY 容差设定值为 0.001 米,或者为其等效值(以要素单位表示)。 警告:更改此参数的值可能会导致出现故障或意外结果。 建议不要修改此参数。 已将其从工具对话框的视图中移除。 默认情况下,将使用输入要素类的空间参考 x,y 容差属性。 | Linear Unit |
attributes (可选) | 指定是在输出要素类中保留还是忽略输入属性。
| Boolean |
代码示例
以下 Python 窗口脚本演示了如何在即时模式下使用 FeatureToLine 函数。
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.FeatureToLine_management(["majorrds.shp", "habitat_analysis.gdb/futrds"],
"c:/output/output.gdb/allroads",
"0.001 Meters", "ATTRIBUTES")
以下独立脚本演示了如何在脚本环境中应用 FeatureToLine 函数。
# Name: FeatureToLine_Example2.py
# Description: Use FeatureToLine function to combine features from two
# street feature classes into a single feature class,
# then determine an area of impact around all streets
# by buffering
# import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data"
# Set local variables
oldStreets = "majorrds.shp"
newStreets = "habitat_analysis.gdb/futrds"
uptodateStreets = "c:/output/output.gdb/allroads"
# Use FeatureToLine function to combine features into single feature class
arcpy.FeatureToLine_management([oldStreets, newStreets], uptodateStreets,
"0.001 Meters", "ATTRIBUTES")
# Use Buffer function to determine area of impact around streets
roadsBuffer = "c:/output/output.gdb/buffer_output"
arcpy.Buffer_analysis(uptodateStreets, roadsBuffer, "50 Feet",
"FULL", "ROUND", "ALL")