Nuovi Widgets: GeoServer Advanced Authorization Manager


La sicurezza sui dati si arricchisce: con il nuovo widget GeoServer Advanced Authorization Manager è infatti possibile gestire restrizioni di accesso sui dati per utenti o gruppi di utenti in base a specifiche aree di pertinenza, oltre che a creare restrizioni sulla visibilità degli attributi del dato.

Un caso tipico di applicazione di questo scenario è quello in cui più soggetti abbiano la responsabilità della gestione di uno stesso dato, ma limitatamente a una area specifica e/o ad un subset degli attributi alfanumerici collegati alle geometrie.

Il Lab geoSDI ha infatti implementato un nuovo widget che utilizza i servizi REST esposti da  GeoFence (modulo Open source della comunità di sviluppo di GeoServer, che estende le possibilità native  di autorizzazione di GeoServer alla pertinenza geografica).

Il laboratorio geoSDI utilizza infatti come Server per l'erogazione di servizi OGC compliant GeoServer, arricchendo l'infrastruttura con componenti per la clusterizzazione e il bilanciamento di carico che ne consentono di raggiungere altissimi livelli di performance e affidabilità propri di sistemi cloud. Nativamente Geoserver supporta dei livelli di sicurezza riguardo l'autorizzazione di accesso di un determinato utente al consumo di un determinato servizio (es. WMS GetMap o WFS TransactionInsert) o all'accesso di un determinato layer geospaziale (es. worspace:mylayer). L'utilizzo dei Servizi GeoFence consente di ampliare i criteri di restrizione di accesso, dando la possibilità di determinare una geometria entro cui quel determinato utente (o gruppo di utenti) abbia accesso a quello specifico layer (o gruppo di layer) e/o ad un subset di attributi specificato. Dell'intero insieme di elementi geografici di cui il layer è composto, l'utente in questione potrà quindi accedere soltanto a quelli che ricadono nell'area che gli è stata assegnata.
Il Lab geoSDI ha infatti creato un branch del progetto OpenSource GeoFence, al fine di utilizzarne soltanto la REST API.
Tutta la gestione "client" viene invece effettuata tramite il nuovo widget, che aggiunge, tra l'altro, molti elementi di usabilità rispetto alla interfaccia client del progetto GeoFence.

Si tratta della prima implementazione del widget, che già ha in roadmap l'aggiunta di numerose altre funzionalità.

Il nuovo widget sta già trovando applicazioni operative in importanti progetti che adottano il framework Geo-Platform, come il Sistema Informativo Nazionale Federato delle Infrastrutture (SINFI) in via di implementazione e il Sistema Informativo Territoriale del Dipartimento della Protezione Civile (SITDPC).


Gestione delle istanze

E' possibile utilizzare le restrizioni di accesso verso più istanze di GeoServer, opportunamente configurate.

click to enlarge

Gestione delle utenze

Il widget offre tutti gli strumenti per la creazione modifica e cancellazione delle utenze.

click to enlarge

Gestione dei ruoli

Il widget offre tutti gli strumenti per la creazione modifica e cancellazione di ruoli da assegnare agli utenti. Proprio attraverso i ruoli (come già previsto da funzionamento standard di GeoServer) sarà possibile determinare le restrizioni di accesso: utenti che appartengono al ruolo X avranno accesso al dato Y,  limitatamente all'area geografica Z

click to enlarge

Gestione delle restrizioni per Servizio


E' possibile definire, per gli utenti che godono di un particolare ruolo, la restrizione a un subset dei servizi erogati da GeoServer (es. Soltanto WMS per la visualizzazione di mappe png, No WFS per la visualizzazione/ modifica di vettori)

Gestione delle restrizioni per Dato

E' possibile definire, per gli utenti che godono di un particolare ruolo, la restrizione a un subset dei layer erogati dal GeoServer.

click to enlarge


Gestione delle restrizioni per Area

E' possibile definire tramite disegno su una mappa di supporto integrata nel widget, entro quale area geografica utenti che godono di un particolare ruolo, possono accedere a determinati layer erogati da Geoserver. Naturalmente è possibile visualizzare tramite la mappa di supporto le regole di restrizione di accesso già create e le relative aree di pertinenza.

click to enlarge

click to enlarge

click to enlarge


Gestione delle restrizioni per Attributo

Oltre alla definizione di restrizioni sui layer e sull'area di pertinenza, è anche possibile definire quali, tra gli attributi dei suddetti layer, possano essere accessibili agli utenti che godono di un particolare ruolo.

click to enlarge


Gestione delle restrizioni basate su filtri CQL

Ulteriori restrizioni di accesso alle feature geografiche possono essere costruite mediante l'applicazione di filtri definiti mediante Common Query Language: gli utenti che godono di un particolare ruolo avranno accesso soltanto alle features che corrispondono al criterio definito dal filtro.

click to enlarge


Nuovi widgets: import CSV con geocodifica indirizzi


In un post precedente è già stato presentato il widget CSV importer, mostrando l'import di un file tabellare contenete all'interno di due attributi dei valori numerici da interpretare come coordinate puntuali.

Questo post mostra il caso i record del CSV non contengono coordinate, ma, in una o più colonne, un indirizzo.
L'utente può quindi specificare la concatenazione di colonne che permette la costruzione dell'indirizzo (Es. via, nr. civico, cap, comune). Il widget avvia quindi, in modo asincrono, la geocodifica degli indirizzi per ognuno dei record contenuti nel CSV, che viene così geolocalizzato, memorizzato in geodatabase PostGIS e servito come OGC WMS / WFS sul geoserver specificato nella configurazione del geoportale.

Nel video viene utilizzato anche il widget di refresh, in modo da mostrare come man mano che la geocodifica asincrona procede, in mappa vengono rappresentati progressivamente i record processati.

Nuovi Widgets: Importa CSV (con lat e long)

Il formato CSV è uno dei formati aperti più utilizzati, anche perchè spesso viene generato come estrazione di dati da un foglio elettronico.

Modalità di import

Oggi è possibile importare fil CSV nei geoportali basati su Geo-Platform, in varie modalità:

- File CSV contenente Latitudine e Longitudine

In questo caso il CSV contiene tra i vari attributi di ogni record i valori di latitudine e longitudine.



Il widgets prova ad individuare automaticamente quali attributi utilizzare e, qualora la selezione automatica fosse errata, l'utente può indicare manualmente quali colonne interpretare come lat e long.
Questo post (e il video qui presentato) si riferisce a questo caso d'uso.


- File CSV contenente Indirizzi

In questo caso i record del CSV non contengono coordinate, ma, in una o più colonne, un indirizzo.
L'utente può quindi specificare la concatenazione di colonne che permette la costruzione dell'indirizzo (Es. via, nr. civico, cap, comune). Il widget avvia quindi, in modo asincrono, la geocodifica degli indirizzi per ognuno dei record contenuti nel CSV, che viene così geolocalizzato, memorizzato in geodatabase PostGIS e servito come OGC WMS / WFS sul geoserver specificato nella configurazione del geoportale.
Presto un nuovo post su questo caso d'uso.

- File CSV senza indicazioni geografiche

In questo caso i record del CSV non contengono nè coordinate, nè indirizzi. Il widget consente quindi di collocare manualmente nello spazio ognuno dei record, con una interazione con la mappa per una geocodifica manuale.
Anche su questo caso d'uso sarà presto pubblicato un nuovo post.

Nuovi widgets: Importa KML

Il KML è un formato basato sull’XML reso noto originariamente con Google Earth affinché agli utenti fossero in grado di sovrapporre i loro contenuti al di sopra di una mappa o di una immagine. Il linguaggio si è poi evoluto con milioni di file KML disponibili online oltre ad essere già stato adottato da membri illustri dell’OGC.

Da KML a servizi OGC

 Con le applicazioni sviluppate con Geo-Platform Framework è adesso possibile importare un file kml all'interno di un progetto mappa. Non si tratta di un semplice upload, poichè il file che viene caricato viene interpretato, le geometrie e gli attributi memorizzati in geoDatabase PostGis. Contestualmente vengono configurati in automatico i servizi WMS e WFS sul GeoServer indicato nella configurazione del geoportale e il layer viene aggiunto al progetto mappa su cui si sta lavorando.

Tutto questo è trasparente all'utente, che in pochi secondi ottiene il risultato finale.

 Enjoy!

Nuovi Widgets: Street View

La creazione di progetti mappa con i geoportali sviluppati coon Geo-Platform Framework Opensource si arricchisce della possibilità di ispezionare un luogo mediante il servizio Street View di Google.


Molte volte, visualizzando una mappa, si ha la necessità di conoscere i dettagli di un luogo specifico. Il servizio Street View di Google viene spesso utilizzato per avere la percezione di ciò che è presente in una determinata zona ed individuare con esattezza dove si trovino oggetti, luoghi, risorse.
Difficilmente però i portali webGIS consentono ispezioni di questo tipo durante la valutazione e l'interrogazione di uno scenario mappa, costruito con i propri dati.

Il nuovo widget Street View consente di sfruttare le API Google per la Vista stradale senza abbandonare il contesto dell'applicazione e la mappa su cui si sta lavorando.

Posizionamento di markers e salto di posizioni


Il widget presenta un doppio pannello: a sinistra una mappa 2D, a destra la Street View.
Durante la sessione di lavoro con il widget, più marker possono essere aggiunti (e anche spostati) sulla mappa 2D e, per ognuno di essi, sul pannello di destra viene mostrata la Street View corrispondente.

Tornare alla Street View precedente?

Semplicissimo: basta cliccare sul marker precedentemente inserito e "si salta" alla Street View corrispondente.

Ricerca per indirizzi


Sempre mediante l'uso di API Google, l'inserimento dei marker è facilitato da un campo di ricerca: selezionando il risultato della ricerca indirizzi, il marker viene posizionato nelle coordinate corrispondenti e la Street View caricata nel pannello di destra del widget.


Variazione mappe di riferimento e visione a schermo intero


Anche la mappa di sfondo deo pannello di sinistra può essere un valido riferimento per il posizionamento dei markers e l'apertura della Street View corrispondente. E' per questo che il widget consente la selezione di diverse opzioni per la mappa di riferimento, così come l'apertura del widget a schermo intero, per facilitare e migliorare l'esperienza Street View nel contesto del proprio geoportale


Nuovi Widgets: Crea Layer


Le potenzialità del framework Open Source Geo-Platform aumentano. Questo è il primo di una serie di post che mostreranno alcuni nuovi widgets sviluppati mediante il framework.
Geo-Platform è il framework  Open Source ideato da geoSDI per la creazione di Geoportali Enterprise, mediante i quali sia possibile gestire progetti mappa, organizzati in cartelle e layers, utilizzando gli standard dell'OGC.

Nuovi layer "from scratch"

Oltre a caricare strati da dati esistenti, come ad esempio mediante il puntamento a un servizio WMS o il caricamento di uno shapefile,  è ora possibile creare nuovi livelli semplicemente selezionando il menu Crea Layer sulla cartella di destinazione.
Il widget, interagendo con il Geoserver indicato nella configurazione del Geoportale, si occupa della creazione della struttura dati in PostGIS e della pubblicazione dei servizi OGC WMS e WFS relativi.

Definizione della struttura

Il widget ha una Graphic User Interface in cui è possibile definire:

  • Il nome da assegnare al nuovo layer
  • Il tipo di geometria del layer (point, multipoint, linestring, multilinestring, polygon, multipolygon)
  • Gli attributi (e i relativi tipi) che il nuovo layer dovrà avere.

Sono anche presenti dei pulsanti che facilitano, in combinazione con opportune configurazioni in Geoserver, la creazione di attributi destinati all'incorporamento di immagini, video o allegati in genere.

Selezione workspace

Il widget permette anche di intervenire sulla "destinazione" del nuovo layer: è possibile infatti selezionare in quale workspace, tra quelli già presenti nel Geoserver indicato nella configurazione del Geoportale, presentare il layer, o anche di crearne uno nuovo. Questo è sicuramente un plus, poichè consente non solo di organizzare i propri layer, ma di predisporre l'ambiente, ad esempio, alla distribuzione di virtual services distinti, restrizione di accesso ai servizi sui diversi workspace, etc.

Il layer è pronto. Non resta che "popolarlo"

Una volta creato, il layer è disponibile per l'utilizzo nel Geoportale, ma naturalmente non contiene ancora alcuna feature. Poichè il widget, colloquiando con le componenti server, si è occupato di configurare e pubblicare i servizi WMS e WFS relativi al nuovo strato informativo, basta utilizzare l'Editor WFS (presente come altro widget geo-platform nel geoportale) per "popolare" il layer di record, inserendo le geometrie e assegnando valori agli attributi di ogni nuova feature. Tutto questo attraverso il web, senza disporre di altro che di un semplice browser.

Preprint Paper su HELP. Pubblicato in occasione di OGRS16.


L' OGRS Community Steering Committee ha organizzato il prossimo Open Source Geospacial Research & Education Symposium a Perugia, Italia, da Mercoledì 12 a Venerdì 14 Ottobre. Questo è possibe grazie ad un comitato organizzatore locale motivati ​​coordinato da Ivan Marchesini dell'Istituto di Ricerca per la Protezione Idrogeologica (IRPI) e Pierluigi De Rosa dell'Università di Perugia.
Lo scopo principale del 2016 Symposium rientra nell'ambito di applicazione generale degli eventi OGR (vedi dettagli e articoli sul sito web ogrs-community.org). In sintesi, il simposio 2016 mira a riunire studenti, tecnici, ricercatori, sviluppatori e insegnanti che lavorano in diverse discipline, ma con l'interesse comune di utilizzare e sviluppare il software Open Source Geospatial e Open Data (utilizzando il software geospaziale Open Source).


geoSDI prenderà parte al Simposio presentando il sistema di Early Warning H.E.L.P., nato nell'ambito di un accordo con le Nazioni Unite - World Food Program.

Per tale occasione è stato presentato un articolo, attualmente in PrePrint sulla piattaforma PeerJ, visionabile al link:

https://peerj.com/preprints/2229/?td=bl



OGRS 2016 website:
http://2016.ogrs-community.org/