Archivio per la categoria ‘Strumenti’

15 novembre, 2010 | di

Da un po’ di tempo, all’interno dei miei lavori, ho la fortuna di lavorare con Geoserver. Finora, in ambiente di produzione, ho sempre utilizzato la versione Stable (ad oggi la 2.0.2), ma avendo dovuto aggiornare il sistema per ovviare ad un piccolo problema con il salvataggio di alcune configurazioni tramite l’interfaccia web, risolto nelle nighlty builds successive, non ho potuto resistere alla tentazione di farmi un giro sulla nuova 2.1-beta1.
Andando in giro per il web in cerca di recensioni su questo rilascio, non ho trovato notizie in italiano riguardo le sue grandi ed importanti novità della nuova release, nonostante il la notizia sia di Settembre. Ho pensato quindi di riportarne qui una traduzione sintetica e commentata, credendo di fare cosa gradita a chi non avesse avuto modo di seguire gli aggiornamenti di questo software.

Sul blog di Geoserver potete leggere la nota di rilascio ufficiale.

WMS a cascata

Fino alla precedente release Geoserver non permetteva di creare un servizio WMS che a suo volta andasse a interrogare altri server WMS. Questa novità permette di connettere, in cascata appunto, un’istanza di Geoserver con un qualsiasi altro server WMS compliant (es. Mapserver, ArcGIS Server, o un’altro Geoserver). All’amministratore del software, questa funzionalità appare come una nuova tipologia di datastore, configurabile da interfaccia web come le altre tipologie di sorgenti dati.

Servizi virtuali

Altra novità di grande importanza sono i servizi virtuali. Finora una singola istanza di Geoserver poteva servire un unico servizio globale. Per il servizio WMS si poteva ovviare usando i gruppi di layer e i layer innestati, ma il servizio appariva sempre come un unico endpoint. Con la 2.1 , sulla stessa singola istanza del server, potranno essere creati più servizi virtuali, che verranno esposti ai client come endpoint diversi.

Livelli SQL

Molto spesso si ha la necessità di esporre i dati presenti nel DB prefiltrati, o messi in join con altre tabelle dati, ecc. La soluzione più comunemente adottata è quella della creazione di viste, e di indirizzare Geoserer a queste piuttosto che alle tabelle originali. Le viste tuttavia richiedono un carico di lavoro aggiunto alla mantunzione dei dati originali. I livelli SQL sollevano l’utente da questo “overhead” offrendo la possibilità di definire, tramite una query SQL, la vista che si vuole avere sui dati.
La query si selezione (una classica SELECT…) può essere definita staticamente oppure parametrizzata, ovvero a meno di uno o più parametri che il client potrà passare come chiavi aggiuntive ad una classica richiesta WMS. Per evitare problemi di sicurezza (es. sql injections) o errori nel caso in cui i parametri non siano compatibili con la query, è possibile configurare, tramite la sintassi delle regular expression, un validatore per ogni parametro richiesto.
Per maggiori informazioni qua trovate una spiegazione estesa.

WPS (Web Processing Service)

Per chi non la conoscesse, la specifica WPS definisce un protocollo per i servizi che espongono funzionalità di processamento dati. Tramite questi servizi un client, inviando richieste esprese secondo la sintassi definita dalla specifica, può richiedere al server di eseguire un’operazione, tra quelle esposte dal servizio, su dati localizzati sul server stesso o raggiungibili via rete.
Tra le più note implementazioni della specifica troviamo Zoo, 52 North WPS e PyWPS.
Grazie al lavoro congiunto di Andrea Aime e Victor Olaya, per permettere l’integrazione di SEXTANTE con Geotools, dalla 2.1 anche Geoserver integrerà un servizio WPS.
Si tratta ancora di un work in progress, ma già funzionante, di cui è disponibile una bozza di documentazione.

Unità di misura

Questa funzionalità potrà sembrare secondaria ma invece risolve tanti problemi nella definizione degli stili tramite SLD. Finora l’unica unità di misura disponibile era il pixel, per cui ogni valore di misura in un SLD era considerato relativo alla risoluzione dell’immagine, con la conseguenza di dover, spesso, definire più stilizzazione dipendenti dalla scala. Adesso è possibile indicare nel foglio di stile l’unità a cui si riferiscono i valori di misura presenti nell’SLD, come ad esempio la larghezza del tratto con cui disegnare una certa linea.  Anche per questa novità c’è la relativa pagina.

Risoluzione delle immagini

Sempre in tema di renderizzazione, è possibile definire la risoluzione delle immagini generate dal server. Di default Geoserver usa 90 DPI, e finora non era possibile configurarlo diversamente. La possibilità di gestire la risoluzione  è di grande utilità, ad es., per gli output di “stampa”, che in genere richiede risoluzioni più elevate. Ecco qua come farlo.

Queste le principali novità, ma il lavoro alle spalle di questa beta comprende anche  molti bug fix (una cinquantina) e tanti altri miglioramenti minori, che contribuiscono alla crescita di uno dei software più importanti e robusti del panorama GFOSS. 
Colgo l’occasione per ringraziare tutto il gruppo di sviluppo di Geoserver ed i vari soggetti finanziatori che hanno reso possibile il rilascio di questa nuova versione.

26 maggio, 2010 | di

Il sistema GIS Cloud (beta) comincia a far parlare di sé.

GIS Cloud – General from GIS Cloud on Vimeo.

Si tratta di un sistema di cloud computing dedicato a servizi webgis che, in linea col concetto di “software as a service” , permette di sfruttare risorse hardware a software distribuite per realizzare servizi GIS online.
Tra le numerose funzionalità, offre la possibilità di creare progetti online, di caricare, gestire, editare, esportare, ecc. dati raster e vector di tutti i principali formati noti. Oltre a diverse librerie proprietarie, GIS Cloud si appoggia anche a GDAL e OGR, a garanzia di un’alta interoperabilità.

I layer, una volta caricati e impostati,  possono essere pubblicati sia tramite il loro flash viewer, che coe servizi WMS/WFS, nonché di fungere da client di servizi OGC, offrendo così la possibilità di realizzare anche mashup e servizi a cascata. Non poteva mancare il supporto ai servizi Openstreetmap, Google Maps, e simili.

Sono presenti inoltre alcuni semplici strumenti di analisi GIS e statistica, come esempio delle ulteriori funzioni che saranno rese disponibili in futuro…

Insomma, un oggetto da tenere d’occhio. In attesa di ricevere il vostro Free Account (che offre tutte le funzionalità ma in un ambiente non dedicato, con risorse condivise tra tutti gli utenti gratuiti e quindi non garantite) vi invito a fare un giro tra i video della loro sua gallery.

24 aprile, 2010 | di

Come atteso, le novità dell’ultima versione di Openlayers sono numerose e, molte, di largo interesse. L’elenco completo delle funzionalità aggiunte, dei miglioramente e dei bug risolti è lunga, ma la sintesi riportata nell’annuncio su Osgeo-Announce è già indicativa del valore di questa release:

  • Controllo Graticule, per la rappresentazione della griglia delle coordinate
  • Supporto per il formato delle immagini prodotte con Zoomify, e su questo mi soffermerò dopo
  • Gestione degli AtomFeed
  • Formato di supporto per i servizi OGC CS-W (Catalog Service for the Web)
  • Aggiunta una modalità (Strategy) che permette il refresh dei layer vettoriali, anche temporizzato
  • Supporto di base al protocoloo SOS (Sensor Observation Service)
  • Controllo TransformFeature: l’esempio è esplicativo
  • Supporto alla versione 1.3 del protocollo WMS
  • Risolti molti problemi della gestione della memoria (memory leaks)

Un’aggiunta, di interesse anche per chi non si occupa di webgis vero e proprio, è il supporto a Zoomify.
Zoomify è un software gratuituo (non Open Source) che permette una visualizzazione efficiente via web di immagini anche ad alta risoluzione, grazie al metodo della tassellatura (tiling). L’immagine originale viene ingrandita a diverse livelli di zoom, e ad ogni livello viene suddivisa in “mattonelle” di grandezza predefinita, che vengono disposte in una struttura gerarchica di cartelle. Per potere riottenere l’immagine originale, il client deve andarsi a pescare i diversi pezzi e ricomporre il mosaico.
Questo sistema non è certo una novità per il mondo GIS, che lo impiega già da molto tempo (vedi gdal2tiles, tilecache, geowebcache, ecc.), e Openlayers offriva già il supporto a servizi di webmapping basati sul tiling (come TMS). Tuttavia il supporto per Zoomify offre il vantaggio della semplicità di utilizzo di questo software, per il cui impiego non sono necessarie competenze GIS, e la possibilità di distribuire facilmente scansioni non georiferite di carte geografiche storiche.
Tra gli esempi distribuiti con la nuova release di Openlayers è stato replicato lo stesso esempio usato per mostrare il viewer Flash di Zoomify in azione. Eccoli a confronto:

Openlayers viewer per Zoomify

Openlayers viewer per Zoomify

Zoomify Flash Viewer

Zoomify Flash Viewer

Buon divertimento!!!

14 febbraio, 2010 | di
Ho ricevuto questo contributo da Claudio Schifani e Giulio Di Chiara, e lo pubblico molto volentieri perché parla di temi a me molto vicini; sia in coordinate, che “con il cuore e con la mente”  :-D
Claudio ha “conosciuto” questo blog tempo fa per le imprevedibili vie del web, e ci siamo incontrati al GISDay (che ho contribuito ad organizzare) nel Novembre del 2009. E’ stato un incontro emozionante in cui mi ha fatto i complimenti per la giornata e per questo blog di cui mi prendo cura insieme ad Alessio, Antonio, Gerlando, Pietro e Sergio (presto delle new entry). Mi ha raccontato che per realizzare GeoMAPpalermo (il progetto di cui si parla in questo post) gli è stato utile leggere gli articoli di TANTO; queste cose sono tra quelle che mi danno più piacere e soddisfazione, e che conservo come “armi emotive segrete” da usare nei momenti di difficoltà.
Giulio l’ho conosciuto tramite Claudio. E’ uno dei creatori di Mobilita Palermo, “un comitato di sostegno verso quelle opere e progetti che possano incentivare lo sviluppo del capoluogo siciliano, con particolare attenzione al miglioramento della viabilità e della mobilità cittadina”. Anche con lui siamo prima “incontrati” digitalmente e poi per fortuna analogicamente. Con Giulio e Claudio ci siamo infatti riuniti attorno ad un tavolo, per cercare di fare insieme qualcosa per la nostra città, a partire dalle nostre professionalità. Abbiamo iniziato a discuterne e Giulio, oltre ad essere un cittadino che si spende per il bene della propria città, è energia pura  ;-) .

Mi fermo qui e vi auguro una piacevole lettura.

Il 27 ottobre scorso,
Mobilita Palermo” (http://www.mobilitapalermo.org), riconosciuto portale-blog su progetti, infrastrutture e mobilità nel capoluogo siciliano, in collaborazione con Claudio Schifani (Assegnista di ricerca presso lo IUAV di Venezia), ha pubblicato on line un nuovo servizio per la cittadinanza palermitana che desidera interagire e “dire la sua” in tema di mobilità urbana.

Presentazione

Mobilita Palermo è un comitato cittadino che nasce ufficialmente dalla rete, una collaborazione prima virtuale e in seguito tangibile tra persone che nutrono un profondo rispetto per la propria città, con un forte senso civico e voglia di cambiamento. Uno scopo importante del comitato è quello di monitorare l’avanzamento dei cantieri e “sollecitare” il rispetto delle tempistiche, segnalando un’eventuale cattiva gestione dei lavori o del denaro pubblico stanziato per gli stessi. Basando la sua mission sulla forza della community e sul “potere comunicativo” della rete, ha individuato Word Press come la soluzione 2.0 per aprirsi alla condivisione delle informazioni, collaborazione ed integrazione di tutti i cittadini interessati.

Claudio Schifani ha svolto una ricerca per l’Università IUAV di Venezia sul tema “Modelli di conoscenza e processi decisionali” presso la scuola di dottorato nel corso in Nuove Tecnologie Informazione Territoriale & Ambiente (http://www.didatticaericercasit.it). La ricerca si è inquadrata nello scenario ormai noto come “Web 2.0” in cui l’informazione geografica assume sempre più carattere di pervasività e di condivisione delle conoscenze, sia esse esperte che locali. Informazione geografica e web rappresentano le componenti del recente scenario caratterizzato dalla sinergia di tre parole chiave, ovvero: territorio/conoscenza/web. Tra i casi di studio analizzati nel corso dell’indagine c’è il progetto ideato e sviluppato dall’Agenzia Europea dell’Ambiente e noto con il nome di “EyeOnEarth”. “Occhio sulla terra” evoca un’azione che è al contempo conoscitiva e collaborativa grazie all’obiettivo dichiarato d’integrazione delle conoscenze “esperte e scientifiche” (dati rilevati dalla EEA) e informazioni rilevate “dal basso”, ovvero dalla comunità che vive o conosce quei luoghi, il tutto aggregato con modalità di rating in interfaccia friendly. Ciò costituisce un’interessante rivoluzione culturale e metodologica che ci apre nuove strade per studiare ed approfondire lo sviluppo di quadri di conoscenza del territorio che siano non soltanto condivisi (Web), ma anche integrati (a livello di conoscenze).

Perché GeoMAPpalermo

L’iniziativa è nata e sviluppata totalmente dal basso (Comitato di Cittadini e non un Ente Istituzionale) e pone tra gli obiettivi quello di “testare” la sensibilità della comunità locale nel valutare gli interventi attuati o in programma, in tema di mobilità, da parte dell’Amministrazione Comunale.

Ecco cosa si legge nel Blog di Mobilita Palermo a proposito dello strumento “GeoMapPalermo”:

1

«Voi sarete la voce di Palermo, voi farete parlare la città. Dai vostri interventi sulla mappa, traspariranno le priorità, gli aspetti positivi e quelli negativi di Palermo. Il vostro intervento si traduce in una georeferenziazione, ovvero in un’etichetta localizzata all’interno di un areale di progetto presente sulla mappa, attraverso la quale potrete esprimere il vostro parere e fornire una breve motivazione, allargando così la conoscenza globale all’interno del “tessuto urbano”.»

Come

GeoMapPalermo è un servizio 2.0 in cui “l’immagine” del territorio ne costituisce il minimo comun denominatore attraverso cui veicolare una duplice informazione: da un lato i progetti urbani (restituiti come areali corredati da link, che puntano a informazioni dettagliate opportunamente aggiornate nel blog ), dall’altro i cittadini che esprimono una valutazione (da molto positiva a negativa). Ecco cosa si legge nel Blog di Mobilita Palermo a proposito dello strumento “GeoMapPalermo”:

GeoMapPalermo è un Mashup di Google Maps le cui mappe sono state scelte sia perché costituiscono un “linguaggio geografico” noto anche a soggetti non esperti sia perché TANTO è stato un eccellente “supporto didattico” con i suoi interessantissimi tutorial di implementazione di codice javascript con le mappe di Google. La piattaforma si basa sull’interazione tra un codice javascript per la consultazione ed inserimento di GeoTag e due script PHP per la connessione ad un DB in MySQL. Ciò che ha richiesto maggiore attenzione nello sviluppo dell’applicativo è stata la definizione della struttura dell’unica tabella presente nel DB che avrebbe raccolto le informazioni provenienti dalla comunità, al fine di rispettare lo schema logico delle connessioni tra i temi, i progetti, i soggetti e le valutazioni. La compilazione della scheda allegata a ciascun tag è, pertanto, guidata attraverso l’inserimento di valori preformattati che consentono la restituzione tematica delle informazioni in mappa.

Inoltre, è stato posto un importante “vincolo” (non a livello di codice ma di vidimazione del geotag da parte degli amministratori di Mobilita Palermo) di appartenenza ad un areale di progetto sul tema “Mobilità” ed in particolare: Tram, Parcheggi e Passante ferroviario.

2

Con questo strumento, Mobilita Palermo ha inteso perseguire gli obiettivi che si era posta per l’implementazione nel suo blog del nuovo servizio geografico 2.0: sensibilizzare l’opinione pubblica alla emergente cultura del territorio 2.0 – “territorio parlante” ed esprimere la volontà di testare un sistema di valutazione partecipata “bottom-up” sulle azioni di trasformazione della città. È interessante notare come nel primo mese di vita, la GeoMapPalermo abbia ricevuto oltre 40 geotag (alcuni dei quali sono stati rimossi perché non rispettavano il “vincolo” necessario alla loro accettazione) ed abbia incoraggiato il Comitato “Mobilita Palermo” ad interessarsi nel porre alcuni quesiti a Enti gestori e decisionali (in materia di mobilità) riguardo ad alcune segnalazioni emerse in mappa su questioni relative al progetto Tram ed alla gestione dei nuovi parcheggi urbani.

Un modo innovativo di affrontare tematiche a scala urbana e stimolare l’interesse collettivo sfruttando i moderni strumenti che internet mette a disposizione.

21 settembre, 2009 | di

pencilUltimamente mi è stato richiesto un applicativo di webmapping che mettesse chiunque (o quasi…) in condizione di gestire agevolmente un geodatabase, aggiornando nel tempo le informazioni contenute, comprese le feature geografiche. In due parole: un gestionale web, ma con delle funzionalità proprie dei GIS desktop.
Il committente ha richiesto una soluzione open source ed io sono stato ben contento di proporre il rodato quartetto composto da UMN-Mapserver, PostGIS, PHP e MapFish.
In passato avevo già realizzato qualcosa di simile, ma si trattava di inserire dei punti a partire da una coppia di coordinate, operazione semplicissima grazie a PostGIS. Questa volta era necessario che l’utente disegnasse le geometrie online, direttamente nella finestra del browser, ed ho colto l’occasione per dare finalmente un’occhiata alle funzioni di editing vettoriale di OpenLayers 2.8. Ne sono rimasto estremamente soddisfatto, come sempre avviene quando si tratta di OpenLayers.
Scorrendo la pagina degli esempi ed inserendo il filtro “vector”, ci si rende subito conto della potenza dei controlli dedicati all’editing.

Grazie agli esempi, che coprono quasi tutto lo spettro delle possibilità, è stato facile produrre la parte client del mio lavoro.
L’editor ottenuto è adattabile a qualsiasi back-end “spatial enabled”, è indipendente dal mapserver scelto per pubblicare i dataset online, dal geodbms usato per contenerli e dal linguaggio di programmazione lato server.
Il cuore del client è costituito dalle funzioni presentate in questo esempio, che consentono di disegnare una feature da serializzare sotto forma di stringa in ben 6 formati standard differenti. Ottenuta la stringa, il gioco è fatto: uno script lato server si occupa di recuperarla e lanciare una query di inserimento nel geodabase (ci sono, come sempre, anche altre soluzioni).
L’operazione inversa, vale a dire deserializzare una stringa ed ottenere una feature, è ugualmente possibile e può essere molto utile.
Per esempio, volendo rifinire degli shapefile su una base Google Maps o Openstreetmap, basta trasformarli KML (o in uno degli altri 5 formati supportati), aprire il file con un editor di testo e, infine, copiare ed incollare il contenuto dentro la textarea del nostro editor. A questo punto si è liberi di modificare a piacimento le feature importate.
Questo è solo un esempio grezzo di import, dispobile “out of the box”, ma una volta collegato l’editor ad un back-end spaziale si può dare sfogo alla fantasia e creare delle funzioni di importazione più raffinate.

vector editing con openlayers

Cliccando qui potete vedere una versione super-generica del client di editing da me realizzato. Ho usato MapFish 1.1[1] per dare un aspetto un po’ più carino[2] al tutto ed ho modificato il codice degli esempi affinché le diverse funzioni di editing potessero essere attivate da una toolbar invece che da una serie di checkbox e radiobutton. I commenti nel codice dovrebbero essere abbastanza esplicativi.

[1] Si tratta di una versione leggermente modificata in cui ho sostituito OpenLayers 2.7 con OpenLayers 2.8

[2] Qualcuno potrebbe cimentarsi con Dojo o jQuery… sono sicuro che non verrebbe affatto male ;)

Nota
Devo scusarmi con i lettori di TANTO iscritti al feed RSS.
Stamattina ho accidentalmente cliccato sul bottone “Pubblica” mentre scrivevo la bozza e nonostante mi sia precipitato a recuperare, non sono riuscito ad evitare che l’articolo incompleto finisse nel feed. Per farmi perdonare mi sono incollato al computer ed ho fatto il possibile per finire l’articolo e la demo alla svelta! In futuro starò più attento a dove clicco e soprattutto non inizierò a scrivere bozze di domenica mattina prima di colazione! :)


TANTO non rappresenta una testata giornalistica ai sensi della legge n. 62 del 7.03.2001, in quanto non viene aggiornato con una precisa e determinata periodicita'. Pertanto, in alcun modo puo' considerarsi un prodotto editoriale.