Python è una miniera inesauribile di risorse e nel mare degli script ne proponiamo uno abbastanza banale per eseguire dei conteggi sulle proprie Feature Class, utilizzando la Python Window.
Primo passo è importare i moduli necessari: arcpy è il Site Package che contiene tutte (o quasi…) le librerie Python di ArcGIS.
import arcpy arcpy.env.workspace = r'C:\temp\scratch.gdb'
Successivamente andiamo a listare le Feature classes all’interno del nostro Workspace: la funzione crea un oggetto Lista che può contenere valori multipli.
featureclasses = arcpy.ListFeatureClasses()
A questo punto, per eseguire un conteggio su ciascuna FeatureClass dobbiamo inserire un ciclo e in particolare un ciclo “For”. Da notare che la variabile fc non esiste fintanto che non viene dichiarata proprio al momento del clclo (molto comodo!!!!)
for fc in featureclasses:
Per ognuna delle Feature class dobbiamo eseguire il conteggio e recuperare anche il nome della Feature Class: La funzione Describe() recupera tutte le proprietà di un dataset, tra cui anche il nome, mentre GetCount() esegue un conteggio degli elementi trovati all’interno del dataset.
desc = arcpy.Describe(fc) nome = desc.name conteggio = arcpy.GetCount_management(fc)
Infine bisogna dare l’output all’utente: il comando Print stampa il valore di stringhe e di variabili. Si noti la particolare sintassi del “%s” che consente di recuperare in formato Stringa il valore delle variabili specificate in coda al messaggio di testo.
print '%s geometrie in %s' %(conteggio, nome)
Il tutto va ovviamente assemblato in un unico script rispettando le Indentazioni (in particolare dopo il ciclo “for”…) e le MAIUSCOLE / minuscole.
Provare per credere…
import arcpy arcpy.env.workspace = r"C:\temp\scratch.gdb" featureclasses = arcpy.ListFeatureClasses() for fc in featureclasses: desc = arcpy.Describe(fc) nome = desc.name conteggio = arcpy.GetCount_management(fc) print "%s geometrie in '%s'" %(conteggio, desc.name)
Buon Python a tutti….