Features löschen (Data Management)
Zusammenfassung
Löscht Features aus der Eingabe-Feature-Class oder dem -Layer. Wenn es sich bei der Eingabe um ein Layer mit einer Auswahl handelt, werden nur die selektierten Features gelöscht. Wenn die Eingabe eine Geodatabase-Feature-Class oder ein Shapefile ist, werden alle Features gelöscht.
Verwendung
-
Dieses Werkzeug akzeptiert Layer mit einer Auswahl als Eingabe und löscht nur die selektierten Features. Um bestimmte Features aus einer Feature-Class zu löschen, konvertieren Sie zunächst die Feature-Class in einen Layer. Verwenden Sie hierfür das Werkzeug Feature-Layer erstellen oder fügen Sie die Feature-Class in die ArcMap-Anzeige ein. Eine Auswahl kann dann mit dem Werkzeug Layer nach Attributen auswählen oder Layer lagebezogen auswählen oder durch Abfragen eines Karten-Layers oder Selektieren von Features mit dem Auswahlpfeil in ArcMap vorgenommen werden.
-
Mit diesem Werkzeug werden die Geometrie und die Attribute der Eingabe-Features gelöscht.
-
Wenn Sie bei der Arbeit in ArcMap dieses Werkzeug in einer Editiersitzung verwenden, können Sie die Operation "Features löschen" mithilfe von "Rückgängig"/"Wiederholen" rückgängig machen.
-
Wenn Sie alle Features aus einer Feature-Class löschen möchten, führen Sie dieses Werkzeug für eine Feature-Class oder einen -Layer ohne Auswahl aus.
-
Wenn Sie alle Features aus einer ArcSDE-Feature-Class löschen möchten, verwenden Sie dieses Werkzeug für die ArcSDE-Feature-Class (nicht für einen Layer) ohne Auswahl, um die Datenbank zu kürzen, statt Features zeilenweise zu löschen, um alle Features zu löschen. Beim Löschen aller Features in einer Feature-Class geht das Kürzen der Datenbank viel schneller.
Syntax
| Parameter | Erläuterung | Datentyp |
in_features |
Die Feature-Class, das Shapefile oder der Layer, die zu löschende Features enthalten. | Feature Layer |
Codebeispiel
Im folgenden Skript im Python-Fenster wird veranschaulicht, wie Sie das Werkzeug "DeleteFeatures" im unmittelbaren Modus verwenden.
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")
Das folgende eigenständige Skript veranschaulicht, wie Sie die Funktion "DeleteFeatures" zum Löschen von Features basierend auf einem Ausdruck verwenden.
# Name: DeleteFeatures_Example2.py
# Description: Delete features from a feature class based on an expression
# Author: ESRI
# 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, e:
# If an error occurred, print line number and error message
import traceback, sys
tb = sys.exc_info()[2]
print "Line %i" % tb.tb_lineno
print e.message
Umgebungen
- Ausdehnung
Es werden nur die Features gelöscht, die sich in der Ausdehnung befinden oder die sie schneiden.