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….

Leave a Comment