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.