Suite

Comment supprimer les lignes sélectionnées à l'aide d'ArcPy ?


Je souhaite supprimer toutes les lignes d'une classe d'entités mais rester dans les lignes 1 à 5. En revanche, je souhaite conserver les cinq premières lignes et en supprimer les autres. Je sais que je dois utiliser le curseur de recherche et le curseur de mise à jour, mais je ne pouvais pas les utiliser. Comment supprimer les lignes à l'aide d'ArcPy ?


Vous pouvez utiliser un curseur de mise à jour pour supprimer des lignes en fonction de vos conditions. Dans cet exemple, toutes les lignes où OBJECTID > 5 sont supprimées.

importer arcpy fc = r'C:	emp	est.gdb	mp' avec arcpy.da.UpdateCursor(fc, "OBJECTID") comme curseur : pour la ligne dans le curseur : si ligne[0] > 5 : curseur.deleteRow( )

Vous pouvez également utiliser Sélectionner une couche par attribut (gestion des données).

import arcpy, os fc = r'C:	emp	est.gdb	mp' outws = r'C:	emp	est.gdb' # Créer une couche à partir de la classe d'entités arcpy.MakeFeatureLayer_management(fc, "fc_lyr") # Utilisez une requête SQL pour sélectionner OBJECTID 1 - 5 arcpy.SelectLayerByAttribute_management("fc_lyr", "", ' "OBJECTID" <= 5 ') # Écrivez les entités sélectionnées dans une nouvelle classe d'entités arcpy.CopyFeatures_management("fc_lyr", os .path.join(outws, "fc_out"))


Voir la vidéo: Programmation géospatiale par python ArcPy-ArcGIS (Octobre 2021).