删除要素 (Data Management)
摘要
从输入中删除所有要素或所选要素子集。
如果输入要素来自要素类或表,则将删除所有行。如果输入要素来自没有任何选择内容的图层,则将删除所有要素。
用法
-
该工具接受具有选择内容的图层作为输入,且仅会删除所选要素。要从要素类中删除特定要素,请使用创建要素图层将要素类转换为图层,或通过将要素类添加到 ArcMap 显示中来执行此操作。然后可使用按属性选择图层或按位置选择图层工具进行选择,或者使用 ArcMap 中的选择箭头通过查询地图图层或选择要素进行选择。
-
如果输入为图层,并且该图层没有选定内容,则将删除所有要素。如果输入为要素类,则将删除所有要素。
注:从包含大量行的要素类中删除所有行的操作将会非常慢。如果您想要删除要素类中的所有行,应考虑改用截断表工具。有关使用截断表的重要警告声明,请参阅截断表文档。
-
该工具将同时删除输入要素的几何和属性。
此工具支持输出范围环境。仅删除位于输出范围环境内或与输出范围环境相交的要素。如果输入图层包含选定内容,则只删除位于输出范围内或与输出范围相交的选定要素。
-
在 ArcMap 中操作并使用具有选定内容的图层作为输入时,如果在编辑会话中使用此工具,则允许通过撤消/恢复来撤消删除要素操作。
语法
DeleteFeatures_management (in_features)
参数 | 说明 | 数据类型 |
in_features |
包含要删除要素的要素类、shapefile 或图层。 | Feature Layer |
代码实例
删除要素 (DeleteFeatures) 示例 1(Python 窗口)
以下 Python 窗口脚本演示了如何在即时模式下使用 DeleteFeatures 工具。
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.CopyFeatures_management("majorrds.shp", "C:/output/output.gdb/majorrds2")
arcpy.DeleteFeatures_management("C:/output/output.gdb/majorrds2")
删除要素 (DeleteFeatures) 示例 2(独立脚本)
以下独立脚本演示了如何使用 DeleteFeatures 工具基于表达式删除要素。
# Name: DeleteFeatures_Example2.py
# Description: Delete features from a feature class based on an expression
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data/airport.gdb"
# Set local variables
inFeatures = "parcels"
outFeatures = "C:/output/output.gdb/new_parcels"
tempLayer = "parcelsLayer"
expression = arcpy.AddFieldDelimiters(tempLayer, "PARCEL_ID") + " = 'Cemetery'"
try:
# Execute CopyFeatures to make a new copy of the feature class
arcpy.CopyFeatures_management(inFeatures, outFeatures)
# Execute MakeFeatureLayer
arcpy.MakeFeatureLayer_management(outFeatures, tempLayer)
# Execute SelectLayerByAttribute to determine which features to delete
arcpy.SelectLayerByAttribute_management(tempLayer, "NEW_SELECTION",
expression)
# Execute GetCount and if some features have been selected, then
# execute DeleteFeatures to remove the selected features.
if int(arcpy.GetCount_management(tempLayer).getOutput(0)) > 0:
arcpy.DeleteFeatures_management(tempLayer)
except Exception as e:
# If an error occurred, print line number and error message
import traceback
import sys
tb = sys.exc_info()[2]
print("Line {0}".format(tb.tb_lineno))
print(e.message)
相关主题
许可信息
ArcGIS for Desktop Basic: 是
ArcGIS for Desktop Standard: 是
ArcGIS for Desktop Advanced: 是
5/10/2014