Archivio

Archive for aprile 2013

GeoGit: un nuovo tool (in alpha version), offerto da OpenGeo


Ho già citato in un precedente post l’esperienza della città di Chicago che, per condividere i propri dati con gli utenti ha pubblicato alcuni dei suoi open data georiferiti su GitHub sollecitandone i fork per gli aggiornamenti,

Ora è stato recentemente annunciato da OpenGeo un nuovo prodotto open source, rilasciato in alpha version, denominato GeoGit che ha come obiettivo (cito testualmente …), “…. to propose a new approach to working with spatial data, recommending a shift from treating spatial data simply as data to considering it as programmers do source code.”

Altra frase che ha suscitato il mio interesse è la seguente: “ …. We propose that organizations can benefit from crowdsourcing spatial data while retaining control over their information repositories and maintaining authoritative data sources.

I principi su cui si basa questa iniziativa sono stati enunciati in tre white papers di cui riporto i riferimenti:

Provo a riassumere nel seguito quanto descritto nel dettaglio nei tre papers di cui sopra di cui consiglio la lettura e a cui comunque rimando.

La sfida che viene proposta è sicuramente innovativa, quanto mai impegnativa ma al tempo stesso molto affascinante: provare ad affontare il tema della creazione e gestione dei dati geografici con gli stessi principi collaborativi con cui viene trattata la gestione del codice sorgente.

Questo offre prospettive interessanti come pure l’obiettivo dichiarato di ridurre il tempo dedicato alla gestione del dato stesso per andare ad aumentare il tempo dedicato a creare valore aggiunto (funzionalità e servizi), su di esso

L’idea non è completamente nuova: alcuni tentativi di introdurre un sistema distribuito di controllo di versione sui dati geografici è già stato affrontato nel tempo da ESRI con ArcSDE e dalla stessa ORACLE con Workspace Manager.

Lo stesso progetto OpenStreetMap offre un sistema di versionamento, per quanto intorno ad un unico database centralizzato.

L’idea che guida OpenGeo nell’adattare i concetti chiave del versionamento distribuito tipico del mondo software ai dati spaziali, si basa su una similitudine che è la seguente: molte persone che usano il software non sono interessate ad ottenere accesso o avere maggiore conoscenza sul codice sorgente, analogamente a come molte persone che usano le mappe non sono interssate ai dati su cui queste di basano.

Al tempo stesso come gli sviluppatori possono essere interessati al codice sorgente di un’applicazione per poterlo modifcare, correggere. migliorare, coloro che sono interessati ai dati spaziali possono avere interesse nel modificarli, correggerli e migliorarli.

OpenGeo auspica che, analogamente a come è avvenuto nel mondo del software, dove questo approccio di condivisione ha portato ad una maggiore diffusione e consapevolezza unita ad un aumento della qualità del software, lo stesso avvenga nel mondo dei dati spaziali.

Quanto proposto da OpenGeo sembra andare oltre il modello impostato e portato avanti con successo da un progetto importante come OpenStreetMap il cui obiettivo è quello di raccogliere, e ridistribuire a tutti, in un’unica banca dati le informazioni spaziali attraverso le operazioni di edit fatte da un numero di crowdmapper volontari e appassionati sempre maggiore: si propone un modello collaborativo che richiede un nuovo paradigma e nuove problematiche da dover affrontare.

Un approccio che porti ad un modello collaborativo basato su un modello di versionig distribuito sui dati dovrebbe facilitare la collaborazione tra diverse organizzazioni / enti che hanno necessità di utilizzare e gestire i medesimi livelli informativi.

Ad oggi queste esigenze, per quanto le diverse iniziative / strumenti / tools che gravitano intorno ai concetti di Spatial Data Infrastructure (SDI), in senso lato, cerchino di mitigare la duplicazione di dati, non hanno ancora avuto una risposta esaustiva e resta sempre necessaria un’autorità centrale che si faccia carico di integrare (con diversi livelli di possible automatismo ma pur sempre con un elevato grado di controllo umano), le diverse sorgenti di informazione.

Un modello di versionig distribuito sui dati potrebbe semplificare la collaborazione, in quanto ogni organizzazione /ente manterrebbe il controllo completo sulla propria copia dei dati (potendovi applicare i propri processi di quality assurance), e non cedere così il controllo ad un’autorità esterna, ma al tempo stesso avrebbe visione di ogni change presenti su ogni repository delle altre organizzazioni e decidere se e quando effettuare i merge (per chi interessato nell’articolo originale viene riportato un esempio di dettaglio).

Il modello proposto potrebbe essere anche strumento abilitante per permettere un colloquio fattivo tra due mondi che ad oggi proseguono il loro cammino parallelamente guardandosi a distanza: il mondo dei dati geografici “ufficiali” o certificati (authoritative), generalmente gestiti da organizzazioni governative in grado di certificare le proprie informaizoni, ed il mondo della neo-geografia o del Volunteered Geographic Information (VGI) in cui rientrano tutti gli utenti crowdsourced legati a realtà quali OpenStreetMap, Google MapMaker, Ushahidi, ecc … .

I due mondi hanno ovviamente cicli di vita applicati ai dati completamente diversi: l’approccio VGI basato sul crowdsourcing permette a chiuque di fare edit dei dati, permettendo così si avere dati più aggiornati per quanto potenzialmente (????!!!!), passibili di errori, mentre l’approccio “authoritative” permette un modello centralizzato in cui il dato viene aggiornato e alterato in modo controllato, permettendo un dato di maggiore precisione (????!!!!), ma inevitabilmente con tempi più lenti.

Con un modello di versioning distribuito sui dati le organizzazioni / enti ufficiali potrebbero disporre del meglio di entrambi.

Infatti se da un lato con lo stesso approccio potrebbero collaborare con  altre organizzazioni / enti come descritto in precedenza, dall’altro potrebbero anche collaborare con singoli o gruppi interessati a vario titolo al miglioramento del dato stesso.

Il fornitore del dato può continuare a pubblicare versioni dei dati pienamente testati e verificati con un ciclo di vita del dato più “lento” per chi interessato a questa tipologia di dato, mentre chi usa il dato e ha necessità di avere un livello informativo più generale ed aggiornato, anche a scapito della sua certificazione, può mantenere una copia del dato certificato su cui fare le proprie modifiche / aggiornamenti e periodicamente riportarle sul repository del dato “authoritative” da cui questi poi rientreranno nel ciclo di vita del dato ufficiale (anche qui per chi interessato nell’articolo originale viene riportato un esempio di dettaglio).

Un modello di versioning distribuito sui dati avrebbe vantaggi anche nel caso di utilizzo di strumenti portabili di acquisizione di dati sul campo dove spesso non è garantita la copertura di rete o la sua affidabilità. In questo caso infatti il dispositivo mobile potrebbe essere visto come l’ennesimo repository da sincronizzare verso la base dati centrale o master.

A livello di rete questo tipo di approccio potrebbe trovare ulteriori vantaggi se si considera che il traffico potrebbe essere limitato rispetto ad una situazione tradizionale di upload / download in quanto sarebbero interessate solo le features create / modificate e non l’intero livello informativo.

Alcuni vantaggi, non molto in realtà se confrontato all’effettiva necessità ed onere, si potrebbero avere anche a livello di metadati in quanto gli strumenti di controllo di versione raccolgono metadati automaticamente, alcuni dei quali potrebbero essere utilizzati per tracciare la storia di ogni dataset per conoscere chi ha modificato cosa quando.

OpenGeo, dopo aver valutato diverse alternative, ha infine scelto di prendere in prestito le idee migliori da un software, non-geospaziale,  di versioning distribuito come Git e di costruire qualcosa di nuovo che fosse in grado di gestire dati geospaziali.

Si tratta di un primo passo ma altri possibili sono previsti come possibili alternative / evoluzioni:

  • usare un approccio “ibrido” introducendo un database spaziale per fornire acecsso rapido e indicizzazione spaziale ai dati lasciando a Git le parti di versioning e history
  • usare la tecnologia che sta alla base di CouchDB. Questo approccio permette di seperare il back end ed il front end così che se qualche novità interessante si presentasse sul mondo degli strumenti open source sia possibile e facilitato il suo utilizzo

GeoGit non è direttamente compatibile con Git o GitHub ma adatta i concetti di base di Git al contesto dei dati spaziali e si basa sia su GeoSynchronization Service module (una specifica OGC sulla sincronizzazione dei dati), sia sugli standard del Web Feature Service 2.0 (WFS-T). Le features sono implementate usando il  formato binario Hessian e il formato Well Known Binary (WKB), standard OGC che è ampiamente supportato da diversi tool ( per chi interessato nell’articolo originale viene riportato un esempio di dettaglio).

Ovviamente ci sono diversi punti ancora aperti: editando direttamente un datastore POSTGIS con un qualunque client gis desktop senza passare attraverso GeoGit si creano situazioni di inconsistenza, in modo del tutto analogo a come avverebbe se, in un utilizzo tradizionale di GitHub,  si facessero accessi diretti sul repository remoto senza fare il push delle modifiche sul repository locale.

Ovviamente per permettere di poter lavorare in una situazione “mista” in cui si possano fare editing sia in modo tradizionale sia attraverso l’utilizzo di WFS-T sarebbe necessario implementare delle strategie di notifiche sul repository attraverso trigger a livello del db POSTGIS oppure con plugin specifici sui vari client, quindi un mondo ancora piuttosto complesso.

Altri limiti attuali sono:

  • è possibile utilizzare repositories con versioni lineari quindi non ci sono possibilità di fare branch, diff o rollbacks
  • è stato testato su POSTGIS ma è stato progettato per lavorare con qualunque datastore che possa restituire degli ID stabili e quindi dovrebbe lavorare con ORACLE, ArcSDE, SQL Server e DB2

Al netto di queste limitazioni e come detto in precedenza il prodotto è disponibile nella sua alpha version.

Proseguono le attività tra cui:

  • un’interfaccia javascript based realizzata sulla base di GXP così da essere facilmente incorporata in GeoExplorer, GeoNode e altre applicazioni che permetta di avere un’applicazione demo di front end così da interagire con la componente di back end
  • uno strato di API javascript che permetta funzionalità di “diff”, “rollbacks” ma anche visualizzare l’history, fare confronti tra versioni sia sui dati spaziali sia sui dati associati. Questa fase è considerata molto complicata in quanto si tratta di andare ad affrontare concetti completamente nuovi se applicati ad un contesto geospaziale: quali sono i significati di un “diff”, un “merge” o un “clone” nel contesto del versionamento distribuito di dati spaziali?
  • integrazione in GeoNode
  • integrazioni sia nel mondo Mobile sia nel mondo Desktop. In particolare per quest’ultimo aspetto c’è da considerare la proliferazione di strumenti sia open source sia proprietari

In conclusione quindi GeoGit si presenta come soluzione tutt’altro che matura, anzi, nella versione attuale decisamente limitata, ma indubbiamente si tratta di un progetto interessante da seguire nelle sue evoluzioni.

Fonte: Blog OpenGeo

Annunci

Crowdmapping: se ne parla sempre più spesso


Seguendo sulle rete le news legate al mondo GIS e i suoi dintorni,  in questi ultimi tempi emerge in misura crescente l’interesse sul fenomeno del crowdmapping.

Iniziano ad esserci esperienze o tentativi di un maggiore coinvolgimento della componente volontaristica da parte di Enti, Pubbliche Amministazioni, ecc .. nel processo di raccolta e condivisione distribuita delle informazioni georiferite.

Le modalità sono le più diverse ed eterogenee, ma il segnale comune sembra essere quello che due mondi, quello delle istituzioni pubbliche che “ufficialmente” detengono i dati e il mondo del VGI (Volunteered Geographic Information) in generale, inizino a parlarsi cercando collaborazioni ed interazioni.

Sicuramente il movimento degli Open Data ha contribuito a creare il terreno con l’humus giusto su cui basare queste collaborazioni, anche perchè una volta che i dati sono resi liberamente disponibili, occorre capire come gestire i processi di aggiornamento del dato stesso, che oggi potrebbero avere modalità e canali diversi rispetto  al recente passato, si pensi alla distribuzione dei dispositivi mobili in grado di raccogliere o comunque fornire supporto ed essere abilitanti per la raccolta / aggiornamento di molti dati, e all’esistenza di realtà / comunità come quella di OpenStreet Map in grado di avere una platea molto ampia di potenziali (ed entusiasti …), contributori.

In questo contesto riporto alcune delle iniziative che considero più significative.

HealthMap, la crowdmap per le emergenze sanitarie (fonte: Sardinia OpenData), è un progetto basato su Ushahidi che offre una mappa utilizzata per monitorare epidemie e informazioni sulla salute in tutto il mondo.

La mappa, gestita da un team del Boston’s Children’s Hospital,  rappresenta i tipi di malattia e luoghi in cui si manifestano, il numero di casi, gli avvisi e gli avvertimenti di eventuali epidemie

Lo strumento include anche informazioni sui sintomi della malattia, così come una serie di dati sulla salute degli animali e dell’ambiente.

I dati vengono estratti da diverse fonti aperte, relazioni dei testimoni oculari, aggregatori di notizie on-line e validati rapporti ufficiali. Le fonti includono dati dell’Organizzazione Mondiale della Sanità, dell’Organizzazione mondiale per la salute degli animali, l’alimentazione e l’agricoltura (UN) e altri.

Attraverso un processo automatico, i dati vengono analizzati ogni ora, prendendo in considerazione le diverse tipologie di malattia e la loro posizione, che man mano vengono ritirate dal set di dati.

HealthMap è disponibile online e su dispositivi mobili, come Android e iPhone.

HealthMap anche creato l’applicazione Outbreaks Near Me, che fornisce le ultime segnalazioni di epidemie e malattie infettive. Inoltre, è stata creata anche Flu Near You, che tiene traccia della diffusione del virus dell’influenza chiedendo ai partecipanti di compilare sondaggi periodici sullo stato di salute. Infine c’è il Vaccine Finder che può essere aggiunto al tuo sito web sotto forma di widget.

Lo U.S. Geological Survey  ha attivato un programma denominato The National Map Corps (fonte: @pietroblu) che ha come obiettivo quello di espandere il coinvolgimento dei volontari nel migliorare la raccolta delle informazioni sia aggiungendo nuove features, sia correggendo dati esistenti usando The National Map database. I livelli informativi coinvolti sono scuole, ospedali, uffici postali, stazioni di polizia, ecc ….

Sono già stati fatti dei progetti pilota in Colorado che hanno avuto una durata di 10 mesi coinvolgendo 143 volontari che hanno operato su più di 6.400 strutture.

Ora il progetto saràò esteso ad altri stati americani quali: Arkansas, Alaska, Colorado, Delaware, Georgia, Idaho, Maryland, Michigan, Montana, North Dakota, New Jersey, New Mexico, Ohio, Oregon, South Carolina, Utah, Washington, West Virginia.

I dati raccolti grazie ai volontari saranno disponibili agli utenti “free of charge

La città di Chicago ha deciso di utililizzare GitHub per condividere i propri dati con gli utenti sollecitandone i fork per gli aggiornamenti.

github-chicago

L’utilizzo di GitHub per tale scopo è senz’altro di interesse e quindi degno di nota.

Questa iniziativa non ha intenzione di andare a sostituirsi al portale degli open data di Chicago,  ma è stata presentata come un esperimento per testare un modello collaborativo.

La scelta di GitHub è stata fatta in quanto lo strumento permette di fare download, fork e merge sui dati originali analogamente a come avviene per la gestione software per cui lo strumento è principalmente utilizzato.

E sin qui abbiamo esempi di crowdsourcing spontaneo, ma riporto anche un  riferimento di un caso di crowdsourcing diversamente spontaneo nell’utilizzo di tools di CAPTCHA per riconoscere o verificare un numero civico all’interno della piattaforma Blogger di Google all’atto della conferma di commenti a dei post, cosa che ovviamente sembra essere un po’ per lo meno borderline rispetto ad un coinvolgimento consapevole da parte dell’utente.

 

Open Layers 3: ora in alpha version!


E’ ufficiale: Open Layers 3 è ora in alpha version e quindi disponibile per i test.

Sono disponibili gli esempi e la prima versione (incompleta), della documentazione delle API.

Categorie:Open Source Tag:

Libri e presentazioni open sui GIS


Recentemente sono apparse in rete alcune news sulla disponibilità open di libri e presentazioni su tematiche GIS.

Eccone i riferimenti:

 

Categorie:GIS Tag:,

Open Layers 3 Sprint Code a Losanna


Direttamente dal blog di OpenLayers è stato riportato un sommario di un recente spint code di OpenLayers 3.

Nel corso dello sprint è stato svolto un interessante lavoro sul vector branch ottenendo i seguenti risultati (riporto integralmente dal post originale):

  • GeoJSON format support.
  • Tile-based rendering of vector geometries to a 2D canvas.
  • Rendering of points with a circle symbol or icons from image files.
  • Stroke symbolizers (color, width, opacity) for lines and polygons.
  • Fill symbolizers (color, opacity) for polygons.
  • Rule based styling with filters and access to feature data, including support for multiple symbolizers per feature
  • Fast rendering thanks to spatial R-Tree indexing and rendering of geometries with the same symbolizer in a single pass.

E’ stato fatto anche del lavoro sul fronte del supporto dei formati che è uno dei punti di forza di OpenLayers2. Ora sono supportati OGC Exception Report, OGC OWS Common, OGC WMS Capabilities, OGC WMTS Capabilities, e GeoJSON. E’ stato fatto anche del lavoro sul KML parser ma non è ancora pienamente supportato.

A livello di formati supportati ora OpenLayers 3 ora c’è anche il supporto del WMTS: ora è anche possibile creare WMTS source objects da WMTS Capabilities.

A livello di controlli ora sono disponibile due nuovi controlli interamente customizzabili via CSS: zoom slider e scale line control.

Sono state apportate anche delle migliorie sulle interazioni quali  DragPan, TouchPan, and TouchZoom.

OpenLayers 3 ora supporta tre tipi di renderer: DOM, Canvas e WebGL. DOM e WebGL sono stati scritti per primi, successivamente il gruppo di lavoro si è concentrato su Canvas che però deve essere ancora ottimizzato. In molti esempi il renderer può essere settato esplicitamente utilizzando un parametro nella URL, ad esempio la demo dell’utilizzo di Stamen che utilizza il Canvas renderer risponde a questa url

http://openlayers.github.com/ol3/master/examples/stamen.html?renderer=canvas

A livello di API il lavoro sembra ancora essere lungo ma inziano a vedersi i primi risultati. Ora è possibile:

  • passare un array di layers al map constructor
  • passare dei controlli da attivare sulla mappa
  • usare le stringhe per specificare le proiezioni

Un grande miglioramento a livello della qualità del codice dovrebbe essere portato dalla “continuous integration” (vedi Travis CI), che dovrebbe verificare che i vari esempi funzionino sempre correttamente sollevando le opportune eccezioni in caso di errori.

E’ possibile vedere OpenLayers 3 “in action” dalla pagina degli esempi attiva su GitHub.

Fonte: OpenLayers Blog

Categorie:Open Source Tag:

Proporre, condividere, commentare e valutare in modo costruttivo idee utili sui GeoDati liberi

4 aprile 2013 1 commento

Questo blog partecipa alla proposta di cross posting ideata da TANTO  per lanciare tutti insieme una nuova iniziativa a favore della diffusione degli OpenGeoData. Ecco il testo concordato:

***************************************************

Il tema degli OpenGeoData è importante e pensiamo che meriti hic et nunc un’attenzione speciale.

E’ indispensabile la crescita di una consapevolezza diffusa del loro valore, così come è necessario porre l’attenzione sulle modalità di implementazione del modello e verificarne l’impatto in termini di valore aggiunto; per professionisti, aziende, decisori e cittadini.

Vogliamo creare un gruppo di lavoro aperto a tutti e che si appoggerà anche su quanto di buono e utile è stato fatto in analogia per il tema più generale degli OpenData.

Tre i temi principali che vorremmo trasformare in azione:

  • Formazione – iniziative formative a medio, lungo termine riguardanti la formazione su specifiche questioni di fondo (metadati, INSPIRE, standard, soluzioni tecnologiche, ecc.)
  • Informazione – iniziative di tipo divulgativo (filmati didattici e di promozione), così come webinar di taglio informativo su argomenti di approfondimento
  • Buone prassi – segnalazione e report di iniziative e progetti riguardanti geoportali e portali open data, standard, apertura e liberazione di dati (ma non solo) che possono essere prese a modello

Pensiamo sia necessario il contributo di molti, sia in termini di contenuti che di modalità di azione

Per questa ragione abbiamo pensato di creare uno spazio in cui ognuno potrà proporre, condividere, commentare e valutare in modo costruttivo idee utili sul tema.

Abbiamo aperto una community su ideascale (geodatiliberi.ideascale.com), non vi resta che aprire un account e cominciare a proporre e interagire con gli altri. Troverete le tre categorie di cui sopra nelle quali inserire le idee e proposte, in modo tale da rendere il tutto più organico.

Perché OpenGeoData non sia soltanto un obbligo normativo, una moda o un sfogo per il “geogeek”.

***************************************************

E’ anche attivo un hashtag Twitter, precisamente #ChièGiancarlo: per chi fosse incuriosito dal nome strano è possibile trovare la spiegazione in un articolo di Andrea Borruso.