Features löschen (Data Management)
Zusammenfassung
Löscht alle Features oder die ausgewählte Teilmenge der Features aus der Eingabe.
Wenn die Eingabe-Features aus einer Feature-Class oder Tabelle stammen, werden alle Zeilen gelöscht. Wenn die Eingabe-Features aus einem Layer ohne Auswahl stammen, 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.
-
Wenn ein Layer eingegeben wird, das keine Auswahl hat, werden alle Features gelöscht. Wenn die Eingabe eine Feature-Class ist, werden alle Features gelöscht.
Hinweis:Das Löschen aller Zeilen aus einer Feature-Class mit vielen Zeilen kann lange dauern. Wenn Sie alle Zeilen in der Feature-Class löschen möchten, können Sie stattdessen das Werkzeug Tabelle kürzen verwenden. In der Dokumentation für das Werkzeug Tabelle kürzen finden Sie wichtige Warnhinweise zu dessen Verwendung.
-
Mit diesem Werkzeug werden die Geometrie und die Attribute der Eingabe-Features gelöscht.
Die Umgebungseinstellung zur Ausgabeausdehnung wird von diesem Werkzeug beachtet. Es werden nur die Features gelöscht, die sich in der Ausgabeausdehnung der Umgebungseinstellung befinden oder die sie schneiden. Wenn der Eingabe-Layer eine Auswahl enthält, werden nur die ausgewählten Features gelöscht, die sich in der Ausgabeausdehnung befinden oder sich mit ihr schneiden.
-
Wenn Sie bei der Arbeit in ArcMap und der Verwendung eines Layers mit Auswahl als Eingabe dieses Werkzeug in einer Editiersitzung verwenden, können Sie die Operation "Features löschen" mithilfe von "Rückgängig"/"Wiederholen" rückgängig machen.
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
# 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)
Umgebung
- Extent
Es werden nur die Features gelöscht, die sich in der Ausdehnung befinden oder die sie schneiden.