Arcgis 10.1 consolida la stretta sinergia con Python, il linguaggio di programmazione e scripting open source adottato da ESRI, in sostituzione del VBA, da ormai da qualche versione.
Le Python Toolboxes ne sono un esempio pratico: in sintesi è possibile creare e gestire una Toolbox di ArcGIS esclusivamente via codice, scrivendo i singoli Tools, il codice da eseguire, i parametri di esecuzione e le regole di controllo sui parametri, il tutto in un solo file!
L’oggetto, creato direttamente da ArcMap o ArcCtalog, è un file .pyt e può essere eseguito o editato direttamente da ArcGIS: essendo un unico file è di più facile gestione rispetto ad uno Script tradizionale, e soprattutto è di immediata condivisione.
Questo è il codice che troverete compilato di Default all’interno di una nuova Python Toolbox:
import arcpy class Toolbox(object): def __init__(self): """Define the toolbox (the name of the toolbox is the name of the .pyt file).""" self.label = "Toolbox" self.alias = "" # List of tool classes associated with this toolbox self.tools = [Tool] class Tool(object): def __init__(self): """Define the tool (tool name is the name of the class).""" self.label = "Tool" self.description = "" self.canRunInBackground = False def getParameterInfo(self): """Define parameter definitions""" params = None return params def isLicensed(self): """Set whether tool is licensed to execute.""" return True def updateParameters(self, parameters): """Modify the values and properties of parameters before internal validation is performed. This method is called whenever a parameter has been changed.""" return def updateMessages(self, parameters): """Modify the messages created by internal validation for each tool parameter. This method is called after internal validation.""" return def execute(self, parameters, messages): """The source code of the tool.""" return
Un Post molto utile di ESRI mostra anche come gestire correttamente il debug di una Python Toolbox, inserendo una funzione “main” che controlla i comandi di esecuzione.
One Team organizza per il prossimo 20 Febbraio 2013 un corso di introduzione dedicato proprio a Python, rivolto ad utenti GIS piuttosto che a dei veri e propri sviluppatori.
Nel programma già fitto della giornata ci sarà anche un piccolo spazio dedicato alle nuove Python Toolboxes, poichè introducono un nuovo e più pratico metodo di lavoro.
Per info e costi consulta la pagina dedicata alla Formazione a Calendario oppure scrivici a gis@oneteam.it