Progettazione e sviluppo di applicazioni software GIS
Modello orientato ad oggetti, ingegneria software, linguaggio di programmazione Python per il geoprocessing in ArcGIS
Brochure (303 Kb) Modulo di Iscrizione (59 Kb)
Il corso si propone l’obiettivo di introdurre, previa disamina dei concetti fondamentali alla base dei modelli di programmazione orientata ad oggetti (OO) ed a componenti, all’architettura ed alle tecniche di progettazione e programmazione in Python per l’implementazione di applicazioni geografiche e specificatamente di geoprocessing nel contesto della piattaforma proprietaria ArcGIS 9.x e 10™.
ArcGIS può essere programmata con linguaggi evoluti e standard, quali VBA™, Visual Basic™, Visual C++™ e Java™, che garantiscono un accesso completo alle funzionalità native di ArcGIS™ attraverso la libreria di componenti ArcObjects™. Di contro Python, oggi perfettamente integrato all’interno della nuova versione 10 di ArcGIS (ArcPy), rappresenta un’alternativa semplice, efficace e cross-platform per lo sviluppo rapido di scripts per l’automazione di attività di gestione e di analisi di dati geografici. I tools spaziali disponibili in Model Builder possono essere agevolmente integrati all’interno di applicazioni Python, anche esternamente ad ArcGIS, mentre modelli di analisi spaziale sviluppati in Model Builder possono essere agevolmente esportati in Python e poi integrati nel contesto di applicazioni più complesse.
Questo corso si colloca nell’ambito di un progetto più ampio di formazione sui Sistemi Informativi Territoriali, altrimenti noti come GIS dall’acronimo inglese Geographical Information Systems. Tali sistemi si sono ormai imposti come strumenti di gestione, visualizzazione, interrogazione ed analisi di dati geografici nei domini professionali più disparati. Tra questi, il settore urbanistico, della pianificazione territoriale, del controllo ambientale sono solo alcuni degli esempi più rilevanti.
In questo contesto, le esigenze di automazione e di personalizzazione della piattaforma software di base, ovvero di sviluppo di applicazioni stand-alone, sono sempre più rilevanti e Python costituisce il linguaggio di elezione per lo sviluppo scripting in ArcGIS, funzionale alla personalizzazione della piattaforma nonché allo sviluppo di applicazioni geografiche complesse.
Programma
Il corso, attraverso un approccio teorico-pratico,coprirà i seguenti argomenti:
- Introduzione al paradigma della programmazione orientata ad oggetti (OO): dalla decomposizione funzionale e relativi problemi di modularità, coesione ed accoppiamento nei modelli di programmazione tradizionale, al modello OO..
- Introduzione ai concetti OO fondamentali ed alla loro implementazione: classe, incapsulamento, polimorfismo, costruttori e distruttori, stato e comportamento (proprietà e funzioni), oggetti (instanziazione di classi), collections e modalità di interazione tra oggetti.
- Esercitazioni focalizzate sui concetti alla base del modello di programmazione OO, funzionali ad approfondirne implicazioni ed impatti sul processo di progettazione e sviluppo.
- Esercitazioni focalizzate sui concetti alla base del modello di programmazione OO, funzionali ad approfondirne implicazioni ed impatti sul processo di progettazione e sviluppo.
- Esercitazioni funzionali alla progettazione di applicazioni OO, in particolare identificazione di classi e relative relazioni..
- Introduzione a Python: editor IDLE, variabili, operatori matematici e loro ordine, commenti, indentazione, costrutti fondamentali condizionali (if, elif, else) e di iterazione (while, for), funzioni, passaggio di parametri e valori di ritorno, tuples, liste e dizionari, creazione ed uso di classi, ereditarietà, puntatori e dizionari di classi, moduli, input/output su file, errori e gestione delle eccezioni, esecuzione e debugging (print, try..except) dei programmi.
- Esercitazioni funzionali ad acquisire e consolidare la conoscenza dei costrutti fondamentali del linguaggio di programmazione Python e sviluppo di semplici applicazioni OO.
- Geoprocessing in ArcGIS. Definizioni, inquadramento ed esame dei modelli geografici nel contesto del geoprocessing, ruolo dello scripting nell’analisi GIS, utilizzo di Model Builder, architettura, modalità di implementazione. Il modello di programmazione, il geoprocessor object e sua evoluzione.
- Utilizzo di Python in ArcGIS: ArcPy, settaggio delle variabili di ambiente, strumenti di geoprocessing e toolboxes, attività di base (interazione con layers, costruzione ed esportazione di cartografia, sistemi di riferimento). Liste di dati GIS, uso dei cursori per selezionare, modificare ed aggiungere nuovi records, creazione ed importazione di script come strumenti in ArcToolbox..
- Esercitazioni focalizzate sulla progettazione e sviluppo di programmi di gestione dati geografici e geoprocessing in Python per ArcGIS.
Progetto didattico
Il corso si inquadra nel contesto di un articolato progetto di formazione nei settori della GIScience e GIS, dello sviluppo di applicazioni e di mashup geografici, nonchè delle applicazioni ambientali. Avvalendosi di una docenza di alto profilo, con background consolidati in ambito industriale ed accademico, il progetto annovera storicamente nella propria offerta formativa i seguenti corsi:
- Introduzione ai GISe alla GIScience: dai principi e tecniche fondamentali alla filosofia di sviluppo di applicazioni reali di gestione, visualizzazione ed analisi spaziale
- Progettazione e sviluppo di applicazioni software GIS: Modello orientato ad oggetti, ingegneria software, linguaggio di programmazione Python per il geoprocessing in ArcGIS
- Progettazione e sviluppo di Web mapping applications: un corso teorico-pratico sul GeoWeb 2.0, progettazione e sviluppo di mashups geografici basati su Google Maps e Open Layers, ed integrazione con il database spazio-temporale PostgreSQL/PostGIS
- Progettazione e sviluppo di applicazioni software GIS: ingegneria software, modelli OO e a componenti, sintassi e costrutti di programmazione in VBA/ArcObjects per ArcGIS 8.x/9
- Programmazione OO in JAVA per l’implementazione di soluzioni GIS
- Introduzione ai database e geodatabase: un corso teorico-pratico in due moduli con esempi in MySql, PostgreSQL/PostGIS, Oracle XE ed ArcGIS/MsAccess per la progettazione e sviluppo di basi dati relazionali (I) e geografiche (II)
- Business Geographics & Geodemographics
- Google Maps Mashups
- La gestione di progetti ambientali: aspetti legislativi, tecnici, organizzativi e comunicativi
- Applicazione della modellistica numerica di flusso e trasporto delle acque sotterranee: Gestione delle risorse idriche a scala regionale e nell’analisi e progettazione di interventi di protezione e recupero ambientale a scala locale.
Software
Python, QuantumGIS, ESRI ArcGIS
A chi è indirizzato
Il corso è indirizzato a professionisti, tecnici e manager, operanti nel settore pubblico e privato, nonché a giovani laureati e diplomati, interessati alla personalizzazione in ArcGIS con l’utilizzo di Python.
Sede e date
Il corso si terrà presso il Centro Didattico Ambientale Casa Archilei , ubicato in pieno centro di Fano (PU) ed agevolmente raggiungibile dalle maggiori vie di comunicazione. Il corso, della durata complessiva di 48 ore, si articolerà in giornate di 8 ore di lezione, nei giorni 8-9-29-30 maggio e 12-13 giugno 2015
Iscrizione e modalitàdi pagamento
La quota di partecipazione al corso, da versarsi in una unica soluzione al momento dell'iscrizione, è fissata in 1350 € + IVA 22% o in 1250 € + IVA 22% per chi intenda utilizzare il proprio computer portatile.
Iscrizione entro il 31/03/2015 |
5% |
---|---|
Partecipanti a precedenti corsi promossi da www.GIScience.it Studenti iscritti regolarmente a corsi universitari, post-universitari e dottorati di ricerca in Italia e all’estero Istituzioni accademiche, società, studi associati ed amministrazioni pubbliche, che iscrivano più di una persona |
10% |
I moduli di iscrizione sono scaricabili in formato PDF all’indirizzo http://www.giscience.it/it/corsi/python/python.html o direttamente richiesti via Email all'indirizzo info@giscience.it
Attestato di frequenza
Al termine del corso verrà rilasciato un Attestato di frequenza per ciascun partecipante che avrà frequentato almeno il 70% delle lezioni.
Materiale didattico
Ai partecipanti al corso verranno fornita completa documentazione sugi aspetti rilevanti del corso.
Il corso adotta il seguente frre-book:
Downey A.B., 2008. Think Python: How to Think Like a Computer Scientist. 3rd Ed., Green Tea Press, MA, USA Scaricabile come free-book
Riferimenti
Barnes D.J., 2006. Objects First with Java: A practical introduction using BlueJ. 3rd Ed. Pearson, Prentice Hall, Harlow, UK
Britton C. e Doake J., 2005. A student guide to object-oriented development. Elsevier Butterworth-Heinemann, Oxford, UK
Downey A.B., 2008. Think Python: How to Think Like a Computer Scientist. 3rd Ed., Green Tea Press, MA, USA. Scaricabile come free-book
Downey A.B., 2009. Python for Software Design: How to Think Like a Computer Scientist. Cambridge University Press, Cambridge, UK
ESRI, 2004. ArcGIS 9: Writing Geoprocessing Scripts With ArcGIS. ESRI, Redlands, CA, USA
ESRI, 2006. ArcGIS 9: Geoprocessing Commando Quick Reference Guide. ESRI, Redlands, CA, USA
ESRI, 2008. Geoprocessor Programming Model: 9.3-version Geoprocessor. Scaricabile da: http://webhelp.esri.com/arcgisdesktop/9.3/pdf/Geoprocessor_93.pdf