Supprimer les entités (Gestion des données)
Récapitulatif
Supprime les entités de la couche ou de la classe d'entités en entrée. Si l'entrée est une couche comportant une sélection, seules les entités sélectionnées sont supprimées. Si l'entrée est une classe d'entités de géodatabase ou un fichier de formes, 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.
-
Cet outil supprime à la fois la géométrie et les attributs des Entités en entrée.
-
Dans ArcMap, l'utilisation de cet outil dans une session de mise à jour permet d'annuler l'opération de suppression des entités à l'aide des commandes annuler/répéter.
-
Si vous souhaitez supprimer toutes les entités d'une classe d'entités, utilisez cet outil sur une couche ou une classe d'entités sans sélection.
-
Si vous souhaitez supprimer toutes les entités d'une classe d'entités ArcSDE, utilisez cet outil sur la classe d'entités ArcSDE (pas une couche) sans sélection pour effectuer une troncation de la base de données plutôt qu'une suppression enregistrement par enregistrement d'entités pour effacer toutes les entités. L'opération de troncation de la base de données est beaucoup plus rapide lors de la suppression de toutes les entités d'une classe d'entités.
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 # 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
Environnements
- Etendue
Seules les entités se trouvant à l'intérieur ou à l'intersection de l'étendue seront supprimées.