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.

Si les entités en entrée proviennent d'une classe d'entités, toutes les lignes seront supprimées. 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 une couche à l’aide de l’outil Générer une couche ou en l’ajoutant à l’affichage. 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, 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.

  • 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 toutes les lignes de la classe d’entités, utilisez plutôt l’outil Tronquer une table. 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 des 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 illustre l’utilisation de 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.

# Name: DeleteFeatures_Example2.py
# 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, then 
#  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.

Informations de licence

  • Basic: Oui
  • Standard: Oui
  • Advanced: Oui

Rubriques connexes