修剪线 (编辑)

摘要

移除线上超过交点指定距离的部分(悬挂线)。 可修剪两个端点均未与其他线相接触的任何线,但只能移除超过交点指定距离的线段。

工具用于完成质量控制任务,例如,清除在未设置适合的捕捉环境的情况下而进行数字化的要素中的拓扑错误。

插图

修剪线图示

使用情况

    警告:

    此工具会修改输入数据。 有关详细信息以及避免数据被意外更改的策略,请参阅修改或更新输入数据的工具

  • 可修剪两个端点均未与其他线相接触的任何线。 满足此条件的线有两种类型:

    • 悬挂线。 悬挂线指的是某条线与其他线相接触或相交的点与该线的端点(未与其他线接触或末端不在其他线上的线的端点)之间的线段。
    • 独立的要素。 此类要素不与其他任何线接触或相交。 要删除这些要素,必须使用删除短要素选项。
  • 如果未指定悬挂长度,则将所有悬挂线(两个端点均未接触到其他线的线段)均修剪至交点处,而不考虑悬挂线的长度。

  • 如果使用删除短要素选项,所有总长度小于或等于指定“悬挂长度”的独立要素都将被删除。 如果未使用此选项,则仅修剪悬挂线段。

  • 如果将包含选择内容的要素图层或要素类用作输入,则将仅修剪所选的要素。 该图层或要素类中的所有要素将用来评估是否存在悬挂线且应将其删除,但仅修改所选的要素。

  • 此工具不会更改任何要素属性,但地理数据库要素类中的几何(长度)字段除外。

参数

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

要修剪的线输入要素。

Feature Layer
悬挂长度
(可选)

将修剪长度短于指定“悬挂长度”且两个端点均未接触到其他线的线段(悬挂线)。

如果未指定“悬挂长度”,则将所有悬挂线(两个端点均未接触到其他线的线段)均修剪至交点处,而不考虑悬挂线的长度。

Linear Unit
删除短要素
(可选)

指定是否删除长度短于悬挂长度的独立线段。

  • 选中 - 删除独立的短要素。 这是默认设置。
  • 未选中 - 不删除独立的短要素。
Boolean

派生输出

标注说明数据类型
更新后的输入要素

更新后的输入要素。

Feature Class

arcpy.management.TrimLine(in_features, {dangle_length}, {delete_shorts})
名称说明数据类型
in_features

要修剪的线输入要素。

Feature Layer
dangle_length
(可选)

将修剪长度短于指定“悬挂长度”且两个端点均未接触到其他线的线段(悬挂线)。

如果未指定“悬挂长度”,则将所有悬挂线(两个端点均未接触到其他线的线段)均修剪至交点处,而不考虑悬挂线的长度。

Linear Unit
delete_shorts
(可选)

指定是否删除长度短于悬挂长度的独立线段。

  • DELETE_SHORT删除独立的短要素。 这是默认设置。
  • KEEP_SHORT不删除独立的短要素。
Boolean

派生输出

名称说明数据类型
out_feature_class

更新后的输入要素。

Feature Class

代码示例

TrimLine 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何使用 TrimLine 函数。

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.edit.TrimLine("majorrds.shp", "15 Feet", "DELETE_SHORT")
TrimLine 示例 2(独立脚本)

清除在未设置相应捕捉环境的情况下进行数字化的街道中心线。

# Name: ExtendLine.py
# Description:  Clean up street centerlines that were digitized without 
#                      having set proper snapping environments

# import system modules 
import arcpy

# Set environment settings
arcpy.env.workspace = "C:/data"

# Make backup copy of streets feature class, since modification with 
#  the Editing tools below is permanent
streets = "majorrds.shp"
streetsBackup = "C:/output/Output.gdb/streetsBackup"
arcpy.management.CopyFeatures(streets, streetsBackup)

# Trim street lines to clean up dangles
arcpy.edit.TrimLine(streets, "10 Feet", "KEEP_SHORT")

# Extend street lines to clean up dangles
arcpy.edit.ExtendLine(streets, "15 Feet", "EXTENSION")