Questo articolo e’ stato pubblicato originariamente su www.big-gim.it.

Tappa del giro

Siamo agli sgoccioli (in molti sensi): le ferie agostane stanno arrivando e forse molti di voi leggeranno questo post al loro rientro.

Un gruppetto di sostenitori del GIM ha portato a termine la preparazione della versione finale della scheda UNINFO per questo nuovo profilo professionale e ha provveduto al suo invio attraverso il form proposto nell’ambito della consultazione pubblica sui “Profili professionali per l’ICT – Parte 3: Profili professionali relativi alle professionalità operanti nel Web” (Inserire il codice progetto E14D00033 all’URL http://bit.ly/1Mb6pT5).

Ringrazio quindi la redazione di TANTO, Lorenzo Perone ed Andrea Borruso in particolare, Monica Sebillo e tutti quelli che hanno lasciato messaggi sulla mailing list per il sostegno di questo lavoro di affinamento del profilo.

E’ possibile prendere visione del risultato qui. Per la pubblicazione sul web abbiamo utilizzato Crocodoc (ancora un grazie ad Andrea Borruso per la segnalazione). Per chi non conoscesse questa applicazione, tra le varie funzionalità, essa permette di lasciare commenti… Questo mi dà lo spunto per sollecitarne l’invio, anche considerando che potrebbero essere utili in una possibile fase di ulteriore affinamento del profilo.

Questa versione del profilo GIM si differenzia dalla precedente soprattutto perché fa riferimento non più specificatamente all’applicazione di questa figura nell’ambito delle comunità intelligenti, bensì ad una generica organizzazione. La modifica (chi segue questa iniziativa da più tempo ricorderà) è stata suggerita da Antonio Rotundo e discussa in occasione dell’incontro pubblico, svoltosi il 18 giugno scorso presso la Link Campus University di Roma, alla presenza dell’Agenzia per l’Italia Digitale. La scelta tiene conto di un possibile più ampio spettro di possibilità di impiego di tale skill e, inoltre, uniforma questa figura a quelle già predisposte dal gruppo di lavoro UNINFO.

Ciò non esclude, anzi è previsto, che una versione dedicata alle smart communities possa essere preparata: essa assumerebbe anche maggiore rilevanza se derivasse da una figura riconosciuta, come speriamo, da UNINFO.

Infatti, l’idea originale del GIM è maturata immaginando il contesto delle comunità intelligenti, soprattutto facendo riferimento a ciò che queste rappresenteranno nel prossimo futuro: spazi ibridi in cui non solo persone ma anche dispositivi e oggetti oscillano tra luoghi fisici e luoghi della Rete; in cui le dimensioni spaziali e temporali assumono nuovi valori, non più soltanto quello legato alla descrizione del territorio, delle sue caratteristiche naturali e delle attività antropiche.

In questo contesto complesso, dai molti e diversi stakeholder,  il GIM può trovare la sua collocazione più ambiziosa e proficua, per contribuire all’evoluzione del management dei dati geografici, sempre più basato su infrastrutture di dati interconnesse, secondo modelli distribuiti e smart, cioè efficienti per la produzione e per l’uso razionale dei dati geografici stessi.

Questa immagine un po’ visionaria può offrire forse spunti per raccogliere idee utili per promuovere il coinvolgimento del GIM all’interno dei processi delle smart communities. L’ozio agostano può stimolare la fantasia: ogni suggerimento sarà benvenuto!

Serene vacanze a tutti! 

Sergio Farruggia


NdR: la redazione di TANTO aderisce a questa campagna e si augura che questo incomprensibile stallo venga superato di slancio.

Un anno e mezzo fa (per la precisione il giorno 11 febbraio 2014), su iniziativa di alcuni appassionati geomatici italiani, veniva lanciata una petizione per denunciare la mancata presenza dell’Italia nel registro INSPIRE: italy4INSPIRE

Questa iniziativa, che ha raccolto rapidamente oltre 100 adesioni, non solo di singole persone ma anche di associazioni e comunità del settore geomatico, puntava a mettere in risalto il fatto che bastava un granellino di sabbia nella farraginosa ed infernale macchina burocratica (il mancato invio di una mail da parte di fantomatici responsabili), per far fare al nostro Belpaese l’ennesima figuraccia in campo internazionale.

E la beffa era che l’Italia aveva adempiuto già da tempo alla normativa di settore realizzando il “Repertorio Nazionale dei Dati Territoriali” (RNDT) e quindi poteva addirittura farci arrivare al traguardo tra i primi in Europa.

Tra l’altro, l’iniziativa veniva ripresa anche in due interrogazioni parlamentari, presentate rispettivamente il 4 luglio e il 12 novembre 2014, rimaste tuttora senza risposta.

Cosa è successo a distanza di così tanto tempo?

Che ci abbiamo messo la solita “pezza” all’Italiana, registrando il solo endpoint del Geoportale Nazionale (che annovera poche centinaia di metadati), continuando a ignorare RNDT, nonostante la legge europea consenta ad ogni Stato Membro di esporre più di un punto di accesso nazionale.

Perché? Visto che il D.lgs. 32/2010 richiama esplicitamente RNDT e che questo in uniformità e continuità con il monitoraggio “previsto dalla Commissione” 2014 segnalava 6140 metadati e quello 2015 ne riporta oltre 17940, perché non è stato ancora registrato?

Chissà se qualcuno, con un nome, un cognome ed una faccia, riuscirà mai a dare una risposta e, soprattutto, a raggiungere l’obiettivo di registrare l’endpoint RNDT nel registro INSPIRE.

Vogliamo anche RNDT nel registro INSPIRE http://bit.ly/rndt4inspire!


Il 18 giugno 2015 è stata rilasciata la versione 2.0.0 di GDAL/OGR. Una delle novità è legata a un nuovo driver di OGR “Catalog Service for the Web (CSW)”, che consente di accedere a cataloghi di risorse cartografiche esposti sul web.

La sintassi di base per leggere le informazioni da queste fonti è:

ogrinfo -ro -al -noextent CSW:http//catalogo.it/csw

L’utility di riferimento è ogrinfo, e sono a disposizione quindi tutte le altre opzioni del comando.

I cataloghi CSW sono un po’ come quei cassetti pieni di calzini in cui, in occasione di una importante ricorrenza, cerchiamo quelli lilla a pois bianchi (sono an pendant con l’ultima nostra meravigliosa giacca), ma per troppa abbondanza e varietà non riusciremo mai a trovare. Bisogna anche saper cercare :)

OGR è l’ultimo arrivato tra gli strumenti di accesso e ricerca. Ecco qualche semplice esempio, basato sul catalogo del Repertorio Nazionale dei Dati Territoriali (RNDT).

Avere l’elenco di tutti i record del server

ogrinfo -ro -al -noextent CSW:http://www.rndt.gov.it/RNDT/CSW -oo MAX_RECORDS=100

Sul catalogo RNDT sono presenti più di 17000 record, quindi la risposta al comando sarà “lunga”. L’opzione MAX_RECORDS fissa il numero massimo di record che è possibile ricevere ciclicamente durante una chiamata. Nell’esempio di sopra, per 17000 record quindi 170 cicli, ognuno composto da 100 record di output.

Tutti i record all’interno di una determinata area

ogrinfo -ro -al -noextent CSW:http://www.rndt.gov.it/RNDT/CSW -spat 12 35 15 38 -oo MAX_RECORDS=100

Ogni record di un catalogo CSW è associato ad un’estensione geografica. Inserendo il parametro -spat si impostano le coordinate del boundig box (xmin ymin xmax ymax, in EPSG:4326) all’interno del quale si vuole eseguire la ricerca: in risposta si avranno tutti i record ricadenti in quell’area.

ogrinfo -ro -al -noextent CSW:http://www.rndt.gov.it/RNDT/CSW -where \"abstract LIKE '%geologia%'\" -oo MAX_RECORDS=100

In questo modo si cercheranno tutti i record che contengono la parola “geologia” nel campo “abstract”. Ad oggi sono 31.

2015-07-31_11h57_06

Gli altri campi che è possibile sfruttare per fare ricerche sono:

  • identifier (String)
  • other_identifiers (StringList)
  • type (String)
  • subject (String)
  • other_subjects (StringList)
  • references (String)
  • other_references (StringList)
  • modified (String)
  • abstract (String)
  • date (String)
  • language (String)
  • rights (String)
  • format (String)
  • other_formats (StringList)
  • creator (String)
  • source (String)

Tutti i record che contengono una determinata stringa in un campo qualsiasi

ogrinfo -ro -al -noextent CSW:http://www.rndt.gov.it/RNDT/CSW -where \"anytext LIKE '%frane%'\" -oo MAX_RECORDS=100

La stringa cercata è “frane”, e si ottengono 52 record.

Tutti i record della ricerca precedente ma in formato ISO 19115/19119

ogrinfo -ro -al -noextent CSW:http://www.rndt.gov.it/RNDT/CSW -where \"anytext LIKE '%frane%'\" -oo OUTPUT_SCHEMA=gmd -oo MAX_RECORDS=100

L’output in questo caso è secondo lo schema descritto qui http://www.isotc211.org/2005/gmd. Se invece si scrive OUTPUT_SCHEMA=csw, sarà secondo queste specifiche http://www.opengis.net/cat/csw/2.0.2.


Tutte le altre novità su GDAL/OGR 2.0.0 le trovate sintetizzate nel post di Even Rouault e purtroppo il catalogo RNDT non è ancora nel registro INSPIRE! :(


La Genesi

Verso la fine del 2011 nella mia casella di posta elettronica trovai un invito per una conferenza dal titolo “Gli squali nel Mediterraneo”, che si sarebbe tenuta di lì a pochi giorni a Pescara.
Ormai non ricordo più se il titolo fosse davvero quello, né chi fosse il mittente della mail, fatto sta che decisi di andare, spinto in gran parte dalla voglia di passare – dopo anni – una giornata ad ascoltare discorsi di biologia marina “pura” e prendermi una pausa dalle solite cose: gis, json, rest, php, cors, script, sql, ecc.
Dell’intervento principale sugli squali ricordo poco o nulla, non mi colpì granché, ma ricordo bene l’intervento del dottor Vincenzo Olivieri, veterinario e presidente della Onlus “Centro Studi Cetacei” (CSC), che non parlò di squali, ma di spiaggiamenti di cetacei, dei casi di studio più interessanti che aveva incontrato, di indagini sul campo e metodologie analitiche, del lavoro svolto dalla sua associazione e di tanto altro. Ciò che mi fece drizzare le orecchie, man mano che andava avanti, fu pensare alla quantità di datidati spaziali, probabilmente – che il Centro Studi Cetacei poteva (e doveva!) aver raccolto.
Le domande che avevo in testa erano: “Dove li terranno questi dati?”, “In che formato saranno conservati?”, “Saranno disponibili?”, “Saranno accessibili?”.
Al termine della conferenza andai dritto da Olivieri, parlammo una decina di minuti e venne fuori un accordo, direi uno scambio: il Centro Studi Cetacei mi avrebbe fornito i dati sugli spiaggiamenti dopo averli riordinati e organizzati il meglio possibile, visto che erano sparsi in vari fogli Excel, documenti PDF e addirittura qualche scheda cartacea e io avrei sviluppato, senza costi per il CSC, uno strumento informatico per consultarli in maniera semplice e veloce sul web. In cambio chiesi che il risultato di questo nostro sforzo congiunto fosse messo a disposizione come open data.
Ci tengo a sottolineare che questa mia richiesta venne accolta immediatamente e con entusiasmo, segno di un’apertura mentale da parte del mio interlocutore che, ancora oggi, non so quanto sia facile trovare tra i non addetti ai lavori.

Pronti, si comincia!

La primissima fase consistette in una serie di incontri con Vincenzo e con altre persone del CSC; il nostro obiettivo era individuare un minimo comune denominatore nelle informazioni in loro possesso e, partendo da qui, organizzare lo storico in maniera coerente e il più possibile ordinata.
Successivamente fu la volta di scegliere gli strumenti informatici da usare per dare vita al nostro progetto e, non avendo vincoli se non mantenere a zero i costi dell’operazione, decisi per uno stack tecnologico collaudato e completamente open source: PostGIS, GeoServer e OpenLayers. A dire il vero penso che questa sarebbe stata la mia scelta anche se avessimo avuto un budget da spendere!
Scelto lo stack, restava però il problema di mettere in piedi un server. Come molti di voi sapranno, anche se installato con solo software libero, un server ha comunque dei costi legati all’hardware e alla connettività, il che cozzava non poco con il vincolo del costo zero.
Ebbene, senza TANTO e Andrea, al quale parlai del progetto il giorno dopo la conferenza, l’idea sarebbe rimasta nella mia testa, inespressa nella pratica o, al massimo, sarebbe diventata l’ennesima demo in “localhost” sul mio computer.
Il server, alla fine, ce lo ha messo TANTO! Un hosting non da poco, con PostGIS e GeoServer belli e pronti, Apache e PHP per creare pagine web e, soprattutto, persone competenti a gestire l’infrastruttura.
A questo punto, con i dati che iniziavano a prendere forma ed il server pronto ad accogliere l’applicazione, per me era finalmente ora di entrare nel vivo e tirarmi su le maniche per produrre qualcosa di tangibile da mostrare a Vincenzo e al CSC che, nel ripulire, organizzare e armonizzare i dati storici, avevano passato parecchi giorni a lavorare.
Così all’inizio del 2012 venne fuori il primo output, un’applicazione di web mapping strutturata in maniera abbastanza classica e in grado di mostrare i punti dove erano stati effettuati i rilievi sugli animali spiaggiati e le informazioni ad essi associate su una mappa, una griglia ordinabile e dei grafici. Scegliemmo di chiamarla GeoCetus.

GC_webmap

I dati potevano essere filtrati su base annuale, adeguando le tre viste di conseguenza. Selezionando un punto, come lecito aspettarsi, compariva una scheda con tutte le informazioni di dettaglio ed era possibile scaricare tutti i dati disponibili in formato KML e CSV, ovviamente sotto licenza CC BY-SA. Nulla di eclatante, insomma, ma funzionale.
Questa prima versione si basava su una sola tabella PostGIS, denominata “spiaggiamenti”, un po’ di codice PHP per tirare fuori un GeoJSON – preferii non scomodare GeoServer in prima battuta – e la mia collaudata cassetta degli attrezzi JavaScript composta da OpenLayers 2.12, jqGrid e Google Charts.

Un buon inizio, ma serve sempre qualcosa in più

L’applicazione di web mapping prodotta non era male, nel senso che faceva quello che doveva fare in base ai requisiti concordati con il CSC e lo faceva discretamente: mostrava i dati e consentiva di interrogarli e scaricarli.
Ben presto, però, sorse la necessità di aggiornare la banca dati in modo che fosse sempre attuale ed utile, così pensai di ricorrere ad un foglio di calcolo su Google Drive. I nuovi dati sarebbero stati inseriti lì e poi, tramite uno script Python, trasferiti in PostGIS con una query SQL.
Lo script funzionava senza particolari problemi, però lasciava irrisolte due questioni importanti:

  • vincolare alcuni campi ad un dominio specifico di valori;
  • calcolare automaticamente il codice identificativo di ogni evento registrato, il quale doveva seguire uno schema preciso per non violare il vincolo di univocità.

Probabilmente lavorando un po’ di più allo striminzito script Python che avevo prodotto si sarebbe potuta trovare la soluzione ad entrambi i problemi, ma ho preferito creare qualcosa che girasse completamente sul nostro server e sviluppare un modulo gestionale in PHP con interfaccia basata sull’ottimo Twitter Bootstrap (all’epoca la versione stabile era la 2.3.2). Dopo qualche giorno di lavoro venne fuori il prototipo del modulo gestionale:

GC_manager

Questo modulo, accessibile solo agli utenti registrati sul database, costituiva uno strumento di facile utilizzo, tramite il quale chiunque poteva registrare un nuovo spiaggiamento senza incappare in errori grossolani, di distrazione e senza doversi preoccupare del codice di registrazione, che veniva compilato in automatico dal modulo stesso, sulla base delle regole stabilite.
Problema risolto? Certo che no! Le esigenze, man mano che GeoCetus e il suo modulo gestionale venivano utilizzati, divenivano ben maggiori del semplice consultazione e inserimento di nuovi dati. Occorreva spesso correggere o cancellare qualcosa e sarebbe stato bello anche poter allegare dei file per caratterizzare meglio i rilievi registrati.
Inoltre, nel frattempo, era saltata fuori anche la necessità di gestire i dati sulle tartarughe marine.
Come spesso accade, l’appetito viene mangiando.

GeoCetus diventa un portale

Per organizzare al meglio tutti le funzioni e i moduli previsti la cosa migliore era, sicuramente, ripensare l’applicazione in forma di un portale, così, dopo qualche mese di lavoro e svariati aggiornamenti a librerie e script vari, il risultato è quello che tutti possono vedere puntando il browser a questo indirizzo: http://geocetus.spaziogis.it.

GC_portal

Il portale prevede diverse tipologie di utenti, che hanno prerogative diverse sulla gestione dei dati e degli allegati. Ad ogni evento inserito sotto forma di punto è possibile associare fino a 3 foto e 3 documenti in formato PDF relativi a necroscopie ed analisi di laboratorio; a breve sarà possibile collegare anche dei filmati. Tutti i contenuti sono aperti, distribuiti sotto licenza CC BY-SA e messi a disposizione degli interessati sia sotto forma di servizi OGC che dei più comuni formati di file usati in ambito di geodati.
Ora, piuttosto che annoiarvi con l’elenco particolareggiato delle caratteristiche del portale, vi invito a consultare lo slideshow in calce al post e, soprattutto, a visitarlo in prima persona.
Piuttosto, mi preme dire che, per quanto ne so, ad oggi, quella di GeoCetus è la più completa banca dati sugli spiaggiamenti di cetacei e tartarughe marine dell’intero panorama nazionale, che si tratta di una banca dati libera ed accessibile e che, questo risultato, per quanto sia ancora passibile di miglioramenti, è stato raggiunto da un gruppo di volontari. Abbiamo investito parte del nostro tempo libero per dare vita a un progetto che, speriamo, diventi un riferimento per gli addetti ai lavori e, soprattutto, contribuisca ad innescare un clima virtuoso di collaborazione e condivisione delle informazioni anche da parte di altri soggetti.



Questo articolo è apparso originariamente su www.big-gim.it.15 Giugno

In occasione del barcamp svoltosi nell’ambito del raduno Spaghetti Open Data 2015 (#SOD15) a Bologna, primo incontro pubblico per discutere del Geographic Information Manager, è stata proposta l’organizzazione di un “tavolo di lavoro” con l’intenzione di produrre un Position Paper su questa nuova figura professionale, da sottoporre all’Agenzia per l’Italia Digitale (AgID) perché possa esaminarne i contenuti ed esprimere proprie valutazioni in merito.

Questa iniziativa, promossa da Stati Generali dell’Innovazione, insieme alla Redazione di TANTO, alla comunità Spaghetti Open Data ed all’Università degli Studi “Link Campus University”, si rivolge alle associazioni, comunità ed ai singoli interessati ad approfondire gli aspetti salienti riguardanti questa nuova figura professionale.

Per contribuire alla redazione del Position Paper si può commentare questo documento condiviso, per avviare una discussione sul tema suggeriamo invece l’utilizzo della nostra mailing list.

Fino al 15 giugno prossimo sarà possibile contribuire alla stesura della versione finale di questo documento.

Per la stesura della versione preliminare del Position Paper sono stati di grande utilità i numerosi pareri e proposte raccolti attraverso il sondaggio sul ruolo del GIM eseguito dalla Redazione di TANTO, i successivi commenti lasciati nel documento contenente tutte le risposte al questionario pervenute, nonché le discussioni avvenute all’interno della mailing list, “luogo” creato per costruire insieme questa idea e renderla concreta.

Il contenuto di questa prima versione del Position Paper è articolato nei seguenti punti:

  • Introduzione
  • Razionale del Position Paper
    • Geographic Information Manager e Open Government
    • Geographic Information Manager e “Comunità Intelligente”
  • Il ruolo del Geographic Information Manager nell’ambito dell’organismo d’indirizzo della comunità intelligente
    • Profilo delle competenze del Geographic Information Manager
    • Condizioni perché il Geographic Information Manager possa agire con competenza
  • Formazione e sviluppo professionale del GIM
  • Gestione dei GIM
  • Quadro normativo di riferimento

Giovedì 18 giugno, presso la sede di Roma della “Link Campus University“ (Via Nomentana, 335, Roma) è prevista la presentazione pubblica del Position Paper e la sua consegna ad AgID. Nei prossimi giorni, su questo sito, sarà pubblicato il programma dell’evento.


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.