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!

PythonToolbox1

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

Leave a Comment