消除 (数据管理)

在 Advanced 许可等级下可用。

摘要

通过将面与具有最大面积或最长共享边界的相邻面合并来消除面。 消除通常用于移除叠加操作(例如执行相交联合工具)所生成的小的狭长面。

插图

消除工具图示

使用情况

  • 要消除的要素由应用于面图层的选择内容决定。 必须在之前的步骤中使用按属性选择图层工具或按位置选择图层工具或者通过查询地图图层来确定选择内容。

  • 消除工具可能不会删除所有所选要素,具体取决于您的数据集。 所选要素无法与邻近的所选要素合并。 例如,由其他选定要素包围的选定要素或仅边界位于其他所选要素上的所选要素无法被合并。 要消除未合并的所选要素,请再次选择要素然后再次运行工具。

    没有具有共同边界的相邻要素的所选要素无法被合并。

  • 输入图层参数必须包含选择内容,否则工具将失败。

  • 排除表达式排除图层参数不会相互排斥,可将二者结合使用以对要消除的要素进行全面控制。

参数

标注说明数据类型
输入图层

包含要与邻近面合并的面的图层。

Feature Layer
输出要素类

待创建的要素类。

Feature Class
按边界消除面
(可选)

指定所选面是否要与具有最长共享边界或最大面积的面合并。

  • 选中 - 所选面将与具有最长共享边界的邻近面合并。 这是默认设置。
  • 未选中 - 所选面将与具有最大面积的邻近面合并。
Boolean
排除表达式
(可选)

将用于识别不会被更改的要素的 SQL 表达式。

SQL Expression
排除图层
(可选)

定义不会被消除的面边界(或部分)的输入折线、面要素类或图层。

Feature Layer

arcpy.management.Eliminate(in_features, out_feature_class, {selection}, {ex_where_clause}, {ex_features})
名称说明数据类型
in_features

包含要与邻近面合并的面的图层。

Feature Layer
out_feature_class

待创建的要素类。

Feature Class
selection
(可选)

指定所选面是否要与具有最长共享边界或最大面积的面合并。

  • LENGTH所选面将与具有最长共享边界的邻近面合并。 这是默认设置。
  • AREA所选面将与具有最大面积的邻近面合并。
Boolean
ex_where_clause
(可选)

将用于识别不会被更改的要素的 SQL 表达式。 有关 SQL 语法的详细信息,请参阅帮助主题。

SQL Expression
ex_features
(可选)

定义不会被消除的面边界(或部分)的输入折线、面要素类或图层。

Feature Layer

代码示例

Eliminate 示例(Python 窗口)

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

import arcpy
arcpy.env.workspace = "C:/data/Portland.gdb/Census"
arcpy.MakeFeatureLayer_management("blockgrp", "blocklayer")
arcpy.SelectLayerByAttribute_management("blocklayer", "NEW_SELECTION", 
                                        '"Area_Sq_Miles" < 0.15')
arcpy.Eliminate_management("blocklayer", "C:/output/output.gdb/eliminate_output", 
                           "LENGTH", '"OBJECTID" = 9')
Eliminate 示例 2(独立脚本)

以下独立脚本演示了如何使用 Eliminate 函数。

# Name: Eliminate_Example2.py
# Description: Eliminate features based on a selection.
 
# Import system modules
import arcpy
 
# Set environment settings
arcpy.env.workspace = "C:/data/Portland.gdb/Census"
 
# Set local variables
inFeatures = "blockgrp"
tempLayer = "blocklayer"
expression = '"Area_Sq_Miles" < 0.15'
outFeatureClass = "C:/output/output.gdb/eliminate_output"
exclusionExpression = '"OBJECTID" = 9'
 
# Execute MakeFeatureLayer
arcpy.MakeFeatureLayer_management(inFeatures, tempLayer)
 
# Execute SelectLayerByAttribute to define features to be eliminated
arcpy.SelectLayerByAttribute_management(tempLayer, "NEW_SELECTION", expression)
 
# Execute Eliminate
arcpy.Eliminate_management(tempLayer, outFeatureClass, "LENGTH", 
                           exclusionExpression)

相关主题