luglio 22

Un giorno da Vespucci a Fiesole

Oggi sono onorato di ospitare su questo blog Simone Cortesi, uno dei più forti neogeografi italiani in circolazione: vice presidente di Wikimedia Italia, pilastro della comunità OpenStreetMap, punto di riferimento all’interno della comunità di Spaghetti Open Data e mille altre cose… se si è interessati al vasto tema delle mappe, insomma, Simone è la persona da conoscere! 🙂


La Vespucci Institute (a cura della Vespucci Initiative for the Advancement of Geographic Information in Science) è una summer school organizzata ogni anno a Fiesole, in Toscana, e dedicata allo sviluppo di competenze geografiche avanzate. Organizzata dall’Università di Siena, gli studenti approfondiscono le tematiche della geomatica durante la residenza di una settimana all’interno del contesto di una cascina nei dintorni Firenze.

La campagna toscana vista dalla Fattoria di Maiano, in cui si è tenuta la summer school "IC1203 COST ENERGIC - VGI and Citizen Science: engaging, creating and understanding" organizzata dalla Vespucci Initiative.
La campagna toscana vista dalla Fattoria di Maiano, in cui si è tenuta la summer school “IC1203 COST ENERGIC –
VGI and Citizen Science: engaging, creating and understanding” organizzata dalla Vespucci Initiative.

Quest’anno ho avuto l’onore di essere invitato a parlare durante una giornata di discussione dedicata al Volunteer Geographical Information: il mio breve intervento è stato rivolto a OpenStreetMap e specificatamente agli aspetti del recente pasticcio delle Agenzia delle Entrate (#agenziauscite). Ho così avuto modo di confrontarmi con gli studenti e parlare della raccolta volontaria di informazioni dal basso, come foto aeree ad alta risoluzione tramite pallone riempito di elio oppure tramite aquilone, al fine di documentare eventi quali esondazioni, perdite di liquidi da tubazioni o altro. Qui il programma completo della scuola con le altre iniziative messe in campo.

2014-07-10 baloon mapping in fiesole
Kit publiclab.org per il Balloon Mapping, sullo sfondo, la campagna fiorentina.
luglio 18

Visualizzare i dati in tempo reale dal sensore di #acqualta

Una delle caratteristiche dei sensori connessi a Internet (la famosa Internet delle Cose, o Internet of Things) è che sono fonti continue di dati, non producono un dataset statico e immutabile una volta per tutte. In particolare, se previsto, possono inviare un flusso continuo di dati leggibili da un URL pubblico. Una volta caricata la pagina si hanno i dati fino a quel momento. Ricaricandola dopo un certo tempo, le informazioni sono diverse: in particolare ci saranno i nuovi dati prodotti nel frattempo. Si tratta di risorse dinamiche: dato un URL a cui connettersi (inclusi dominio, percorso e variabili GET), la risposta dipende da quando ci si connette.

S.Basilio_aperta Naturalmente tutto dipende anche da quanto spesso il sensore raccoglie e invia i suoi dati: potrebbe essere una volta al giorno, una all’ora, una ogni tot secondi o anche più spesso, in un flusso di dati in tempo reale. Per usufruire fino in fondo di questi dati è necessario tener conto di questa peculiarità dei sensori come fonti. Se l’aggiornamento del dato avviene per esempio ogni secondo, fornire l’ultimo disponibile solo al caricamento della pagina web di pubblicazione è limitante, perché già dopo qualche minuto quel dato sarà vecchio. A meno di ricaricare la pagina. Le moderne tecnologie del Web, per fortuna, mettono a disposizione strumenti più utili e avanzati, come il caricamento asincrono di risorse esterne (noto sotto il nome di AJAX, Asynchronous JavaScript and XML).

Tipicamente i dati di sensori vengono pubblicati mediante API in un formato utile per essere gestito da altre applicazioni. È il caso dei sensori del progetto #acqualta, che misurano il livello dei canali della laguna di Venezia. Il formato scelto è in questo caso il JSON e i dati sono accessibili a questo indirizzo: http://api.acqualta.org/api/data. Tutte le informazioni sulla sintassi da usare per personalizzare la richiesta di dati sono sul sito ufficiale. Si tratta di dati temporali: l’altezza del livello dell’acqua nel tempo, raccolta ogni 10 minuti circa durante alcune ore di ogni giorno. Sono perfetti quindi per essere efficacemente visualizzati mediante un semplice grafico a linee.

Lo strumento migliore e più potente per sviluppare applicazioni di visualizzazione di dati su web è senza dubbio la libreria javascript D3js. Sul sito della Dataninja School si possono trovare un paio di mie lezioni sull’uso base di questa libreria. L’esempio più semplice da cui partire è comunque quello presente nella gallery del sito ufficiale, il grafico a linee. La modifica più importante a quel codice riguarda la possibilità di ricaricare dinamicamente e in maniera asincrona (cioè senza bloccare la pagina) i dati del sensore e aggiornare e ridisegnare quindi il grafico davanti agli occhi dell’utente. Qui sotto il risultato, il cui codice è accessibile pubblicamente su GitHub. EDIT: se siete interessati alla questione Same-origin policy delle richieste AJAX, in coda a questo mio post su Facebook potete trovare un’utile discussione a riguardo.

La chiave per ricaricare periodicamente i nuovi dati è la funzione setInterval( (function) callback, (integer) interval ) definita nativamente in javascript. In maniera asincrona esegue ogni [interval] millisecondi la funzione [callback], che al suo interno scarica gli eventuali nuovi dati, mantiene memoria di quelli vecchi e aggiorna opportunamente il grafico. Nel caso specifico dei dati di #acqualta tutto questo non è strettamente necessario, perché la frequenza di aggiornamento dei sensori è di circa 10 minuti, quindi richiedere nuovi dati ogni 30 secondi è abbastanza inutile. Ma è sufficiente per dimostrare il principio di un’applicazione web pensata per visualizzare in tempo (quasi) reale i dati provenienti da un sensore remoto.

E se conoscete altri progetti che mettono a disposizione i dati dei propri sensori via API, fatemelo sapere!

Category: Intro | LEAVE A COMMENT
luglio 15

Global Fab Awards and Exhibition | FAB10 Barcelona

I risultati dell’ultimo contest promosso dalla Fab Foundation in collaborazione con la Banca Mondiale e la United States Agency for International Development.

After days of careful deliberation our judging panel has chosen 30 projects to be shortlisted in the Global Fab Awards contest, and six others to be considered for the Sensors for Global Development Challenge.

Global Fab Awards and Exhibition | FAB10 Barcelona.

luglio 14

Riflessioni su data e sensor journalism su Moebius

Sabato scorso, il 12 luglio alle 21:00, è andata in onda la 358esima puntata di Moebius, il programma di informazione scientifica di Radio24. Si è parlato di microgravità e medicina spaziale, di immunodeficienze e leucemie, di neuroimaging. Ma si è parlato anche di data e sensor journalism, una piacevole chiacchierata in cui sono intervenuto in trasmissione per una dozzina di minuti. Nella pagina del blog dedicata alla puntata trovate da oggi il podcast completo. Qui di seguito invece ho ritagliato solo la parte che ci riguarda.

Con Federico Pedrocchi e Chiara Albicocco siamo partiti subito con una definizione del data journalism, per poi passare agli esempi pratici, nello specifico una panoramica dell’inchiesta The Migrants’ Files. Non è mancato un cenno alla nostra vittoria ai Data Journalism Awards.

Oltre agli open data o ai dati ottenuti da fonti anche non aperte, la diffusione dei sensori a basso costo e di un movimento di attivismo civico diffuso sul territorio fa intravedere un futuro in cui il data journalism potrà attingere anche da dati prodotti dal basso, soprattutto in ambito ambientale. Le parole chiave del sensor journalism sono poche, ma decisive: apertura di dati, codice e hardware, alleanza virtuosa con la pubblica amministrazione, costruzione di comunità di utenti interessati, animo iperlocale, ma esportabile. L’esempio che riporto è bGeigie, progetto di misurazione partecipata del livello di radiazioni in Giappone, nato all’indomani del disastro di Fukushima.

Nella seconda parte tocchiamo un tema delicato: la correttezza e credibilità dei dati prodotti in maniera partecipata. Ma a mio avviso è sufficiente recuperare il metodo giornalistico più classico, che è quello di verificare le fonti, facendo magari confronti incrociati e interpellando esperti del campo. In molti casi si tratta di un metodo simile a quello della ricerca scientifica: ipotesi ed esperimenti, conferma e falsificazione, riproducibilità di dati e metodi. Sono convinto che nella partita per l’autorevolezza del giornalismo contemporaneo, l’apertura di dati e metodi abbia un ruolo di primo piano. Che il lavoro non finisca con la pubblicazione, ma che commenti, verifiche ulteriori, integrazioni, segnalazione di errori facciano parte integrante del processo giornalistico. Così come la scienza ha fatto i conti con la sua chiusura in torri d’avorio inaccessibili e un approccio squisitamente top down (entrambi, elementi ancora molto duri a morire), il giornalismo ha davanti una sfida analoga. Difficile, ma piena zeppa di opportunità.

luglio 13

How to Balloon Map Your Neighborhood, Google Maps Style

Una bella descrizione del balloon mapping così come progettato, usato e venduto da Public Lab. Le foto aeree da palloni si riveleranno migliori di quelle satellitari?

Balloon mapping is a means to create low-cost and high-resolution aerial maps. Essentially, you fill a large balloon with helium, attach a camera to it, and then let it fly over the area you want to see. When you’re finished you can stitch the images together to create a large aerial map.

How to Balloon Map Your Neighborhood, Google Maps Style.