Supprimer les entités (Gestion des données)

Synthèse

Supprime toutes les entités ou le sous-ensemble d'entités sélectionné de l'entrée.

La suppression de toutes les entités ou d’un sous-ensemble d’entités dépend des éléments suivants :

  • Si l’entrée correspond à une classe d’entités, toutes les entités sont supprimées.
  • Si l’entrée correspond à une couche sans sélection, toutes les entités sont supprimées.
  • Si l’entrée correspond à une couche comportant une sélection, seules les entités sélectionnées 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 une couche à l’aide de l’outil Créer une couche d’entités ou en l’ajoutant à l’affichage. Une sélection peut ensuite être appliquée à l’aide de l’outil Sélectionner une couche par attributs ou Sélectionner une couche par localisation, en interrogeant une couche de carte ou en sélectionnant des entités de manière interactive via les outils de sélection du groupe Sélection dans l’onglet Carte.

  • Remarque :

    La suppression de toutes les entités d’une classe d’entités contenant un grand nombre d’entités peut prendre du temps. Si vous avez l’intention de supprimer toutes les entités, envisagez d’utiliser l’outilTronquer table à la place. Consultez la documentation relative à Tronquer une table pour prendre connaissance des précautions d’utilisation.

  • Cet outil supprime à la fois la géométrie et les attributs de la valeur Entités en entrée.

  • Cet outil respecte l'environnement Étendue. 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.

Paramètres

ÉtiquetteExplicationType de données
Entités en entrée

Classe d'entités, fichier de formes ou couche contenant les entités à supprimer.

Feature Layer

Sortie obtenue

ÉtiquetteExplicationType de données
Classe d’entités en sortie

Classe d’entités mise à jour.

Feature Layer

arcpy.management.DeleteFeatures(in_features)
NomExplicationType de données
in_features

Classe d'entités, fichier de formes ou couche contenant les entités à supprimer.

Feature Layer

Sortie obtenue

NomExplicationType de données
out_feature_class

Classe d’entités mise à jour.

Feature Layer

Exemple de code

Exemple 1 d’utilisation de l’outil DeleteFeatures (fenêtre Python)

Le script ci-dessous pour la fenêtre Python montre comment utiliser la fonction DeleteFeatures en mode immédiat.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.management.CopyFeatures("majorrds.shp", "C:/output/output.gdb/majorrds2")
arcpy.management.DeleteFeatures("C:/output/output.gdb/majorrds2")
Exemple 2 d'utilisation de l'outil DeleteFeatures (script autonome)

Le script autonome suivant montre comment utiliser la fonction DeleteFeatures pour supprimer des entités en fonction d’une expression.

# Description: Delete features from a feature class based on an expression
 
# Import system modules
import arcpy
 
# Set environment settings
arcpy.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'"
 

# Run CopyFeatures to make a new copy of the feature class
arcpy.management.CopyFeatures(inFeatures, outFeatures)
 
# Run MakeFeatureLayer
arcpy.management.MakeFeatureLayer(outFeatures, tempLayer)
 
# Run SelectLayerByAttribute to determine which features to delete
arcpy.management.SelectLayerByAttribute(tempLayer, "NEW_SELECTION", 
                                        expression)
 
# Run GetCount and if some features have been selected, 
#  run DeleteFeatures to remove the selected features.
if int(arcpy.management.GetCount(tempLayer)[0]) > 0:
    arcpy.management.DeleteFeatures(tempLayer)

Environnements

Cas particuliers

Étendue

Seules les entités se trouvant à l'intérieur ou à l'intersection de l'étendue seront supprimées.

Rubriques connexes