Progettazione e sviluppo di applicazioni software GIS
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
Progetto Sistemi Informativi Geografici per la gestione e la modellazione di dati territoriali 7a Edizione - 2009 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 Scopo del corso 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: Classe, oggetto e ordered collection di oggetti 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 ad oggetti e a componenti: concetti fondamentali illustrati attraverso esempi in JAVA/BlueJ Modelli di programmazione orientata ad oggetti: concetti Visual Basic: applicazione di analisi spaziale di fondamentali di classe, oggetto, incapsulamento, dati epidemiologici (colera e punti d’acqua nel ereditarietà, messaggi e polimorfismo, variabili di caso storico del Dott. Snow) 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 analiisi dello sviluppo di alcuni esempi didattici funzionali alla comprensione dell’architettura del modello a componenti di ArcObjects/ArcGIS 9. Fondamenti di programmazione, linguaggio VBA (Visual Basic for Application) ed esempi di sviluppo di applicazioni di analisi spaziale 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), ' Function: SearchLayer ' Ricerca di un layer nella TOC, basata sul costanti, operazioni su bits, files ad accesso sequenziale e ‘ suo nome e sul GUID, che rappresenta il casuale (apertura, scrittura, lettura e chiusura). ‘ tipo di layer da ricercare Metodi di programmazione: controllo del flusso e delle iterazioni, Function SearchLayer(layerName As String, _ Optional pID As UID = Nothing) As ILayer subroutine e function, passaggio di variabili per valore e per Dim pMxDoc As IMxDocument riferimento, visibilità e parametri/valori di ritorno, ricorsione. Dim pMap As IMap Gestione degli eventi. Gestione degli errori. Dim pEnumLayer As IEnumLayer Dim pLayer As ILayer Elementi fondamentali dell’ambiente di sviluppo VBA (Visual Basic for Application) di ArcGIS 9: accesso all’ambiente, Set pMxDoc = ThisDocument Set pMap = pMxDoc.FocusMap strumenti e controlli di base, scrittura di codice, compilazione e debugging. If pID Is Nothing Then Proprietà degli oggetti fondamentali in VBA e metodi correlati: Set pEnumLayer = pMap.Layers Else form, textBox, Label, Frame, CommandButton, CheckBox, Set pEnumLayer = pMap.Layers(pID, False) OptionButton, ListBox, ComboBox, PictureBox, ScrolBar, End If DriveListBox, DirListBox, FileListBox, Timer, controlli grafici pEnumLayer.Reset (point, line, circle), menu ed array di controlli. Architettura di Set pLayer = pEnumLayer.Next applicazioni multi-form e metodi load/unload/hide. Grafica: Do While Not pLayer Is Nothing sistema di coordinate, gestione del colore, metodi grafici, ' Searched layer found ... If pLayer.Name = layerName Then immagini in fase di progettazione e a run-time, controllo della Set SearchLayer = pLayer scala e gestione di animazioni. Exit Function Sviluppo di applicazioni di esempio, funzionali End If Set pLayer = pEnumLayer.Next all’approfondimento dei concetti analizzati ed incentrate sulla Loop gestione, visualizzazione ed analisi spaziale di dati geografici: Set SearchLayer = Nothing 'Not found regionalizzazione mediante l’algoritmo dell’inverso della distanza End Function ____________________________________________________________________________________________ Questo documento è coperto da copyright. E’ vietata la riproduzione totale o parziale senza esplicita autorizzazione
(IDW), calcolo dell’indice I di Moran per la valutazione della correlazione spaziale, ecc.. Ambiente di sviluppo e programmazione VBA/Arcobjects in ArcGIS 9 e sviluppo di un prototipo 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. Progetto didattico Il corso si inquadra nel contesto di un più ampio progetto di formazione nel settore GIS. Avvalendosi di una docenza di alto profilo, certificata da titoli universitari di specializzazione post-laurea e curriculum accademici e professionali consolidati nel settore della GIScience, il progetto affronta tematiche introduttive nel corso “Introduzione ai GIS: Dai principi e tecniche fondamentali alla filosofia di sviluppo di applicazioni reali di gestione, visualizzazione ed analisi spaziale” e nel seminario “Business Geographics & Geodemographics” , e tematiche più specialistiche, focalizzate sulla personalizzazione di ambienti GIS e sulla progettazione/implementazione di applicazioni GIS nell’ambito dei due corsi “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” e “Programmazione OO in JAVA per l’implementazione di soluzioni GIS”. I nuovi corsi specialistici “La gestione di progetti ambientali: Aspetti legislativi, tecnici, organizzativi e comunicativi” e “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” estendono poi l’area di interesse del progetto al settore ambientale, che ad oggi conosce in Italia un forte impulso di crescita e pone domande di formazione e di specializzazione sempre più forti Tali iniziative si candidano a pieno diritto come estensione ed integrazione del progetto, con risvolti propri della GIScience focalizzati sulla implementazione di EISs (Environmental Information Systems) e sull’analisi di temi specialistici quali l’analisi geostatistica, la modellazione numerica e le tecniche afferenti alla disciplina della ESDA (Exploratory Spatial Data Analysis), incluse le tecniche di analisi statistica spaziale e la visualizzazione 3D e tempo-dipendente. Disegnando un percorso articolato e coerente, in linea con i principi ispiratori della formazione universitaria post-laurea del mondo anglosassone ed in particolare delle modalità di formazione part-time e a distanza (distance learning) e, non meno importante, sulla scia dell’esperienza maturata nel corso delle precedenti edizioni 2003-2008 del progetto, la formula didattica è quella di una alternanza di formazione breve ed intensiva, in aula, a periodi di studio in autonomia, facilitando da un lato l’accesso al corso e garantendo dall’altro i tempi necessari ad un effettivo apprendimento. ____________________________________________________________________________________________ Questo documento è coperto da copyright. E’ vietata la riproduzione totale o parziale senza esplicita autorizzazione
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 JBlue™ (www.jblue.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 giugno 2009. 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. Ulteriori riduzioni sono previste come da tabella a seguire: Riduzioni da applicarsi Iscrizione entro il 15/3/2009 5% Partecipanti a precedenti corsi promossi da www.GIScience.it 10% 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 I moduli di iscrizione sono scaricabili in formato PDF all’indirizzo http://www.giscience.it/it/corsi/vbarcobjects/vbarcobjects.html o direttamente richiesti via Email all'indirizzo info@giscience.it ____________________________________________________________________________________________ Questo documento è coperto da copyright. E’ vietata la riproduzione totale o parziale senza esplicita autorizzazione
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: sono state attivate le procedure per il riconoscimento di crediti 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. Il corso adotta il seguente testo, incluso nella quota di iscrizione: Burke R., 2003. Getting to know ArcObjects – ProgrammingArcGIS 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 ingegneria software, programmazione in VBA e JAVA, progettazione e programmazione di applicazioni geografiche, sono molto ampie. Qui di seguito si riportano alcuni testi raccomandati: Bradley J.C. e Millspaugh A.C., 1998. Visual Basic: guida alla programmazione. McGraw-Hill Libri Italia Srl rd Walnum C., 1999. The complete idiot’s guide to Visual Basic 6. Ed. Alpha Books, 201 West 103 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. e l 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: Ormsby T., Napoleon E., Burke R., Groessl C. e Feaster L., 2001. Getting to know ArcGIS desktop: basics of ArcView, ArcEditor and ArcInfo. ESRI Press (include CDROM con una copia trial a tempo valida per 180 giorni di ArcGIS) 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 ____________________________________________________________________________________________ Questo documento è coperto da copyright. E’ vietata la riproduzione totale o parziale senza esplicita autorizzazione
Puoi anche leggere