domenica 4 giugno 2023

L'acqua va in basso

Alle scuole elementari il mio compagno di classe Silvano riuscì a prendere un bel 10 su domanda secca del maestro posta agli alunni. 
 La domanda, sibillina in effetti, era 'bambini voi sapete dove va l'acqua?' e in mezzo agli sguardi spenti di tutti noi solo Silvano si illuminò rispondendo in dialetto 'l'acqua la va pr'a bas!', l'acqua va in basso! Era una cosa che sapeva probabilmente perché abitava in campagna, a contatto con la terra e con l'acqua, in una famiglia di agricoltori. 
Questo aneddoto mi è tornato in mente nelle incredibili giornate vissute durante l'alluvione. Sì perchè a Lugo, mentre l'acqua saliva e creava nuovi torrenti, in molti si sono chiesti quale sarebbe stata la successiva via allagata, quale percorso avrebbe scelto. Sarebbe andata 'mediamente' in basso. 
Sapere 'a occhio' quali sono le zone più alte e più basse è cosa assai difficile in una città completamente pianeggiante come Lugo, dove le differenze di altitudine tra quartieri sono di pochi metri. Eppure quei pochi metri per l'acqua fanno la differenza, e ce ne siamo accorti vedendo correre fiumi in centro città con sorprendente irruenza, andavano tutti verso il basso. 
Il Pavaglione a Lugo il 18/05/2023



In questi giorni andando un po' in giro, chiedendo a conoscenti e considerando i cumuli di rifiuti, mi sono fatto un' idea approssimativa delle aree risparmiate dall' acqua o perlomeno lambite, o con pochi centimetri. 
Vivendo in centro storico posso per certo dire per testimonianza diretta che un tratto di Via Matteotti e un tratto di Via Risorgimento, più verso l'ospedale, sono rimaste all'asciutto (eccetto sotterranei direi). Poi è stata un po' meno toccata la zona di Lugo Est compresa tra Viale Europa e Viale Dante, così come l'area di Lugo Nord nelle vie comprese tra il canale, la Via Piratello e Via Quarantola. In ultimo anche alcune strade di Madonna delle Stuoie Est hanno avuto meno danni come Via Tagliamento o Via Livenza. Di altre aree non so , eventualmente chi volesse segnalare nei commenti aiuterebbe a fare un quadro più completo. In altre aree la situazione è stata invece decisamente peggiore, soprattutto in zona Sud Ovest, Ovest , sebbene anche li alcune zona siano state meno colpite, per esempio in prossimità del Parco dei Mulini, che ha fatto un po' da laminatore. 
I motivi del maggiore o minore allagamento di aree urbane sono molteplici, influisce certo l'altitudine relativa, poi la direzione dalla quale proviene l'acqua, la presenza di ostacoli, più in periferia la vicinanza di terreni più bassi che funzionano da laminatori, la vicinanza a corsi d'acqua e sicuramente anche altri che ignoro. 

In ogni caso, a me è venuta la curiosità di capire l'altitudine relativa della città,le zone più basse e più alte, domanda che come dicevo è sorta durante le lunghe ore di attesa dell'acqua e anche prima quando è stato il momento di mettere in salvo l'auto , cercando un posto 'alto' che non fosse uno dei tanti parcheggi sopraelevati, già stracolmi. 
Ho utilizzato i dati messi a disposizione dalla missione SRTM della NASA che forniscono informaizioni circa l'altitudine di gran parte del globo, facilmente fruibili con l'applicazione QGIS : https://www.earthdata.nasa.gov/sensors/srtm. Ho utilizzato questi dati per creare alcune rappresentazioni dell'altitudine relativa del centro abitato di Lugo e degli altri Comuni della Bassa Romagna, incrociando i dati con la topografia fornita da Openstreetmap
La risoluzione è abbastanza precisa anche per capire le aree più alte e più basse pure di una sola strada. 

La rappresentazione mostra le aree più alte con tonalità verde e le aree più basse in gradazioni di arancio via via più scure fino a rosso. Attraverso il software QGis ho esplorato e zoomato nelle aree di interesse fino alla singola strada, trovando spesso spiegazione al movimento delle acque che avevo notato esplorando il centro allagato e le vicinanze della mia abitazione, qui mi limito a pubblicare una mappa con un livello di zoom che fà vedere l'intero centro abitato, la mappa è zoomabile per chi vuole approfondire, passando il mouse sulla zona interessata viene mostrata l'altitudine. 
Per Lugo si nota che la parte pià alta della città è l'area del centro storico a est del Pavaglione, Via Poveromini, Matteotti, Risorgimento etc.... 18, 19 metri slm. Zona alta è anche il complesso dell' ospedale. 
Le acque del Senio, del Santerno sono tutte arrivate da Sud, Sud Ovest (Felisio circa) proseguendo verso Nord e allagando nel loro percorso il centro storico poi zone più basse dove è defluita più lentamente, per esempio a Ovest si nota in rosso la depressione del parco dei Mulini e zone circostanti, poi trovando altre zone basse come l'area Corelli ,Gramsci, Mentana Nord , le vie a Nord di via Acquacalda come Via Reni, Pulicari, etc... Le zone a Est mediamente leggermente un po' più alte di quelle Ovest e Nord e non direttamente sul percorso del flusso hanno subito allagamenti un po' meno importanti, però sono state interessate dalle acque fuoriuscite per il sovraccarico di un canale scolante che pure aveva intercettato acque fluviali, vicino al palazzetto. Infine nella mappa si osserva a Nord in rosso scuro la profonda depressione del lago dell' ex fornace Gattelli, che forse funziona un po' da bacino di laminazione per le acque che transitano nelle vicinanze.  
 Ho voluto esplorare anche Bagnacavallo, colpita 2 volte dall'alluvione nel giro di 2 settimane, si nota bene che il centro storico si eleva molto chiaramente rispetto alle zone circostanti (si pensi per esempio alla salita che dalla Via Bedeschi porta all' ex convento di San Francesco), in particolare la piazza principale è il punto più alto del paese. In entrambe le occasioni la parte più colpita è stata la zona a Est, quella più vicina alla rottura del Lamone ma anche la più bassa come altimetria.  
 Poi una rappresentazione , con colori meno dettagliati rispetto alla mappa di solo Lugo, dei Comuni dell Unione Bassa Romagna nel loro insieme. Si nota molto chiaramente che il territorio digrada da Sud verso Nord e si osserva in effetti la depressione nella quale sorge Conselice che ha avuto così tante difficoltà nel fare defluire le acque. La mappa è zoomabile per verificare dettagli di ciascun Comune e mostra l'altezza puntuale passando il mouse.  
 Infine ecco l'altitudine, sempre con una minore scala di colori semplificata, del territorio comunale di Ravenna, si capisce bene lo sforzo messo in campo per evitare che le acque entrassero in centro città da Ovest. Sarebbe stato un grosso problema considerando che i livelli altimetrici della città sono veramente bassi, spesso sotto il livello del mare. Un curiosità, la parte più alta del centro si trova nei pressi di Piazza Caduti. La mappa è zoomabile per verificare dettagli delle zone e mostra l'altezza puntuale passando il mouse.  
 Grazie a Andrea Borruso di OnData e Maurizio Napolitato di FBK per il vosto aiuto!

domenica 10 maggio 2020

La mortalità nei Comuni italiani e in Bassa Romagna durante l'emergenza Corona virus

Recentemente ISTAT ha rilasciato i primi dati 2020 sulla mortalità nei Comuni italiani, cioè i dati da 'anagrafe' dei decessi. E' stato un dato molto atteso perché si sapeva avrebbe fornito una  prima visione abbastanza 'certa' degli effetti avuti dalla diffusione dell'epidemia  ; un tassello in più per capirne l'impatto e per capire se le assunzioni fatte sull'entità del contagio a livello territoriale erano corrette.
Infatti questi dati sono stati integrati nel rapporto dell' Istituto superiore di sanità e collegati a quelli di diffusione dell'epidemia al fine di dare una prima descrizione accurata del fenomeno. E' una lettura che consiglio , e che serve per capire la visualizzazione dei dati che ho creato.

A me interessava avere una visione di insieme dell' incremento di mortalità nei Comuni ma anche la possibilità di potere entrare nel dettaglio di ogni territorio , per tutti i Comuni per i quali il dato è disponibile (circa il 90%) , cosa che non sono riuscito a trovare in giro.
I dati che ho preso in considerazione sono quelli di variazione % di mortalità nel periodo Marzo Aprile 2020 confrontato con lo stesso periodo degli anni 2015-2019 (per alcuni comuni il periodo di rilevazione è 01/03 - 15/04, per altri solo 01/03 - 31/03)
Per questo ho generato una mappa esplorabile a livello territoriale e una 'classifica' dei Comuni per evidenziare quali sono quelli dove l'incremento è stato maggiore. 

L'istogramma , mostra una classifica dei Comuni per variazione % di mortalità , si nota subito che i Comuni della provincia di Bergamo (in blu) sono in testa , ma in generale molte province lombarde e del nord Italia sono ai primi posti. Aumenti di mortalità fino al 3900%. Al di fuori dei focolai più accesi di COVID19 però vi sono zone dove la mortalità è rimasta invariata o addirittura diminuita , quindi la variabilità è molto alta e ha senso esplorare l'istogramma utilizzando i filtri per Regione e per Provincia per avere una visione più chiara (deselzionare 'Tutti' poi selezionare solo la regione o provincia di interesse). Si può inoltre utilizzare il filtro 'Nr. di decessi 2020 nel periodo'  scorrendo a destra lo slider dallo 0 per escludere dalla visualizzazione i Comuni più piccoli (dove il numero di morti è dell'ordine delle unità o decine) e confrontare così le città più grandi; mettendo per esempio lo slider a 500 si può vedere un aumento di mortalità del 355 % del Comune di Bergamo e una diminuzione del 10% del Comune di Roma.
Una osservazione importante da fare, quando si confrontano queste variazioni di mortalità tra Comuni distanti tra loro, è che il dato considera un periodo temporale 'limitato' e che intercetta in punti diversi la curva epidemica per ciascun Comune, perché ovviamente l'epidemia non si è diffusa nello stesso momento in modo uguale ovunque.
Scorrendo il mouse sulle barre dell'istogramma si può vedere anche il dettaglio di variazione %  di decessi per sesso, faccio notare che la base di dati ISTAT, in alcuni casi , omette la percentuale di decessi maschili o femminili (per esempio Comune di Grandosso), pur riportando il totale.

Venendo alla mappa essa mostra in verde i Comuni dove la mortalità 2020 è diminuita  e in gradazioni di rosso dove è aumentata. Di nuovo diciamo che le cose salienti a livello nazionale, che sono state evidenziate in mappa già da diverse testate  , sono la mortalità decisamente aumentata nelle aree intorno a Bergamo e nei focolai del lodigiano oltre che la variazione di mortalità bassa al Sud. A mio avviso è interessante anche individuare i focolai rossi isolati in mezzo ad aree perlopiù verdi.  Si notano inoltre i buchi dei Comuni per i quali non è stato rilevato il dato.  
Anche in questo caso ha senso entrare nel dettaglio utilizzando i filtri per regione o per provincia e lo zoom per avere una visualizzazione più chiara e colori più marcati che non risentano della grandissima variabilità a livello nazionale.



Venendo alla Bassa Romagna dopo avere filtrato per la Provincia di Ravenna e zoomato la mappa sul territorio, si osserva che in provincia la mortalità è molto aumentata nel Comune i Solarolo, in Bassa Romagna in particolare Bagnara e Massa Lombarda hanno gli aumenti più significativi, mentre a Cotignola e Sant'Agata la mortalità è diminuita. Manca il dato di Bagnacavallo e Alfonsine. Ecco un estratto della visualizzazione :Variazione mortalità 2020 Ravenna





venerdì 22 marzo 2019

Corso di ETL con Pentaho Data Integration

Condivido i materiali del corso per Data Analyst post-laurea che ho tenuto presso Fidia di Trento
http://www.fidiaweb.net/corso-post-laurea-data-analyst-dal-dato-allinnovazione/.


https://commons.wikimedia.org/wiki/File:KrisangelChap2-ETL.png



Il corso ha avuto un taglio pratico e il testo guida sul quale abbiamo lavorato è una raccolta di ricette per i problemi comuni che si incontrano quando si raccolgono dati da fonti eterogenee, un modo per imparare facendo. Pentaho Data Integration Cookbook 2nd ed. è acquistabile qui : https://www.packtpub.com/big-data-and-business-intelligence/pentaho-data-integration-cookbook-second-edition

Durante il corso ho introdotto alcuni argomenti teorici, per qualche argomento mi sono aiutato con le slide che condivido qui :

Datawarehouse basics : https://docs.google.com/presentation/d/1W-G0XuGWFPTMY2df7liM0o-GM50jr_oKqrkcif_tPYQ/edit?usp=sharing

ETL basics : https://docs.google.com/presentation/d/1JwPFVPJGVPJiQYmKAMOwitkFbYcW-Uq9IOZykirRYMo/edit?usp=sharing

Java basics : https://drive.google.com/open?id=1KRUWN9DKXiCoyZYIIPJ-zO_mRPKGrhMd9DdsLtcT07E

Web services : https://drive.google.com/open?id=1FvbB5xFtj9Au9qYmu_pygZJuRB6ewfplu9DWzfIJGkk

Alcune altre fonti utilizzate durante il corso :
https://www.w3schools.com/
https://help.pentaho.com/Documentation/7.1


Il programma completo del corso :
https://drive.google.com/open?id=1iYjeUa1qrEqqP2aaw93azEWlbe6FaNSd

giovedì 25 gennaio 2018

Open data e turismo seconda edizione

Pubblico la nuova edizione delle slide che ho mostrato per la lezione tenuta presso la Fondazione Universitaria San Pellegrino di Misano nell'ambito del corso organizzato dalla Scuola Superiore "Maurizio Panti" di Cattolica. Nel corso della lezione sono state effetttuate alcune esercitazioni pratiche di elaborazione e visualizzazione di open data relativi al turismo scaricati dal portale open data del Comune di Ravenna e dal portale Istat.
https://commons.wikimedia.org/wiki/Category:Tourism


lunedì 19 giugno 2017

ETL per portali open data

Pubblico le slide che ho utilizzato per la lezione tenuta presso la Open Data Summer School tenutasi a Ravenna nella settimana 12-16 Giugno.
L'argomento trattato sono gli strumenti ETL (Extract Tansform Load) e il loro uso per alimentare portali open data. In particolare il focus è posto sulle fasi di harvesting, data validation e upload. Sono portati alcuni casi d'uso di organizzazioni che hanno usato lo strumento ETL Pentaho Data Integration per alimentare i propri portali open data.



sabato 6 maggio 2017

Open data per il turismo

https://it.wikipedia.org/wiki/Segnali_di_indicazione_nella_segnaletica_verticale_italiana#/media/File:Italian_traffic_signs_-_segnali_turistici.svgPubblico le slide che ho mostrato per la lezione tenuta presso la Fondazione Universitaria San Pellegrino di Misano nell'ambito del corso organizzato dalla Scuola Superiore "Maurizio Panti" di Cattolica.









Crediti immagine 

sabato 18 marzo 2017

domenica 1 gennaio 2017

Il nuovo #FOIA e come fare richieste di accesso ai dati

Dal 23 Dicembre 2016 è entrato in vigore il cosiddetto #FOIA (Freedom Of Information Act) italiano.
L'obiettivo della legge è quello di facilitare la trasparenza dell'azione degli enti pubblici attraverso un più facile accesso alle informazioni detenute dalla pubblica amministrazione (es. da Enti Locali, Enti Centrali, Ordini, Società partecipate....).
La norma introduce il concetto di accesso generalizzato che va ad affiancarsi all'accesso civico e all'accesso agli atti.
Esistono linee guida dell'ANAC (Autorità Nazionale Anti Corruzione) in proposito che spiegano bene l'ambito di applicazione, le limitazioni, le modalità e i soggetti interessati.



La sostanza è che dovrebbe ora essere più facile ottenere informazioni e dati che appartengono alla collettività. Le richieste di dati non devono infatti essere motivate da specifici scopi e l'amministrazione ha un obbligo di risposta.
Potrebbe essere una buona occasione per fare in modo, per esempio, che vengano rilasciati più dati sui portali opendata di interesse pubblico.

Ma come si può fare una richiesta di accesso generalizzato ai dati? Per esempio in Bassa Romagna? o a Ravenna?
I siti dei Comuni della Bassa Romagna e di Ravenna hanno tutti una pagina relativa all'accesso civico, con i contatti per effettuare la richiesta, è presumibile che essi valgano anche per fare richieste di accesso generalizzato. Li elenco in coda a questo post.
Per emettere una richiesta di accesso si può anche utilizzare l'utile servizio Chiedi! messo in piedi dall'ONG Diritto di Sapere. Il servizio rende pubblica la richiesta che si fa all'amministrazione e rende pubblica anche la risposta, in questo modo vi è un controllo più generalizzato e si aiuta a non ripetere più volte la stessa richiesta da parte di persone diverse sollevando la PA dal dovere rispondere ripetutamente (diventa una sorta di FAQ di richieste di accesso). A questa pagina si possono vedere un po' di esempi delle richieste già fatte : https://chiedi.dirittodisapere.it/list/all

La normativa è appena nata ed è ancora da capire la reale efficacia dello strumento, occorre che cittadini e PA si 'allenino' un po' su questa nuova forma di interazione. Certo le PA che abbiano già abitudine a pubblicare dati (aperti e non) e abbiano revisionato i loro processi per farlo , potrebbero essere più facilitate nell'adempiere ai nuovi obblighi. In ogni modo mentre in Italia il #FOIA è appena partito, in altri luoghi già si è passati a discutere di come una buona politica di #opendata può rendere inutile la normativa #FOIA (rendendo di fatto inutili le richieste di accesso ai dati, visto che i dati sono già pubblicati o la loro pubblicazione è già stata richiesta in un maturo processo di confronto con la società civile) : http://www.yalelawjournal.org/forum/is-open-data-the-death-of-foia

Pagine dei Comuni per l'accesso civico

Comune di Ravenna : http://www.comune.ra.it/Amministrazione-Trasparente/Altri-contenuti-Accesso-civico2

Comune di Lugo : http://www.comune.lugo.ra.it/Comune/Amministrazione-trasparente/Altri-contenuti/Accesso-Civico

Comune di Bagnacavallo : http://www.comune.bagnacavallo.ra.it/Comune/Amministrazione-Trasparente/Altri-contenuti/Accesso-civico

Comune di Alfonsine : http://www.comune.alfonsine.ra.it/Comune/Amministrazione-Trasparente/Altri-contenuti/Accesso-civico

Comune di Fusignano : http://www.comune.fusignano.ra.it/Il-Comune/Amministrazione-Trasparente/Altri-contenuti/Accesso-civico

Comune di Conselice : http://www.comune.conselice.ra.it/Comune/Amministrazione-trasparente/Altri-contenuti/Accesso-civico

Comune di Cotignola : http://www.comune.cotignola.ra.it/Comune/Amministrazione-trasparente/Altri-contenuti/Accesso-civico

Comune di Massa Lombarda : http://www.comune.massalombarda.ra.it/Comune/Amministrazione-Trasparente/Altri-contenuti/Accesso-civico

Comune di Bagnara di Romagna : http://www.comune.bagnaradiromagna.ra.it/Comune/Amministrazione-trasparente/Altri-contenuti/Accesso-civico

Comune di Sant'Agata sul Santerno : http://www.comune.santagatasulsanterno.ra.it/Comune/Amministrazione-Trasparente/Altri-contenuti/Accesso-civico

sabato 10 dicembre 2016

I confini dei Comuni italiani al 01/07/2016

Questo post è una continuazione di questo precedente post del 2014 in cui avevo pubblicato il dataset dei confini comunali aggiornato con le fusioni di Comuni avvenute a quella data.

Da allora ISTAT ha meglio curato la pubblicazione dei confini amministrativi provvedendo a mettere online diversi dataset aggiornati per anno in questa pagina.
I confini più aggiornati sono quelli al 2015, ma essi non tengono conto delle ulteriori fusioni di Comuni avvenute nel corso del 2016. Tutta la storia delle fusioni di Comuni , oltre che di altre variazioni amministrative , è rilevabile nei dataset presenti a questa pagina.

L'elenco più attuale di tutti i Comuni italiani è questo dataset aggiornato al 01/07/2016.
Da tale dataset sono partito,unito ai confini dettagliati dei Comuni al 2015 e al dataset della storia delle fusioni, per produrre il file dei confini comunali aggiornato al 01/07/2016 :

Limiti_20160701_WGS84_UTM32N_CC_BY_SA.zip

Il dataset è reso disponibile tra le risorse dell'associazione OnData , dal gruppo di discussione fb dei Dataninja  è nata l'esigenza di avere questo dato aggiornato.





domenica 13 novembre 2016

Le piste ciclabili della Bassa Romagna in open data

[Questo articolo è stato ripresto su Wind Transparency Forum e su Labsus]

Credo che la presenza diffusa di piste ciclabili adeguatamente segnalate e protette e la loro fruibilità sia un indice importante del benessere sostenibile di un territorio, la presenza poi di open data che descrivano i percorsi ciclabili è un segnale di attenzione al problema e un modo per rendere più 'smart' il territorio.
Nella Bassa Romagna le ciclabili non mancano, mancano però dati aperti che le descrivano e possano essere riutilizzati, ho quindi deciso di creare da me l'archivio open data delle piste ciclabili arricchendo la mappatura su OpenStreetMap .
Mettere a disposizione su OpenStreetMap la rete di ciclabili significa dotare il territorio di un mezzo utile alla mobilità sostenibile e anche al turismo ciclistico in costante crescita. Si pensi per esempio alle applicazioni di navigazione che aiutano ad esplorare il territorio in bici.
Per farlo sono partito dalle poche informazioni presenti sui siti comunali e chiedendo agli URP qualche aiuto, l'informazione più dettagliata risulta questa mappa che risale al 2009 che è stata la base della ricerca, ho poi completato i dati per quanto mi è stato possibile facendo sopralluoghi in bici e in auto; nel giro di un po' di settimane ho terminato la mappatura cercando di essere più dettagliato possibile.
E' utile dire che mi sono limitato alle piste ciclabili segnalate dalla apposita segnaletica verticale, non ho incluso percorsi o itinerari promiscui bici-auto oppure sterrati etc....
Quasi tutte le ciclabili della Bassa Romagna sono promiscue , quindi destinate sia a ciclisti che pedoni, segnalate come segue:

domenica 7 agosto 2016

Una prova sul sistema di segnalazioni di degrado urbano


Da qualche tempo è stato lanciato un sistema di raccolta di segnalazioni di degrado urbano per i Comuni della Bassa Romagna. Ritengo che sia una iniziativa potenzialmente molto utile per stimolare la cittadinanza attiva e anche per facilitare il lavoro dell'amministrazione.

Ho voluto fare una prova del sistema per capirne l'utilizzo e l'efficacia, inserendo qualche segnalazione.

Micro tutorial

Ho utilizzato l'applicazione per smartphone Android che si può scaricare qui.
L'applicazione è di facile utilizzo e consente di inviare segnalazioni sia in forma anonima che autenticata; questa ultima modalità consente di monitorare lo stato delle proprie segnalazioni e il loro progresso. L'autenticazione è possibile attraverso l'account di Google associato allo smartphone andando sul Menù -> Profilo.
Una volta autenticati è possibile inserire una segnalazione in modo molto semplice , in particolare per determinare la posizione geografica dove inserirla si possono usare i 3 metodi mostrati nella figura che segue
1 - Attraverso il GPS del telefono, che deve essere attivo
2 - Digitando e cercando l'indirizzo
3 - Toccando la mappa nel punto deisderato

Il risultato è sempre l'apparizione di un punto rosso da cui è possibile poi fornire i dettagli della segnalazione ('Inserisci qui una segnalazione').

Il punto di colore verde che si vede in figura è una segnalazione 'risolta', essendomi autenticato infatti riesco a vedere sulla mappa le segnalazioni che ho fatto , colorate in base al loro stato.

domenica 10 luglio 2016

How to map the photos of your city like OldNYC does

Some months ago I was looking for a way to render on a map the historical photos of Ravenna collected in this Facebook Page. I stumbled upon the OldNYC project and thought it was perfect for my needs! Therefore I forked the project on Github, worked on it and this is the result : www.oldra.it.
In this tutorial which is intended for programmers, I’ll try to explain which are the main steps for reusing the code of OldNYC (written by @danvdk) , and setup the photo map of your city.






At this moment my system has a backend hosted in a Ubuntu virtual machine on my PC and a frontend (a static site) hosted in the cloud. In order to collect the newer posts of the Facebook Page the backend harvests from Facebook and re-generates once a week all of the static pages of the static site and sends them to the cloud to be served by www.oldra.it.

The system

The developement environment and the backend run on a Ubuntu Server 16.04 virtual machine.
  1. First of all I forked the 2 Github repos https://github.com/danvk/oldnyc for the backend and https://github.com/oldnyc/oldnyc.github.io for the static site, then I cloned them on my server with the git clone command (git clone git://github.com/danvk/oldnyc.git git clone git://github.com/danvk/oldnyc.github.io.git). After that my home directory looks like that :


2. I installed python2.7 (do not install python 3) :  apt-get install python2.7
3. I installed virtualenv : apt-get install virtualenv
4. Then I followed the instructions written by @danvdk to setup the environment :
cd oldnyc
virtualenv env
source env/bin/activate
pip install -r requirements.txt
     I did not use Google App Engine therefore did not run ./develop.py
     I installed the numpy package : pip install numpy
5. Created some directories necessary for the backend to work :
   mkdir oldnyc/gecocache
   mkdir oldnyc/images
   mkdir oldnyc/thumbnails
6. Fot testing purposes Installed an Apache web server : apt-get install apache2
   Configured it to listen on localhost and serve the content of the directory oldnyc.github.io ,
which is the static site that will be hosted in the cloud.

mercoledì 29 giugno 2016

OldRA, una mappa di foto storiche della città

Nel 2015 mi sono imbattuto nella pagina Facebook C'era una volta Ravenna che raccoglie foto storiche della città da inizio secolo ai giorni nostri. Mi è subito sembrato che fosse un modo molto bello per portare ad un pubblico ampio un po' di conoscenza sulla propria città, tanto che ho subito voluto dare un contributo inviando al curatore della pagina alcune foto di famiglia fatte a Marina di Ravenna nel 1977.

La schermata del sito www.oldra.it


Ho navigato in lungo e in largo nelle foto d'epoca pubblicate e ho pensato che sarebbe stato utile avere un modo alternativo per sfogliare questo bell'album di foto che parlano della città, in particolare con una mappa.
Ho quindi cercato progetti che avessero potuto aiutarmi nello scopo e mi sono imbattuto nel progetto OldNYC. Si tratta del progetto di @danvdk, che ha voluto mappare le foto storiche di New York conservate nella Biblioteca Pubblica di New York City.
Il software di Dan oltre a fare il geocoding delle foto estrae pure la descrizione , tramite OCR, dalle foto stesse; prevedendo quindi anche il feedback degli utenti per aiutare a correggere imprecisioni nella raccolta dati. Recentemente è stata rilasciata anche l'applicazione per IOS per navigare la mappa da dispositivi mobili e che propone in modalità push le foto in base al luogo di NY in cui ci si trova, fornendo quindi, per esempio, una nuova esperienza ai turisti.
Mi è sembrato che il software di Dan, condiviso su GitHub, fosse perfetto quindi l'ho adattato ai miei scopi ed ecco il risultato : www.oldra.it.  In particolare il mio sistema fa 3 cose principali :
- Interroga la pagina Facebook C'era una volta Ravenna e ne legge i post attraverso le API di Facebbok.
- Assegna un rating di popolarità alle foto in base al conteggio di condivisioni (sul sito sono nel riquadro Popular Photos)
- Effettua il geocoding attraverso le API di Google (già utilizzate in OldNYC) estraendo l'indirizzo dalla descrizione della foto. In questo è stato molto utile che il Comune di Ravenna abbia pubblicato il dataset in open data dello stradario della città.
- Crea la mappa piazzando le foto in base ai risultati del geocoding. Le foto sono dei link alla pagina C'era una volta Ravenna.

mercoledì 11 maggio 2016

Spunti di riflessione sui temi dell’Agenda Digitale ER

La regione Emilia Romagna ha intrapreso un percorso partecipativo di redazione dell'agenda digitale regionale. Faccio riferimento ai contenuti esposti in questo post e di cui si parlerà in un incontro organizzato per il 12 Maggio ,lanciando qualche idea 'pratica' che magari fa già parte della strategia regionale e qualche suggestione che non ha la pretesa di essere una teoria completa e solida.
By darwin Bell from San Francisco, USA - digitalUploaded by SunOfErat, CC BY 2.0, https://commons.wikimedia.org/w/index.php?curid=30988177

sabato 5 marzo 2016

lunedì 4 gennaio 2016

Quanto ci costa il dissesto idrogeologico

L'italia è un paese fragile dal punto di vista del rischio idrogeologico sia per la naturale morfologia del territorio che per cause derivate dall'attività umana.
Tra queste ultime un ruolo importante è giocato dal consumo di suolo, "il concetto di consumo di suolo deve, quindi, essere definito come una variazione da una copertura non artificiale (suolo non consumato) a una copertura artificiale del suolo (suolo consumato)", fenomeno fotografato con completezza nell'ultimo rapporto ISPRA.

lunedì 21 settembre 2015

Come installare il proprio server GPS

I dati georeferenziati rappresentano una delle fonti più importanti di conoscenza nel flusso di informazioni che scorre in rete.
I dati sulla posizione in tempo reale di persone, mezzi, dispositivi, oggetti sono anche la base sulla quale si possono costruire servizi utili, a volte indispensabili, per le comunità.

Per questo mi è venuta la curiosità di installare e provare un server GPS. Si tratta di sistema in grado di tracciare la posizione, in tempo reale, di qualsiasi dispositivo possa comunicare con esso, nel mio caso un normalissimo smartphone.

Ho scelto di provare OpenGTS, un server opensource scaricabile e installabile liberamente e che prevede anche una versione Enterprise a pagamento dotata di diverse features aggiuntive, ritengo però che la versione base sia già sufficiente per molti scopi.
Per la parte client ho installato sul telefonino CellTracGTS/Free per Android.

Ecco la traccia di un giro di prova che ho fatto per testare il sistema :

Un altro giro visualizzato su Google Earth :


In questo post spiegherò quali sono i passi da compiere per eseguire l'installazione base, ma per i più pigri metto a disposizione il server già configurato e funzionante come macchina virtuale VMWare ;) Fedora22-64bit-OpenGTS2.5.9.zip .

sabato 15 agosto 2015

Lugo digitale

Come membro dell'associazione Digital Champions (iniziativa europea che ha lo scopo di diffondere e creare cultura digitale), che rappresento per la città di Lugo, ho partecipato ad un sondaggio promosso dall'associazione che vorrebbe fotografare lo stato del digitale sul territorio nazionale e i cui risultati verranno pubblicati in autunno.
Condivido le risposte che ho fornito (in giallo) e le motivazioni relative al Comune di Lugo per raccogliere eventuali commenti e integrazioni alle informazioni in mio possesso.

sabato 13 giugno 2015

Gli appalti 2014 della regione Emilia Romagna visualizzati

In occasione dell'hackathon organizzata dalla Regione Emilia Romagna per lavorare sui dati rilasciati sull'area Amministrazione Trasparente abbiamo lavorato sui dati di appalti e contratti assegnati dalla regione nel 2014.
I dataset di orgine sono stati 2 : Bandi di gara e contratti e Società partecipate .



domenica 3 maggio 2015

Le basi di dati della pubblica amministrazione

Da qualche mese a questa parte AGID ha messo a disposizione il catalogo che intende censire tutte le basi di dati delle pubbliche amministrazioni italiane.

Un simile censimento è il primo passo necessario per valorizzare il patrimonio informativo pubblico, visto che i dati in esso contenuti sono un asset strategico fondamentale per lo sviluppo del paese. Da esso si potrebbe partire per fare un lavoro di unificazione e omogeneizzazione di basi di dati e applicazioni (attualmente molto diversi anche se usati per gli stesso processi....) nonchè a una definizione delle ontologie necessarie a descrivere la conoscenza della PA.

Tutto questo si tradurrebbe in enormi vantaggi per cittadini e imprese che potrebbero così usufruire di servizi gestiti e offerti in modo uniforme e interoperabile in tutto il paese.


Durante il recente raduno #SOD15 abbiamo cominciato ad analizzare tale catalogo per capirne il contenuto e cercare di definirne una ontologia. Ci siamo però resi conto che la base di dati era molto più sporca del previsto e quindi poco usabile. Per questo ho cercato di continuare il lavoro di pulizia e mettere insieme qualche visualizzazione che aiutasse a chiarire i contenuti del catalogo.

Sono partito dal dump SQL fornito da AGID ricreando il database Postgres di partenza e ho creato una fact-table esportabile in formato csv (questo perchè,come constatato durante l'hackathon,il csv presente sul sito di AGID ha grossi problemi di qualità dei dati).
Il risultato è un csv che ho sottoposto a pulizia attraverso Google Refine cercando di uniformare le varie colonne. Ho notato che un parziale lavoro di pulizia era già stato compiuto da AGID poichè esistono colonne con suffisso "_new" più 'pulite' e su tali ho lavorato. Qui condivido i file dei vari step e anche il progetto Refine nel caso qualcuno volesse continuare nel lavoro di pulizia ancora necessario : https://drive.google.com/folderview?id=0B285aRfZDUKiflpkRmI3ZWs0WmxlekE5NU9wVFBKWEtCSGJwSUxFTkhyaUwtbS1TMF8xYm8&usp=sharing

Infine ho creato una visualizzazione interattiva per capire la distribuzione del numero di basi di dati in base a un po' di parametri che mi sembrano interessanti e anche in modo georiferito sul territorio nazionale.
Nella visualizzazione di dettaglio ho cercato di mostrare l'elenco delle singole basi di dati per area geografica. La visualizzazione mi ha permesso di constatare, per esempio, che purtroppo ad oggi l' Unione dei Comuni della Bassa Romagna risulta inadempiente nella comunicazione delle proprie basi di dati, come circa il 30% delle amministrazioni pubbliche (http://www.agid.gov.it/agenda-digitale/open-data/basi-dati-pa/amministrazioni-inadempienti).

lunedì 30 marzo 2015

domenica 15 febbraio 2015

Alluvione in Romagna, una storymap

Ho raccolto un po' di foto e video relativi all'alluvione del 6-7 Febbraio in una storymap per cercare di dare un quadro d'insieme dell' evento sfortunato.

Una storymap consente di unire riferimenti geografici e materiale multimediale per raccontare una storia o descrivere eventi. Esistono diversi strumenti per costruire simili mappe, io ho utilizzato un servizio messo a disposizione da KnightLab basato sulla libreria Storymap.js appositamente sviluppata.

In questo caso la storymap funziona da contenitore per le immagini pubbliche che ho raccolto prevalentemente da social network , i riferimenti geografici (vie, quartieri) sono spesso approssimativi per mancanza di informazioni dettagliate; in ogni caso il risultato è un riassunto interessante di cosa è accaduto. Clicca qui per vedere la storia a schermo intero

venerdì 16 gennaio 2015

Scraping per genitori indaffarati

E' la prima volta che scopro il mondo dei compiti scolastici da genitore. Alla scuola primaria i compiti per casa e le comunicazioni scuola-famiglia non hanno cadenza regolare, in particolare per gli alunni che frequentano il 'tempo pieno'.  Inoltre i bambini non sempre ricordano che sia stato assegnato loro un compito (forse sto generalizzando troppo, nel mio caso comunque è così ;) ). Capita quindi che  ci si possa dimenticare di svolgere i compiti a casa...

Per fortuna le insegnanti di mia figlia hanno avuto la bella idea di pubblicare su un blog i compiti assegnati (occorrerebbe  che fosse cosí per  tutte le sezioni), cosa che aiuta molto a non perdersi informazioni :http://maestravventura.altervista.org/.
Però , siccome i compiti a casa sono per natura antipatici e perciò difficili da 'ricordare' ;) , ho pensato che sarebbe stato ancora meglio se mi fossero arrivati via mail e solo nel caso ve  ne fossero, senza costringermi a  verificare periodicamente il blog delle insegnanti. In figura il corpo della mail che ho creato:


Spiegherò  brevemente come ho ottenuto il risultato sperando di essere imitato da altri genitori troppo distratti per ricordarsi sempre dei compiti, anche perché si tratta di un hack veramente semplice.
Come prima cosa ho catturato gli aggiornamenti delle 3 pagine web  che mi interessavano : compiti di italiano, compiti di matematica, comunicazioni. Per farlo ho utilizzato un servizio chiamato DeltaFeed che trasforma gli aggiornamenti di una pagina web in un feed RSS,  perciò ogni volta che la pagina o una sezione di essa  viene modificata esso genera un post RSS. In particolare ho creato un feed per ogni pagina, selezioando attraverso i selettori css esattamente la parte di pagina che volevo monitorare. I 3 feed che sono nati sono i seguenti : compiti di italiano RSS , compiti di matematica RSS, comunicazioni RSS. Il servizio DeltaFeed consente anche di ricevere i propri feed via mail, perciò per i più pigri l'hack può fermarsi qui, avendo già ottenuto il risultato sperato potendo disporre nella propria casella di una mail di aggiornamento per ogni feed.
A me è sembrato giusto potere mettere a disposizione gli aggiornamenti via mail anche agli altri genitori della sezione perciò ho creato una mailling list usando MailChimp. Il servizio consente, tra le altre cose, di inviare ai sottoscrittori mail generate da RSS , esattamente ciò che serviva a me. Dunque mi è bastato creare una 3 campagne rss-driven e collegarle alla mailing list e curare un po' il layout da dare ai messaggi.
Il risultato finale è una mail che arriva ai sottoscrittori nel primo pomeriggio se e solo se vi sono nuove comunicazioni o compiti assegnati: ecco un esempio.
Il sistema funziona discretamente, anche se talvolta spedisce messaggi spuri dovuti ad aggiornamenti fatti e poi corretti sul sito originale.
In ogni caso penso che ci si possa accontentare , nell'attesa che la scuola italiana si doti di meccanismi di comunicazione più evoluti da mettere a disposizione degli insegnanti.
Per iscriversi alla maililng list dei compiti/comunicazioni della 1a C basta compilare il form a questo link.

domenica 28 dicembre 2014

Come riusare la mappa di ConfiscatiBene


Da un po' di tempo cercavo uno strumento che consentisse di mettere in piedi una mappa interattiva di rappresentazione di dati con un po' di caratteristiche 'avanzate' già pronte e che non richiedesse pesante programmazione.
Per fortuna la comunità opendatara è un vulcano di risorse :)
La mappa costruita dagli amici del progetto ConfiscatiBene è uno strumento di esplorazione dei dati veramente ben costruito e che mi ha colpito fin da subito per la semplicità di utilizzo. In più, il mitico Dataninja, Alessio Cimarelli è riuscito nell'intento di rendere facilmente riusabile la mappa facendone uno strumento parametrizzabile : https://github.com/Dataninja/advanced-mapping-tool.


Mappa fallimenti

Per sperimentare il tool dei Dataninja ho usato un dataset che ho generato facendo un po' di scraping in rete, il dataset contiene un insieme di imprese italiane fallite dal 2010 al 2014 con dettaglio per Comune; sulla scarsità di dati anagrafici di impresa liberamente accessibili occorrerà poi fare un post apposito :( . Facendo un confronto con i dati ufficiali sui fallimenti si nota comunque che la visualizzazione è sensata almeno per quel che riguarda il trend annuo di crescita e la grandezza relativa del numero di fallimenti a livello territoriale.
Come prima cosa ho forkato il progetto su GitHub https://github.com/eccoilmoro/advanced-mapping-tool/ e ho letto le istruzioni di parametrizzazione le quali spiegano come agire sul file di configurazione (dataninja-advanced-mapping-tool.conf.js) per crearsi la propria mappa.
Spulciando tra le issues del progetto ho notato che Alessio ha pure inserito una cartella demo contenente già dati e parametrizzazioni , la demo riguarda proprio i dati di ConfiscatiBene e io l'ho usata come punto di partenza.
La cartella 'fallimenti'
Ecco i passi successivi :
1. Nel branch gh-pages ho quindi duplicato la cartella 'confiscatibene' e rinominata in fallimenti
2. Ho lasciato inalterata la cartella geo che contiene i confini territoriali regionali provinciali, comunali mostrati nella mappa
3. Ho caricato nella cartella 'data' i 3 dataset contenenti il numero di fallimenti per regione,provincia,comune. Ciascun dataset deve avere una colonna chiave che gli permetta di fare join con i dati dei confini territoriali. Ho usato il formato json ma lo strumento consente anche il formato csv.
4. Ho rinominato il file confiscatibene.conf.js e confiscatibene.custom.css in fallimenti.conf.js e fallimenti.custom.css e modificato index.html per farlo puntare a tali files.
5. Ho configurato fallimenti.conf.js impostando l'origine dei dati, il tipo di visualizzazione tematica (per ora è configurabile solo choropleth) e alcune descrizioni.

Ecco il risultato finale (link per schermo intero) :

   

sabato 23 agosto 2014

Come mappare il proprio territorio: una bici, uno smartphone, Mapillary.

Mapillary è un servizio che consente a chiunque di creare mappature per immagini alla Google Street View per mezzo di uno smartphone. Lo scopo è quello di creare una mappatura crowdsourced del mondo con foto georeferenziate , sfruttando la conoscenza dei luoghi di coloro che meglio li conoscono, gli abitanti stessi.
A mio parere il servizio può rivelarsi utilissimo per mappare tutti i luoghi che non possono essere coperti dalla mappatura per immagni di Google, arrivando ad un livello di dettaglio notevole. Si potrebbe utilizzare per descrivere : 
- Piste ciclabili
- Aree pedonali
- Parchi
- Percorsi naturalistici (es. sentieri di montagna)
- Itinerari turistici
Avere a disposizione una descrizione per immagini georeferenziate  può aiutare molto nella valorizzazione del proprio territorio.

Per fare una prova ho mappato il percorso ciclabile della pineta e la diga foranea di Marina di Ravenna, aree non coperte da Google Street View.
L'applicazione per smartphone scatta sequenze di foto ogni 2 secondi (tempo regolabile a piacere) associando la foto alla posizione rilevata dal GPS, successivamente le carica sui sever di Mapillary eliminandole dal telefono.

Ecco come procedere per mappare con la bici e alcuni accorgimenti che suggerisco per evitare errori basandomi sulla mia esperienza :
  • Creare il proprio account su Mapillary
  • Scaricare l'applicazione per smartphone Android o per IPhone. Io ho utilizzato le impostazioni di base dell'applicazione, tranne che per il fatto che ho abilitato l'effetto sonoro dello scatto foto (importante se non si può guardare il display durante la marcia perchè in questo modo se non si ode più lo scatto ci si ferma a controllare).
  • Pianificare la propria uscita per la mattina presto se si intende visitare luoghi che potrebbero essere affollati durante il giorno. Evitare inoltre percorsi contro sole che potrebbero pregiuducare la qualità delle foto.
  • Verificare la risoluzione della fotocamera. Mapillary è in grado di gestire foto in alta risoluzione, sarebbe un peccato accorgersi alla fine della mappatura di avere scattato foto in bassa risoluzione. Io ho utilizzato la risoluzione di default del mio telefono Samsung S3 Neo (3264 x 1836).
  • Per fissare lo smartphone alla bicicletta ho utilizzato il supporto in foto, si adatta a tutte le bici, ha però l'inconveniente di non mostrare il display del telefono durante la marcia impedendo di controllare come si sta fotografando (io infatti ho scattato una intera sequenza di foto tutte non orizzontali senza accorgermenepoichè non ho fatto pause di controllo...) :


  • L'applicazione consuma molta batteria quindi se si intende stare fuori per molte ore (non è il caso del mio test) suggerisco di disattivare i servizi del telefono non necessari ed eventualmente dotarsi di una batteria supplementare come ad esempio quella in foto :
  • Verificare di avere sufficiente spazio di memoria sulla scheda SD del telefono in base a quante sequenze si intendono mappare.
  • Ecco la schermata che appare facendo partire l'applicazione sul telefono e scegliendo 'Take me to the camera' per entrare in modalità di mappatura :
  •  Prima di partire con il percorso fare una sequenza di prova (occorre scegliere lo modalità 'Driving' col tasto il alto a destra e pigiare il tasto di registrazione cerchio rosso) muovendosi per qualche metro per verificare l'orientamento della fotocamera e la qualità del segnale GPS, l'applicazione non scatta foto finchè il segnale GPS non è sufficientemente buono (finchè non è buono compare sullo schermo 'Waiting for better locaion fix'). Quando si vuole terminare la sequenza di prova occorre pigiare il tasto quadrato rosso di stop.
  • Iniziare la sequenza di cattura vera e propria (pigiando il tasto '+' per fare partire una nuova sequenza e poi il tasto di recording cerchio rosso) mantenendo una andatura non troppo veloce (nel mio caso mi sono mosso sui 10-15 KMh). Cercare di mantenere una traiettoria rettilinea ed evitare le buche (nel mio caso la sequenza della pineta contiene molte foto mosse a causa delle irregolarità del terreno). Se il terreno è molto irregolare occorre diminuire molto la velocità; eventualmente consiglio di sgonfiare un po' le gomme della bici per attenuare le vibrazioni.
  • Tenere d'occhio l'orientamento della fotocamera e del supporto che potrebbe muoversi durante la marcia. Fare qualche pausa per accertarsi che tutto sia ok.
  • Una volta finita la fase di cattura occorre verificare le foto finchè sono ancora sul telefono. Se si dispone di un editor di foto sul telefono si può intervenire per esempio sull'orientamento degli scatti (come avrei dovuto fare io per una delle sequenze della diga ....) o sull'oscuramento di volti e targhe (ma quello lo si può fare anche a posteriori dopo avere caricato le foto sul sito).
  • Collegarsi ad una rete wi-fi. Una volta collegati l'applicazione comincia automaticamente a mandare le foto sul sito di Mapillary cancellandole contemporaneamente dal telefono.
  • Quando l'upload è finito occorre revisionare le foto sul sito Mapillary accedendovi col proprio account in 'My uploads', è importante oscurare i volti delle persone fotografate (blurring) durante il percorso nonchè le targhe delle auto e altri dati personali, eliminando inoltre gli scatti errati; le modifiche vengono prese in carico ed eseguite entro qualche giorno dallo staff Mapillary. Le foto che si mettono sul sito sono visibili da tutti e ridistribuibili ovunque!
  • Le modifiche alle foto relative alla privacy sono richiedibili da chiunque abbia un account, quindi se ci si accorge di essere stati fotografati e non oscurati si può richiedere l'oscuramento o l'eliminazione in prima persona.
  • Nel momento in cui scrivo molte delle modifiche alle mie sequenze non sono ancora state applicate alle foto quindi esistono ancora foto spurie e che visualizzano volti. Lo staff di Mapillary mi ha comunicato che presto sarà disponibile anche sul sito la funzionalità di rotazione delle foto.
Ecco di seguito i percorsi che ho mappato (link per schermo intero diga foranea, link per schermo intero pineta), di sicuro i prossimi risulteranno migliori!