Scenari Web GIS 2.0
4
NAZZARENO SILENO
INTRODUZIONE
Il seguente lavoro di tesi presenta un modello architetturale di riferimento per
lo sviluppo di una spatial data infrastructure (SDI) distribuita in cluster, focalizzando
l’attenzione sulla modellazione di un geo-portale in stile Web 2.0 per la gestione di
scenari Web GIS 2.0.
La personale definizione di scenario web GIS comprende:
uno spazio di lavoro condiviso fra più utenti basato sugli standard
dell’Open Geospatial Consortium (OGC);
una struttura ad albero che chiameremo Layer Tree in grado di
rappresentare un qualsivoglia scenario su mappa digitale, composto da
qualunque dato raster e/o vettoriale a qualsiasi livello di profondità con
associati gli opportuni z-index;
un ambiente di editing, styling immediato dei dati in modalità asincrona
rispetto alla persistenza con salvataggio differito su richiesta;
un sistema di notifica e messaggistica basato sullo standard Extensible
Messaging and Presence Protocol (XMPP);
un meccanismo di export/import dei progetti Web GIS basato su
paradigma Object-to-XML (OXM).
Il lavoro svolto affonda le sue radici in due campi: la letteratura e la necessità di
innovare che è maturata all’interno del gruppo di lavoro geoSDI presso il CNR –
IMAA di Tito (PZ) (Consiglio Nazionale delle Ricerche, Istituto di Metodologie
per l’Analisi Ambientale).
In particolare, dalla letteratura emergono:
la necessità di avere dei geo-portali 2.0 (De Longueville B. 2010);
il bisogno di poter disporre di servizi geo-spaziali riutilizzabili (Granell
C. et al. 2010; Yang et al. 2010);
Scenari Web GIS 2.0
5
NAZZARENO SILENO
la richiesta di strumenti compatibili con gli standard di riferimento OGC
(Xian-feng S. et al. 2008, Smits 2003);
la presentazione di un modello di riferimento nello sviluppo di SDI e
geo-portali (Béjar R. et al. 2012; Kohler P. et al. 2006);
la necessità di disporre di un framework per lo sviluppo di un sistema
SDI web-base in modo da facilitare la gestione delle emergenze,
risolvendo i problemi correnti legati ai dati geo-spaziali (Mansourian A.
et al. 2006).
L’esigenza di offrire un sistema di monitoraggio costante del territorio per il SIT-
DPC (Sistema Informativo Territoriale del Dipartimento della Protezione Civile
Italiana) disponibile da qualsiasi dispositivo, in grado di permettere un
interazione immediata, capace di inviare e ricevere notifiche, di organizzare e
gestire squadre di intervento tempestivo sul territorio, capace di essere
prestazionale anche in condizioni estreme (catastrofi naturali, atti di terrorismo,
indagini su aree impervie, ecc.) e di avere un buon tasso di fault tolerance, ha spinto
il lavoro di ricerca e sviluppo al raggiungimento degli obiettivi sopra elencati ed a
concretizzarli in parte dei moduli che compongono il framework Geo-Platform,
Free and Open Source Software
1
(FOSS), rilasciato sotto licenza GPL v3, a cui vi
lavorano attivamente altri ricercatori del gruppo di lavoro.
Durante la presentazione del modello di riferimento si evidenziano i limiti
degli attuali sistemi GIS web-based e si offrono delle soluzioni in grado, non solo
di rendere più efficienti le operazioni sui dati, ma anche di definire nuovi modi di
interazione con la cartografia geo spaziale. Inoltre, si pone l’accento sul divario che
tutt’oggi persiste fra le attuali applicazioni web GIS e le rispettive applicazioni
desktop per via delle ben note differenze architetturali e prestazionali fra i due
sistemi. Le soluzioni proposte, sfruttando appieno le potenzialità degli attuali
1
Software that is called ‘Free Software’ or ‘Free and Open Source Software’ (FOSS) is covered by a specific
type of software license. This license needs to grant the software user at least the following four freedoms:
(1) the freedom to run the program, for any purpose (e.g., no matter if for educational or business purposes)
(2) the freedom to study and adapt the program for one’s own needs, (3) the freedom to redistribute the
software, and (4) the freedom to improve the software and to release these improvements to the public (see
www.gnu.org/philosophy/free-sw.html).
Scenari Web GIS 2.0
6
NAZZARENO SILENO
Rich-Web framework, cercano di chiudere il gap fra le due architetture proponendo
nuove soluzioni algoritmiche.
Lo sviluppo personale di alcuni dei moduli del framework Geo Platform ha
avuto come obiettivo lo studio, la sperimentazione e l’implementazione di
tecniche per una nuova tipologia di gestione dei dati, dando vita a:
Layer Module: modulo centrale per il caricamento e la visualizzazione dei
layer sulla base map. La soluzione prodotta ha voluto rappresentare una
nuova definizione di Layer Tree in grado di agevolare gli
amministratori e gli utenti delle spatial data infrastructure offrendo una
moderna esperienza di organizzazione e gestione dei dati geo-spaziali. Il
componente è stato sviluppato traendo ispirazione dalla logica di un
comune file system (organizzazione in file e cartelle) al quale sono state
applicate due strategie di caricamento e salvataggio dei dati: sincrona ed
asincrona per un’ottimale gestione delle risorse;
Styler Widget: modulo innovativo in grado di permettere la gestione
visuale via web degli stili associati ai dati vettoriali e raster e di
visualizzare le modifiche al volo sulla mappa. Il tutto è stato possibile
grazie al mapping automatico degli schemi XSD dell’OGC sulla base del
quale viene generata automaticamente l’interfaccia visitando ogni
singolo campo della struttura SLD;
Publisher Widget: espone le funzionalità che rendono possibile l’upload
di shape file (vettori) e di geotiff (raster) così da renderli disponibili
nella spatial data infrastucture di riferimento tramite server di dati geo-
spaziali invece che nel solo database. La soluzione formulata effettua
un’analisi di un file zip estraendo le informazioni necessarie tra cui:
analisi tipologia layer raster/vector, analisi EPSG (per la corretta
rappresentazione sulla mappa). La soluzione algoritmica prevede la
schedulazione di un job (Quartz) che permette di controllare la corretta
“ingestione” del dato sottomesso;
Scenari Web GIS 2.0
7
NAZZARENO SILENO
Import-Export Widget: widget che permette l’esportazione e
l’importazione della struttura del layer tree tramite file xml. La
soluzione implementata sfrutta uno dei paradigmi OXM per generare il
binding bidirezionale fra gli oggetti del modello ed i file xml;
Tracking Module: realizza un meccanismo di notifiche di messaggi di tipo
“push” utilizzabile in vari contesti: refresh di elementi del layer tree con
cadenze di tempo prestabilite, invio di messaggistica per il centro
notifiche, tracking di elementi sulla mappa, invio messaggi di
aggiornamento di progetti condivisi, ecc... . La funzionalità di geo-
messaggistica implementata, a differenza di molte soluzioni alternative
che dichiarano dei timer in modalità pulling, saturando così le risorse del
browser, permette la sottoscrizione di eventi di notifica tramite un bus
di messaggi XMPP con cui mandare in esecuzione opportune azioni
codificate;
Sharing Module: modulo per la condivisione avanzata di un progetto in
real time. Con lo sviluppo di questo modulo non ci si è limitati al mero
invio di una copia del progetto ad un altro utente, ma si è proceduto
all’introduzione di una funzionalità innovativa in ambito di
condivisione di dati geo-spaziali. Gli utenti con cui viene condiviso un
progetto, una volta caricatolo in mappa, possono visualizzare all’istante
le evoluzioni degli scenari prodotti dall’utente owner del progetto. Ogni
operazione su di un progetto condiviso viene immediatamente salvata e
notificata ai vari utenti viewer tramite XMPP.
Il volume è articolato in quattro sezioni principali:
- “SISTEMI INFORMATIVI TERRITORIALI: DALLE ORIGINI A GEO PLATFORM”
Presenta il contesto di riferimento e l’architettura proposta.
- “DATA MAP DISPLAY E SCENARI GIS”
Modella delle soluzioni generali basate su design pattern
2
per la
2
In ingegneria del software: Una soluzione progettuale generale a un problema ricorrente
(http://it.wikipedia.org/wiki/Design_pattern)
Scenari Web GIS 2.0
8
NAZZARENO SILENO
realizzazione di uno spazio di lavoro condiviso su cui interagire con gli
scenari Web GIS.
- “LA MODIFICA E LO STYLING DEI DATI GIS”
Propone un ambiente di editing, styling immediato dei dati basato sugli
schemi SLD (Style Layer Descriptor
3
), in modalità asincrona rispetto alla
persistenza con salvataggio differito su richiesta.
- “GIS DATA/MAP SHARING”
Analizza le tipologie di condivisione dei dati esistenti proponendo nuove
soluzioni basate su XMPP (Extensible Messaging and Presence Protocol) ed
OXM (Object XML Mapping).
Per ogni sezione si analizzano gli standard internazionali di riferimento, lo
stato dell’arte delle soluzioni presenti, ed inoltre, si evidenziano i limiti attuali e le
soluzioni proposte.
Alle sezioni fanno seguito le Conclusioni, la Bibliografia e l’Appendice.
3
SLD è uno schema XML concepito dall’Open Geospatial Consortium (OGC) per la descrizione dell’aspetto
dei layer su mappa. E’ utile per descrivere come renderizzare i dati vector e raster. Un uso tipico degli SLD è
quello di dare istruzione al Web Map Service (WMS) su come renderizzare uno specifico layer.