擦除 (分析)

在 Advanced 许可等级下可用。

摘要

通过将输入要素与擦除要素相叠加来创建要素类。 只将输入要素处于擦除要素之外的部分复制到输出要素类。

备用工具可用于擦除操作。 有关详细信息,请参阅成对擦除工具文档。

插图

擦除工具图示

使用情况

  • 输入要素擦除要素参数值之间重合的几何将被移除。

  • 擦除要素参数值可以为点、线或面,只要输入要素参数值的要素类型等级与之相同或较低。 面擦除要素可用于擦除输入要素中的面、线或点;线擦除要素可用于擦除输入要素中的线或点;点擦除要素仅用于擦除输入要素中的点。

  • 输入要素类的属性值将被复制到输出要素类。 但是,如果输入是一个或多个通过创建要素图层工具创建的图层并且选中了字段的使用比率策略设置项,那么计算输出属性值时将按输入属性值的一定比例进行计算。 如果启用了使用比率策略选项,执行叠加操作时,对于任一要素的分割都将按照输入要素属性值的一定比率来生成输出要素的属性值。 输出值将根据输入要素几何被分割的比率得出。 例如,如果输入几何被分割成相等的两部分,则每个新要素的属性值都等于输入要素属性值的一半。 使用比率策略仅适用于数值字段类型。

    警告:

    地理处理工具不支持地理数据库要素类或表字段分割策略

  • 为了获得更好的性能和可扩展性,此工具将使用切片过程来处理非常大的数据集。 有关详细信息,请参阅大型数据集的切片处理

  • 即使所有输入要素均属于单部件要素,此工具仍可能在输出中生成多部件要素。 如果不希望生成多部件要素,请对输出要素类使用多部件至单部件工具。

参数

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

输入要素类或图层。

Feature Layer
擦除要素

将用于擦除重叠输入要素的要素。

Feature Layer
输出要素类

该要素类只包含与擦除要素不重叠的输入要素。

Feature Class
XY 容差
(可选)

所有要素坐标(节点和折点)之间的最小距离以及坐标可以沿 x 和/或 y 方向移动的距离。

警告:

更改此参数的值可能会导致出现故障或意外结果。 建议不要修改此参数。 已将其从工具对话框的视图中移除。 默认情况下,将使用输入要素类的空间参考 x,y 容差属性。

Linear Unit

arcpy.analysis.Erase(in_features, erase_features, out_feature_class, {cluster_tolerance})
名称说明数据类型
in_features

输入要素类或图层。

Feature Layer
erase_features

将用于擦除重叠输入要素的要素。

Feature Layer
out_feature_class

该要素类只包含与擦除要素不重叠的输入要素。

Feature Class
cluster_tolerance
(可选)

所有要素坐标(节点和折点)之间的最小距离以及坐标可以沿 x 和/或 y 方向移动的距离。

警告:

更改此参数的值可能会导致出现故障或意外结果。 建议不要修改此参数。 已将其从工具对话框的视图中移除。 默认情况下,将使用输入要素类的空间参考 x,y 容差属性。

Linear Unit

代码示例

Erase 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何在即时模式下使用 Erase 函数。

import arcpy
arcpy.env.workspace = 'C:/data/gdb'
arcpy.analysis.Erase(r'redlands.gdb\rdlswells\well', 
                     r'redlands.gdb\rdlsfloodzones\flood', 
                     r'redlands.gdb\wellsoutside_flood')
Erase 示例 2(独立脚本)

查找尚未受主要道路严重影响的相应植被区域。

# Name: Erase.py
# Description: Find areas of suitable vegetation that exclude areas heavily 
#              impacted by major roads

# Import system modules 
import arcpy

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

# Select suitable vegetation patches from all vegetation
veg = "vegtype"
suitableVeg = "C:/output/Output.gdb/suitable_vegetation"
whereClause = "HABITAT = 1" 
arcpy.analysis.Select(veg, suitableVeg, whereClause)

# Buffer areas of impact around major roads
roads = "majorrds"
roadsBuffer = "C:/output/Output.gdb/buffer_output"
distanceField = "Distance"
dissolveField = "Distance"
arcpy.analysis.Buffer(roads, roadsBuffer, distanceField, "FULL", "ROUND", 
                      "LIST", dissolveField)

# Erase areas of impact around major roads from the suitable vegetation patches
eraseOutput = "C:/output/Output.gdb/suitable_vegetation_minus_roads"
arcpy.analysis.Erase(suitableVeg, roadsBuffer, eraseOutput)

环境

特殊情况

并行处理因子

此工具支持并行处理因子环境。 如果未设置环境(默认)或设置为 0,则将禁用并行处理;不会使用并行处理,而是按顺序进行处理。 如将环境设置为 100,则将启用并行处理;将使用并行处理,并且将进行并行处理。 启用并行处理时,最多将使用 10 个内核。

目前,面-面、线-面以及点-面叠加操作支持并行处理。

许可信息

  • Basic: 否
  • Standard: 否
  • Advanced: 是

相关主题