Progettazione e sviluppo di applicazioni software GIS
Ingegneria software, modelli OO e a componenti, sintassi e costrutti di programmazione in VBA/ArcObjects per ArcGIS 9
Brochure (non disponibile) Modulo di Iscrizione (non disponibile)
>
Il presente corso si propone l’obiettivo di introdurre, previa una breve analisi dei modelli di programmazione ad oggetti ed a componenti, all’architettura ed alle tecniche di programmazione in VBA (Visual Basic for Applications) per ArcObjects™/ArcGIS 9™. Il corso si incentrerà soprattutto sulle tecniche di programmazione per la gestione dei dati geografici, l’interazione con il nuovo modello ESRI di database geografico (geodatabase) e le tecniche di analisi, interrogazione e definizione delle componenti geometriche.
ArcGIS 9™, la nuova piattaforma software della ESRI, si è ormai imposta come standard di riferimento professionale nel settore GIS, consentendo una più matura integrazione con i sistemi informativi tradizionali in virtù di una nuova architettura e filosofia basata sul modello a componenti, nonché un nuovo modello di geodatabase orientato ad oggetti. In questo contesto Avenue, il precedente linguaggio script per ArcView 3.x™, ha lasciato il posto a linguaggi di programmazione più evoluti e standard, quali VBA™, Visual Basic™ e Visual C++™; tali linguaggi garantiscono un accesso completo alle funzionalità native di ArcGIS 9™, messe a disposizione degli sviluppatori attraverso la libreria di componenti ArcObjects™. Questo corso si colloca nell’ambito di un progetto ambizioso di formazione sui Sistemi Informativi Territoriali. Tali sistemi, anche noti come GIS dall’acronimo inglese Geographical Information Systems, si stanno gradualmente imponendo come strumenti di gestione, visualizzazione, interrogazione ed analisi di dati geografici nei domini professionali più disparati. Tra questi, il settore urbanistico (PRG), quello della pianificazione territoriale, quello 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.
Programma del corso
Il corso verterà sui seguenti punti fondamentali, secondo un percorso teorico/pratico:
Introduzione ai concetti di software e di ingegneria software
- Definizione estensiva di software: ingegneria software, programmazione, documentazione di sistema ed utente, files di configurazione e di dati. Sviluppo software nel contesto della GIScience: ragioni, filosofia e tecniche nella personalizzazione di piattaforme GIS e sviluppo di nuovi applicativi. Leggibilità, mantenibilità e portabilità.
- Software Engineering: specifiche, progettazione, project management, implementazione, debugging/testing, analisi di performance, documentazione e manutenzione, concetti e diagrammi fondamentali del UML (Unified Modelling Language), progettazione e sviluppo di geodatabase per ArcGIS 9™ a partire dalla estensione del modello originario di ArcInfo in MsVisio 2000. Gerarchia di classi, instanziazione di oggetti e verifica di funzionalità a livello di prototyping mediante strumenti RAD (Rapid Application Development).
- Modelli di programmazione orientata ad oggetti: concetti fondamentali di classe, oggetto, incapsulamento, ereditarietà, messaggi e polimorfismo, variabili di autoriferimento (this/self/me), costruttori/distruttori. Punti di forza del modello rispetto a quello classico procedurale.
- Modello a componenti: concetti fondamentali di factory, interfaccia, ereditarietà di interfacce, aggregazione e contenimento. Caratteristiche peculiari del modello in una architettura client/server e nel contesto di applicazioni distribuite.
- JAVA™/bluej™: storia del linguaggio (JAVA™) e dell’ambiente di sviluppo (bluej™), entrambi accessibili gratuitamente in rete, esame sintetico della implementazione dei concetti fondamentali del modello ad oggetti (classi, oggetti, metodi e passaggio di messaggi, ereditarietà, metodi astratti ed interfacce, classi grafiche Swing e AWT).
- Presentazione ed analisi dello sviluppo di alcuni esempi didattici funzionali alla comprensione dell’architettura del modello a componenti di ArcObjects™/ArcGIS 9™.
- Variabili e costanti, tipi fondamentali (bits e bytes, interi e interi lunghi, single o floating-point, double, booleani, stringhe), indirizzi in memoria e puntatori, arrays statici e dinamici (dimensionamento, inizializzazione, accesso), costanti, operazioni su bits, files ad accesso sequenziale e casuale (apertura, scrittura, lettura e chiusura).
- Metodi di programmazione: controllo del flusso e delle iterazioni, subroutine e function, passaggio di variabili per valore e per riferimento, visibilità e parametri/valori di ritorno, ricorsione. Gestione degli eventi. Gestione degli errori.
- Elementi fondamentali dell’ambiente di sviluppo VBA™ (Visual Basic for Application) di ArcGIS 9™: accesso all’ambiente, strumenti e controlli di base, scrittura di codice, compilazione e debugging.
- Proprietà degli oggetti fondamentali in VBA e metodi correlati: form, textBox, Label, Frame, CommandButton, CheckBox, OptionButton, ListBox, ComboBox, PictureBox, ScrolBar, DriveListBox, DirListBox, FileListBox, Timer, controlli grafici (point, line, circle), menu ed array di controlli. Architettura di applicazioni multi-form e metodi load/unload/hide. Grafica: sistema di coordinate, gestione del colore, metodi grafici, immagini in fase di progettazione e a run-time, controllo della scala e gestione di animazioni.
- Sviluppo di applicazioni di esempio, funzionali all’approfondimento dei concetti analizzati ed incentrate sulla gestione, visualizzazione ed analisi spaziale di dati geografici: regionalizzazione mediante l’algoritmo dell’inverso della distanza (IDW - Inverse Distance Weight), calcolo dell’indice I di Moran per la valutazione della correlazione spaziale, ecc..
- Comandi di ArcGIS, Customize dialog box, creazione di un nuovo comando, settaggio delle proprietà ed accesso al codice sorgente, debugging, creazione ed aggiunta di macro ad una toolbar. Programmazione con classi ed oggetti, Object browser, creazione di oggetti a run time ed a design time, utilizzo dell’istruzione Set. Implementazione del modello a componenti in ArcObjects (classi COM, interfacce, polimorfismo, metodi, proprietà, riferimenti ad altre interfacce), tipi di classi (abstract, instantiable e creatable), relazioni di ereditarietà, proprietà ed interfacce, relazioni, settaggio e lettura di proprietà.
- Gestione delle mappe e dei layers: accesso alle mappe ed ai layers, iterazione su collezioni di mappe, aggiunta e settaggio di nuovi layers, iterazioni sulla TOC (Table Of Contents) di ArcMap, accesso ed interazione con le sorgenti di dati.
- Gestione dei dati: fonti di dati (shape, coverage e geodatabase), tecniche ed interfacce di accesso agli oggetti principali (workspace, dataset, table, object, feature, query, cursor, selection, relationship, domain, fields, fields collection, rows).
- Gestione della geometria e geoprocessing: creazione, costruzione e disegno di geometrie, selezione e cursori, operatori topologici e spaziali (ItopologicalOperator, IRelationalOperator, IProximityOperator), componenti geometriche ed attributi alfanumerici. Classi astratte (polilinee, poligoni, punti, curve, envelope).
- Sviluppo di un prototipo, che illustri architettura e principali funzionalità di creazione, gestione ed interrogazione di una base dati geografica sviluppata in ambiente ArcGIS 9.
Software utilizzati
Suite di Office Automation MsOffice™, RDBMS MsAccess™ (www.microsoft.com), linguaggi di programmazione JAVA™™ (http://java.sun.com), e VBA™ (www.microsoft.com), ambiente di sviluppo bluej™ (www.bluej.org) per JAVA™, GIS ArcGIS 9™ (www.esri.com).
A chi è indirizzato
Il corso è indirizzato a laureati e laureandi, funzionari, responsabili e dirigenti di enti pubblici e di società private, specialisti nello sviluppo di applicazioni di gestione, analisi e modellazione di dati spaziali, il corso coinvolge i domini professionali più disparati, tra i quali quello urbanistico/architettonico, della pianificazione territoriale e geologico/ambientale sono solo alcuni degli esempi più rilevanti. E’ richiesta una conoscenza consolidata dell’ambiente PC/MsOffice™, una conoscenza di base delle problematiche GIS e dei prodotti GIS della famiglia ESRI ArcView 3.x™ e/o ArcGIS 8.x/9™, ed uno spiccato interesse personale per lo sviluppo di applicazioni; non è richiesta alcuna conoscenza pregressa di programmazione, pur essendo utili esperienze pregresse anche con linguaggi procedurali tradizionali.
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 avrà la durata di 48 ore, con lezioni di 8 ore, nei giorni:17-18 aprile, 15-16 maggio e 12-13 giugno2009.
Iscrizione e modalità di pagamento
La quota di partecipazione al corso, da versarsi in una unica soluzione al momento dell’iscrizione, è fissata in 1300 € + IVA o in 1200 € + IVA per chi intenda utilizzare il proprio computer portatile.
Riduzioni da applicarsi
Iscrizione entro
il 15/3/2009 |
5% |
---|---|
Partecipanti a
precedenti corsi promossi da www.GIScience.it Studenti iscritti regolarmente a corsi universitari, post-universitari e a dottorati di ricerca in Italia ed all'estero Istituzioni accademiche, società, studi associati ed amministrazioni pubbliche, che iscrivano più di una persona |
10% |
Attestato di frequenza
Al termine del corso verrà rilasciato un Attestato di Frequenza per ciascun partecipante che avrà frequentato almeno il 70% delle lezioni.Per i geologi: si tratta di un corso di formazione professionale - A.P.C. e sono stati validati 48 crediti dalla Commissione Nazionale A.P.C.
Materiale didattico
Ai partecipanti al corso verrà fornita, su supporto ottico, documentazione relativa agli argomenti trattati e codice sorgente degli esempi analizzati e sviluppati in JAVA™, VBA™ e VBA/ArcObjects™. Verrà fornito inoltre, incluso nel costo di iscrizione, il testo: Burke R., 2003. Getting to know ArcObjects – Programming ArcGIS with VBA. ESRI Press, Redlands, California (include CDROM con la raccolta completa dei modelli di ArcObjects, dati e risultati degli esercizi). La letteratura e le risorse Web su temi attinenti ingegneria software, sviluppo di applicazioni in ambiente JAVA™ e VBA™, progettazione e programmazione di applicazioni geografiche, personalizzazione di ambienti GIS general-purpose, sono molto ampie. Alcuni testi consigliati sono riportati qui di seguito:- Bradley J.C. e Millspaugh A.C., 1998. Visual Basic: guida alla programmazione. McGraw-Hill Libri Italia Srl
- Walnum C., 1999. The complete idiot’s guide to Visual Basic 6. Ed. Alpha Books, 201 West 103rd St., Indianapolis, USA (include CDROM Visual Basic 6 Working Model edition)
- Kang-Tsun C.,2005. Programming ArcObjects with VBA. Ed. CRC Press LLC, Boca Raton, Florida, USA
- Barnes D.J. el Kölling M., 2008. Objects First with Java - A Practical Introduction using BlueJ. Ed. Prentice Hall / Pearson Education.
- Wood J., 2002. JAVA programming for spatial sciences. Taylor & Francis, London, UK
Nell’ambito del corso verranno discusse le applicazioni didattiche originali
sviluppate nell’ambito dell’ultima edizione del progetto ed attualmente oggetto
di revisione nell’ambito della stesura di un testo dedicato a VBA/ArcObjects™,
con contributi specialistici afferenti alle scienze geologiche ed ambientali,
alla pianificazione territoriale ed urbana, ed all’analisi sociale (regionalizzazione,
indice di autocorrelazione spaziale di Moran, visualizzazione avanzata di
dati spaziali in condizioni 3D e tempo dipendenti, interfacce utente).
I partecipanti possono accedere ad una copia dimostrativa di ArcGIS™ acquistando
il testo:
Informazioni
Per informazioni dettagliate sul programma del corso e sulla docenza, rivolgersi al Presidente dell'Associazione, all'indirizzo Email info@giscience.it o fare riferimento alla sezione contatti del sito Web www.giscience.it .