Supprimer les entités (Gestion des données)
Récapitulatif
Supprime toutes les entités ou le sous-ensemble d'entités sélectionné de l'entrée.
Si les entités en entrée appartiennent à une classe d'entités ou à une table, tous les enregistrements sont supprimés. Si les entités en entrée appartiennent à une couche sans sélection, toutes les entités sont supprimées.
Utilisation
-
Cet outil accepte des couches avec les sélections comme entrée et supprime alors uniquement les entités sélectionnées. Pour supprimer des entités spécifiques d'une classe d'entités, convertissez la classe d'entités en couche à l'aide de l'outil Générer une couche ou en l'ajoutant à l'affichage ArcMap. Une sélection peut ensuite être appliquée à l'aide des outils Sélectionner une couche par attributs ou Sélectionner une couche par emplacement ou en interrogeant une couche ou en sélectionnant des entités avec la flèche de sélection dans ArcMap.
-
Si une couche est saisie et que cette couche comporte aucune sélection, toutes les entités sont supprimées. Si une classe d'entités est saisie, toutes les entités sont supprimées.
Remarque :La suppression de tous les enregistrements d'une classe d'entités contenant un grand nombre d'enregistrements peut prendre beaucoup de temps. Pour supprimer tous les enregistrements de la classe d'entités, utilisez plutôt l'outil Tronquer table. Consultez la documentation relative à Tronquer table pour prendre connaissance des précautions d'utilisation.
-
Cet outil supprime à la fois la géométrie et les attributs des Entités en entrée.
Cet outil respecte l'environnement Etendue en sortie. Seules les entités se trouvant à l'intérieur ou à l'intersection de l'environnement de l'étendue en sortie seront supprimées. Si la couche en entrée a une sélection, seules les entités sélectionnées se trouvant à l'intérieur ou à l'intersection de l'étendue en sortie seront supprimées.
-
Dans ArcMap et lorsque vous utilisez une couche avec des sélections comme entrée, l'utilisation de cet outil dans une session de mise à jour permet d'annuler l'opération Supprimer les entités à l'aide des commandes annuler/répéter.
Syntaxe
Paramètre | Explication | Type de données |
in_features |
Classe d'entités, fichier de formes ou couche contenant les entités à supprimer. | Feature Layer |
Exemple de code
Le script de fenêtre Python suivant montre comment utiliser l'outil DeleteFeatures en mode immédiat.
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")
Le script autonome suivant montre comment utiliser la fonction DeleteFeatures pour supprimer des entités en fonction d'une expression.
# 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)
Environnements
- Etendue
Seules les entités se trouvant à l'intérieur ou à l'intersection de l'étendue seront supprimées.