消除 (数据管理)
摘要
通过将面与具有最大面积或最长公用边界的邻近面合并来消除面。消除通常用于移除叠加操作(如相交或联合)所生成的小的狭长面。
插图
用法
语法
Eliminate_management (in_features, out_feature_class, {selection}, {ex_where_clause}, {ex_features})
参数 | 说明 | 数据类型 |
in_features |
其中的面将与邻近面进行合并的图层。 | Feature Layer |
out_feature_class |
要创建的要素类。 | Feature Class |
selection (可选) |
这些选项可指定将要使用的消除要素的方法。
| Boolean |
ex_where_clause (可选) | 用于识别不应被消除的输入要素的表达式。 表达式的语法会因数据源的不同而稍有不同。例如,如果要查询文件或 ArcSDE 地理数据库、shapefile 或 coverage,字段名需用双引号: "MY_FIELD" 如果要查询个人地理数据库,需将字段用方括号括起: [MY_FIELD] 在 Python 中,字符串用成对的单引号或双引号括起。要创建含有引号的字符串(常见于 SQL 表达式中的 WHERE 子句),可以对引号进行转义(使用反斜线)或对字符串使用三重引号。例如,如果所需的 WHERE 子句为 "CITY_NAME" = 'Chicago' 可以将整个字符串用双引号括起,然后如下所示对内部双引号进行转义: " \"CITY_NAME\" = 'Chicago' " 或者不进行转义,而将整个字符串用三重引号括起: """ "CITY_NAME" = 'Chicago' """ 有关 SQL 语法及其在不同数据源中的差异的详细信息,请参阅帮助主题在 ArcGIS 中使用查询表达式的 SQL 参考。 | SQL Expression |
ex_features (可选) |
定义不应被消除的面边界(或部分)的输入折线 (polyline)、面要素类或图层。 | Feature Layer |
代码示例
消除示例(Python 窗口)
以下 Python 窗口脚本演示了如何在即时模式下使用“消除”工具。
import arcpy from arcpy import env 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')
消除示例 2(独立脚本)
以下独立脚本演示了如何使用“消除”工具。
# Name: Eliminate_Example2.py # Description: Eliminate features based on a selection. # Author: ESRI # Import system modules import arcpy from arcpy import env # Set environment settings 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)
环境
相关主题
许可信息
ArcView: 否
ArcEditor: 否
ArcInfo: 是
7/10/2012