Leggere, interrogare e trasformare file XML da riga di comando

Intro

Il comune di Palermo ha pubblicato i dati pubblici e aperti sulle elezioni comunali dell’11 giugno 2017 in formato XML, con uno schema descritto in questo file.

Qui sotto ad esempio la struttura di uno degli oltre 200 file pubblicati.

L’XML è uno dei formati classici di pubblicazione di dati aperti, ma non è un formato per tutti. Molti utenti infatti non sono in grado di esaminarli.
Per la sua natura è facilmente leggibile da un calcolatore e ci sono varie modalità per farlo.

E con un’utility specializzata (XMLStarlet) e con un piccolo comando come questo di sotto, è possibile trasformare questo file XML in una “piatta” tabella con tutti i dati sui voti dei candidati di una lista al consiglio comunale, per ogni sezione elettorale (40 candidati per 600 sezioni, quindi 24000 record).

xmlstarlet sel –net -t -m //SV/V0/V1 -v @NUMERO -o , \
-v @VOTIVALIDI_C1 -o ,  -v ../@NUMERO -o , \
-v ../../@NUMERO -n \
http://comunali2017.comune.palermo.it/SEZ_3_82053_L12.xml

 

Qui sotto lo vedete in azione:

I dati sui risultati delle liste elettorali hanno questa struttura:

<SV NUMERO=1 NOME=SEZIONE 1 NOMEBREVE=SEZ. 1 UBICAZIONE= NUM_ZONA= NUM_ZONA2= TOTVOT=540 TOTVOTM=255 TOTVOTF=285 FLZEROVOT=N ELETTORI=1112 ELETTORIM=556 ELETTORIF=556 CONFERMATO=S VOTIVALIDI_C0=54 VOTIVALIDI_C1=37 VCAS_C1=0″ VCNAS_C1=”0″ VOTI_SOLO_C1=”0″ VOTIVALIDI_C2=”0″ VCAS_C2=”0″ VCNAS_C2=”0″ VCNAS_TOT=”0″ VOTI_SOLO_C2=”0″ VOTI_NULLI_SOLO_C2=”0″ VOTI_NULLI=”0″ NULLE=”21″ BIANCHE=”8″ CONFCONS=”S” MAXVOTVAL=”9″>
        <V0 NUMERO=12 VOTIVALIDI_C0=54 TOT_VOTIVALIDI_C1=37 TOT_VOTISOLO_C1=0>
            <V1 NUMERO=1 VOTIVALIDI_C1=5 VOTISOLO_C1=0 VOTCONASS_C1=0 VOTCONNONASS_C1=0 CIFRAIND=59 TOT_VOTIVALIDI_C2=0 TOT_VOTISOLO_C2=0/>
            <V1 NUMERO=2 …/>
            <V1 NUMERO=3 …/>        
        </V0>
</SV>

 

SV è la sezione elettorale con il suo numero identificativo (e altri attributi), che contiene al suo interno i dati su V0 che rappresenta la lista (in questo caso la 12, quella del “Movimento 5 stelle”), che contiene al suo interno V1, ovvero i dati sui candidati al consiglio comunale. Con questa struttura gerarchica SV>V0>V1.

Il comando di sopra nel dettaglio:

  • sel --net -t -m, abilito la selezione (sel) su un file remoto (--net), impostando un template (-t) per “mappare” gli elementi che corrispondono (“matchano” -m) alla seguente query XPATH;
  • "//SV/V0/V1", i candidati al consiglio;
  • "@NUMERO", l’attributo con il numero identificativo del candidato;
  • -o ",", per inserire un separatore di testo;
  • -v "@VOTIVALIDI_C1", l’attributo con i voti validi del candidato;
  • -o ",", per inserire un separatore di testo;
  • -v "../@NUMERO", mi muovo verso l’alto nella gerarchia dell’XML di un gradino con .., quindi vado in V0 (la lista) e recupero l’identificativo numerico della lista;
  • -o ",", per inserire un separatore di testo;
  • -v "../../@NUMERO", mi muovo verso l’alto nella gerarchia dell’XML di due gradini con ../.., quindi vado in SV (il seggio) e recupero l’identificativo numerico del seggio;
  • -n, per inserire un’andata a capo per ogni risultato ottenuto;
  • http://…/SEZ_3_82053_L12.xml è l’URL del file XML.

In output nella shell avrò:

1,5,12,1
2,9,12,1
3,2,12,1
…,…,…,…

Ovvero

numeroCandidato voti numeroLista sezione
1 5 12 1
2 9 12 1
3 2 12 1

Creare dei file CSV con i dati per tutte le liste

Ho pensato che possa essere molto interessante fare un esempio più ricco e completo e creare uno script bash per:

  • scaricare tutti i file XML delle 18 liste;
  • estrarre da ognuno l’anagrafica dei candidati consiglieri;
  • estrarre da ognuno il numero di voti, per ogni sezione, di ogni candidato al consiglio;
  • fare il join – unire – le info sul numero di voti, con l’anagrafica dei candidati consiglieri, e creare un file CSV per ogni lista;
  • unire tutti i file CSV e produrre anche un unico file con il numero di voti di ogni candidato, per ogni lista, per ogni sezione.

Requisiti

Il prodotto finale è uno script BASH, quindi bisogna avere a disposizione un sistema compatibile con questo linguaggio (lo sono essenzialmente tutti).

Richiede tre utility:

  • l’immancabile cURL, per scaricare i file;
  • XMLStarlet per interrogare i file XML e trasformarli in file CSV;
  • csvkit per fare il join e il merge dei CSV scaricati.

Richiede una conoscenza di base (e/o la volontà/possibità di farserla) su:

  • XPATH, per estrarre i dati (per interrogare) i file XML;
  • la linea di comando, perché è un po’ il campo di gioco di queste modalità di accesso e modifica di file;
  • BASH, che è il linguaggio dello script finale;
  • aprire i file XML del comune con un buon editor di testo, guardarli un po’ e comprenderne la struttura.

Lo script

Lo script per intero è più in basso. A seguire un esploso delle varie parti che lo compongono.

La prima cosa che viene eseguita nello script è il download dei file delle liste. Queste sono 18 ed è comodo scaricarle con un ciclo for ... loop che lo fa 18 volte per noi.

for i in {1..18};
  do curl -s http://comunali2017.comune.palermo.it/SEZ_3_82053_L$i.xml > $i.xml;
done

 

Poi da ognuno dei 18 file XML vengono estratti i dati anagrafici e i dati per sezione, sempre con un ciclo for.
A ogni file viene aggiunta anche un’intestazione di colonne.

# scarico l’anagrafica di ogni candidato di ogni lista
for i in {1..18}; do xmlstarlet sel -t -m //C0/C1 -v @NUMERO -o , -v @NOME -o , -v ../@NUMERO -o , -v ../@NOME -n $i.xml > anagraficaLista_$i.txt; sed -i 1s/^/numeroCandidato,nomeCandidato,numeroLista,nomeLista\n/ anagraficaLista_$i.txt & done
 
# scarico i voti di ogni candidato di ogni lista per ogni sezione
for i in {1..18}; do xmlstarlet sel -t -m //SV/V0/V1 -v @NUMERO -o , -v @VOTIVALIDI_C1 -o ,  -v ../@NUMERO -o , -v ../../@NUMERO -n $i.xml > listaSezioni_$i.txt ; sed  -i 1s/^/numeroCandidato,voti,numeroLista,sezione\n/ listaSezioni_$i.txt & done

 

I file di anagrafica hanno questa struttura:

numeroCandidato nomeCandidato numeroLista nomeLista
1 GELARDA IGOR DETTO GERARDA DETTO GERALDA 12 MOVIMENTO 5 STELLE
2 ARGIROFFI GIULIA 12 MOVIMENTO 5 STELLE
3 CAPARROTTA GIANCARLO DETTO CAPAROTTA 12 MOVIMENTO 5 STELLE

Mentre quelli con i dati per sezione:

numeroCandidato voti numeroLista sezione
1 5 12 1
2 9 12 1
3 2 12 1

Poi viene fatto il join tra anagrafica e dati per sezione:

for i in {1..18}; do csvsql –query select * from  listaSezioni_$i LEFT JOIN anagraficaLista_$i ON listaSezioni_$i.numeroCandidato=anagraficaLista_$i.numeroCandidato listaSezioni_$i.txt anagraficaLista_$i.txt > lista_$i.csv; done

Per ogni lista viene prodotto un file con nome lista_NumeroLista.csv, con questa struttura (ci sono delle colonne duplicate, che potrei rimuovere in fase di join):

numeroCandidato voti numeroLista sezione numeroCandidato nomeCandidato numeroLista nomeLista
1 5 12 1 1 GELARDA IGOR DETTO GERARDA DETTO GERALDA 12 MOVIMENTO 5 STELLE
2 9 12 1 2 ARGIROFFI GIULIA 12 MOVIMENTO 5 STELLE
3 2 12 1 3 CAPARROTTA GIANCARLO DETTO CAPAROTTA 12 MOVIMENTO 5 STELLE

E infine viene creato anche un unico file CSV di insieme (scaricabile da qui), con i dati per tutti i consiglieri di tutte le liste, per ogni sezione (senza le colonne duplicate). Sono 638 candidati per 600 sezioni per un totale di 382800 record.

csvstack *.csv | csvcut -c 1,2,3,4,6,8 > liste.csv

Quindi avrò in output 1 file CSV con i dati per ogni lista e quello soprastante, per totale di 19 file CSV (encoding UTF-8 e come separatore la ,).

Lo script di poche righe (al netto dei commenti) è quello di sotto, tutto realizzato con oggetti free e open-source.

#!/bin/bash
 
# Requisiti #
# – avere un sistema in cui è possibile eseguire uno script bash;
# – l’utility XMLStarlet http://xmlstar.sourceforge.net/download.php
# – l’utility csvkit http://csvkit.readthedocs.io/
 
# attivo la modalità di debug
set -x
 
# cancello file csv e xml pre esistenti nella cartella in cui lancio lo script
rm -R *.csv
 
# scarico tutti i dati delle 18 liste
for i in {1..18}; do curl -s http://comunali2017.comune.palermo.it/SEZ_3_82053_L$i.xml > $i.xml;done
 
# scarico l’anagrafica di ogni candidato di ogni lista
for i in {1..18}; do xmlstarlet sel -t -m //C0/C1 -v @NUMERO -o , -v @NOME -o , -v ../@NUMERO -o , -v ../@NOME -n $i.xml > anagraficaLista_$i.txt; sed -i 1s/^/numeroCandidato,nomeCandidato,numeroLista,nomeLista\n/ anagraficaLista_$i.txt & done
 
# scarico i voti di ogni candidato di ogni lista per ogni sezione
for i in {1..18}; do xmlstarlet sel -t -m //SV/V0/V1 -v @NUMERO -o , -v @VOTIVALIDI_C1 -o ,  -v ../@NUMERO -o , -v ../../@NUMERO -n $i.xml > listaSezioni_$i.txt ; sed  -i 1s/^/numeroCandidato,voti,numeroLista,sezione\n/ listaSezioni_$i.txt & done
 
# faccio il join tra i dati per sezione e l’anagrafica dei candidati
# l’output è un file di dettaglio in formato CSV per ogni lista
for i in {1..18}; do csvsql –query select * from  listaSezioni_$i LEFT JOIN anagraficaLista_$i ON listaSezioni_$i.numeroCandidato=anagraficaLista_$i.numeroCandidato listaSezioni_$i.txt anagraficaLista_$i.txt > lista_$i.csv; done
 
# faccio il merge di tutti i CSV e produco un unico file
# con tutti i voti per candidato per sezione di ogni lista
csvstack *.csv | csvcut -c 1,2,3,4,6,8 > liste.csv
 
# cancello file che non mi sono più utili
rm -R *.txt
rm -R *.xml

Libro consigliato

Per entrare nel mondo divertentissimo ed efficiente della “riga di comando” mi sento di consigliare il bel “Data Science at the Command Line” . È un libro per tutti, di facile lettura e pieno di esempi utili.

Incidenti stradali


Visualizzazioni di dati aperti del Comune di Palermo sui sinistri stradali nell’anno 2016

Il Comune di Palermo ha pubblicato vari dati aperti sui sinistri stradali avvenuti nel territorio comunale e rilevato dalla Polizia Municipale. Uno di questi dati è dell’anno 2016 e contiene ogni sinistro con qualifica del danno, data, ora e posizione in geo coordinati.

Ho realizzato una visualizzazione di questi dati con una mappa interattiva che offre vari temi per esplorare i vari aspetti spazio temporali dei dati.

La mappa è realizzato con iXMaps, un framework in HTML5 per creare mappe interattive in grafica vettoriale e configurabili con un semplice linguaggio descrittivo.

In seguito descrivo alcuni elementi e passi della realizzazione. Il codice intero è consultabile su GitHub.

I dati

Il portale ‘Open Data’ del comune di Palermo offre l’accesso ai dati sui sinistri stradali attraverso vari link nei formato Shape, CSV e KML con licenza CC BY 4.0 IT e fornisce i metadati in una nota:

IL DATASET VIENE FORNITO ANCHE IN FORMATO KLM E CSV. IL DATASET E’ STATO GEOREFERENZIATO DALL’ISP. SALVATORE PULLARA LEGENDA CODICI: M = MORTALE – SINISTRO CON ALMENO UN DECEDUTO; R = RISERVA – SINISTRO CON ALMENO UNA PERSONA IN PROGNOSI RISERVATA SULLA VITA (CHE SE SCIOLTA SI TRASFORMA IN UN NORMALE INCIDENTE CON FERITI F SE AVVIENE IL DECESSO IN UN MORTALE M); F = FERITI – SINISTRO CON LESIONI A PERSONE; C = COSE – SINISTRO CON SOLO DANNI A COSE.

Per la visualizzazione ho scaricato il formato CSV, che contiene tutte le informazioni sui incidenti incluso le posizioni in geo coordinati. Aprendo il CSV con LibreOffice si presenta cosi:

Le colonne inquadrate contengono le informazioni utilizzati per la visualizzazione.

Definire il 1. tema

iXMaps definisce una grammatica per mappe tematiche che consiste in una sintassi per oggetti Javascript (JSON) che configurano visualizzazioni creati direttamente dai dati.

Il primo tema della mappa interattiva visualizza ogni incidente con un punto con il colore del danno.

  • type“, “colorscheme” e “values” definiscono la rappresentazione come punti semplici con colore definito dalla colonna ‘Incidenti’ che può contenere i valori C,F,M o R per qualificare il danno.
  • lookupfield” definisce le colonne per la posizione (latitudine e longitudine) del punto.
  • dbtable” definisce un nome interno al dataset. Ci servirà in seguito per una procedure che elabora i dati e crea colonne aggiuntive per i temi con analisi temporali.
  • dbtableUrl‘ punta al dataset e ‘dbtableType‘ dice che e di tipo CSV
  • dbtableExt” definisce un file Javascript che contiene questa procedura.

 Ecco, il 1° tema della mappa

Leggenda e navigatore tematico

A destra, sovrapposto alla mappa, si trova la leggenda della mappa con elementi per navigare nelle varie tematiche della mappa interattiva, adattare la rappresentazione ed altri elementi della interfaccia utente.

  • mostra la leggenda degli elementi tematici della mappa
  • contiene una grafica riassuntiva degli valori respettiva alla posizione della mappa
  • offre strumenti per individualizzare il tema
  • gestisce la navigazione tra i temi

Elementi della leggenda

  1. Strumenti vari, da sinistra a destra: creare segnalibri, condividere la mappa,  definire filtri,  cambiare mappa di fondo informazioni, indice temi
  2. La leggenda del tema: mostra le somme attuali del tema clicca su un colore per vedere solo
    • il valore associato
  3. Strumenti per modificare la rappresentazione del tema
  4. Navigatore veloce pagine
  5. Navigatore temi

Come accedere ai vari temi della mappa

I temi della mappa sono divisi in aree tematiche e variazioni. La navigazione tra i temi avviene simile ad una presentazione:

  • per le variazioni di una tematica si scorre a sinistra o a destra
  • per cambiare la tematica in alto o in basso

si può usare sia le frecce visibili in basso o la rotellina della mouse, o un movimento sul touch screen

  • In cima a destra si accede a un indice dei temi. Un altra possibilità di arrivare direttamente a un tema.

Note tecniche sulla legenda

La leggenda è una pagina HTML fondata su Bootstrap e jQuery che viene caricata in un iframe è interagisce con mappa attraverso Javascript.

Il navigatore tra i temi, che segue la logica di una presentazione, con movimento orizontale e verticale da un tema all’altro, è realizzato grazie a fullpage.js  un jQuery plugin
di Alvaro Trigo.

Realizzare temi

Per realizzare un tema definito con oggetto JSON, come descritto sopra, ci serve una funzione.

dell’API di iXMaps. La chiamata viene codificato in <a> tag nascosto della pagina HTML e l’attivazione avviene quando l’utente cambia la pagina a sinistra/destra o in alto/basso.

Il <a> tag ci serve per la posizione alla quale viene inserito la leggenda del tema.

Tutto il codice della ‘storia’ della mappa, cioè la pagina HTML che gestisce i temi e la leggenda si trova su GitHub: index.html

I temi della mappa

Tutti i temi della mappa sono definiti nel file themes.js

1° tema – incidenti e danno

Il primo tema visualizza ogni incidente con un punto con un colore in relazione al danno.
Il trema ha alcune variazioni, che possono essere attivati con il scorrere a destra o sinistra.
I variazioni declinano l’applicazione di aggregazioni e varianti grafici con l’intenzione di aumentare la visibilità di zone con caratteristiche simili. Alla fine è una sequenza di sperimenti fatto con i strumenti analitici e grafici di iXMaps con la speranza che tutti variazioni possono aiutare per capire i dati.

  • la 1° variante aggiunge un effetto ‘incandescenza’ intorno ai singoli punti. Questo porta ad una maggiore visibilità delle ‘zone calde’ dove il punti si sovrappongono.
  • la 2° applica un’aggregazione per griglia
  • la 3° variante aumenta il rapporto tra numero di eventi e grandezza degli cerchi e riposiziona i punti aggregati per griglia nel centro del valore dell’aggregazione: in effetti, i punti tornano sulle strade!

Aggregazioni dinamiche

Tutti temi, tranne i primi due, implementano un’aggregazione degli singoli eventi per una griglia rettangolare definita in pixel dello schermo.

Cosi, in relazione allo zoom della mappa, il numero degli eventi che cadono in un rettangolo cambia, è in conseguenza il livello di aggregazione fino a mostrare i singoli eventi.

La leggenda del tema mostra sempre il conteggio degli elementi attualmente visibile nella mappa, si aggiorna spostando o zoomando la mappa.

2. area tematica: Analisi temporali

Nella 2° parte, la visualizzazione propone delle analisi temporali degli sinistri per:

  • giorno della settimana
  • fascia oraria
  • mese del anno

Per poter configurare questi temi dobbiamo prima creare nuove colonne nei dati con valori espliciti respetto ai analisi temporali, come per esempio il giorno della settimana (da 0 a 7). Per questo ci serve una procedura definita in ‘preprocess.js‘:

che crea le seguente nuove colonne

per poter definire il seguente tema che visualizza il numero di incidenti per giorno della settimana.

Quasi tutto viene descritto con la variable ‘type’

  • CHART | SYMBOL | EXACT| FIXSIZE | SEQUENCE | PLOT | LINES | AREA
    forse è un po’ strano, ma definisce una curva come sequenza di simboli per ogni valore esatto (EXACT) della colonna di valori ‘GiornoDellaSettimana’; i valori ammessi sono definiti nal array “values”
  • BOX | GRID
    fa che la curva a un fondo
  • ZEROISVALUE
    ammette zero come valore
  • AGGREGATE | RECT | SUM
    definisce l’aggregazione dei valori per una griglia rettangolare la quale dimensione viene definito con la variable “gridwidth” in 100 pixel (dello schermo);
    qui vengono creati i valori delle curve; per ogni rettangolo della griglia si crea le somme degli incidenti per giorno della settimana; importante: “field” è “GiornoDellaSettimana” il “type” contiene ‘EXACT’ e i valori sono definiti in “values”
  • GRIDSIZE
    definisce la dimensione dei grafici come la griglia

3. area tematica: Analisi di pericolosità

La 3° parte è un tentativo di creare un indice sintetico della pericolosità calcolando la somma degli incidenti con feriti o morti diviso per il numero di incidenti per una griglia esagonale. I risultante frazione viene normalizzato tra 0 e 1 e visualizzato con crescente opacità di colore e numero testuale.

Creare mappe individualizzati e condividerle

Per ultimo vorrei promuovere la possibilità di creare mappe individualizzate da partire dei temi definiti e creare o un segnalibro o ottenere un codice per includere il tema personalizzato in una pagina HTML o in fine anche una URL unica per riprodurre la mappa creata in qualsiasi browser con capacità HTML5.

Qui, per esempio, ho creato una visualizzazione ‘nuova’ cambiando la mappa del fondo e selezionando solo una parte del tema nella leggenda. 

Utilizzando l’icona ‘share’ nel menu, si apre una finestrina con i codici per inserire la mappa e l’URL che contiene tutto il tema. L’URL viene anche offerta in formato corto usando il servizio WEB tinyurl.com:
http://tinyurl.com/kayylhp – Usando questo link si riproduce questa mappa.

Alcuni link

La mappa interattiva
Il codice su Github
fullpage.js di Alvaro Trigo
bootstrap HTML, CSS, and JS framework
icomoon free Icon Pack

#Palermo, linee guida comunali #opendata 2017, la tradizione continua in modalità partecipata

Il 4 maggio 2017 l’Amministrazione Comunale di Palermo, con la Deliberazione di Giunta n. 97, ha approvato la versione 2017 delle linee guida open data partecipate, quale continuazione di un percorso culturale cominciato nel 2013.

GLI ALBORI – la storia comunale degli open data di Palermo nasce nel 2013, quando 7 cittadini collaborano spontaneamente con il Comune costruendo la prima versione delle linee guida.  A seguito di un dialogo con l’Assessore alla Partecipazione, inviano la bozza di linee guida via email all’Amministrazione, la quale con Deliberazione di Giunta Municipale n. 252 del 13 dicembre 2013 le approva, facendole diventare strumento guida per l’organizzazione interna del processo di pubblicazione di dataset in formato aperto. Quei 7 cittadini sono Davide Taibi, Francesco Passantino, Gerlando Gibilaro, Andrea Borruso, Marco Alfano, Giulio di Chiara e Ciro Spataro (dipendente comunale).

OLTRE 3 ANNI DI OPEN DATA – nel periodo tra il dicembre 2013 e il maggio 2017 (3 anni e 4 mesi) l’Amministrazione comunale, nei suoi uffici e con il suo personale, intraprende un percorso di organizzazione e formazione, necessari alla pubblicazione dei dataset che ad oggi ammontano a 546 disponibili nel portale open data. L’aspetto più interessante non è la quantità di dataset oggi disponibili nel portale istituzionale, ma il processo “umano” di crescita che in questi oltre 3 anni ha portato diversi dirigenti e referenti open data a pubblicare dataset e a credere nell’importanza dei dati pubblici in formato aperto, rilasciati con licenze che ne permettono il riuso.

IL TEAM OPEN DATA E LE RIUNIONI PUBBLICHE – all’inizio del 2014 l’Amministrazione costituisce, come da linee guida, il Team open data, una strutturazione interna con responsabile open data, dirigenti e referenti negli uffici, quali soggetti chiave per l’individuazione e pubblicazione di dataset. Due volte all’anno si tiene la riunione del Team open data, un evento pubblico al quale possono partecipare soggetti della società civile, e nel quale si decidono le priorità di pubblicazione dei dati e i tematismi sui quali concentrare l’attenzione per i dataset da pubblicare. Durante queste interessanti riunioni, soggetti della community Opendatasicilia partecipano, da tempo, con interesse proponendo sempre iniziative e azioni volte al miglioramento della qualità dei dataset da pubblicare. Da notare l’interessante interazione, sempre propositiva, con la quale i partecipanti alla riunione si pongono nei confronti dei referenti e dirigenti comunali e la coesione che si viene a costruire tra interno (Comune) ed esterno (Società). I verbali di tutte le riunioni del Team sono disponibili per la consultazione nell’home page del portale open data.

L’ACCOMPAGNAMENTO FORMATIVO DEI REFERENTI – la struttura del Responsabile open data è affiancata da un tecnico (Ciro Spataro) per l’accompagnamento e la formazione base dei referenti negli uffici. Dal 2014 intrattengo un costante confronto con i referenti open data al fine di porli nella condizione di poter pubblicare dataset almeno in versione tabellare CSV (catalogati 3 stelle in una scala da 1 a 5). Ciò in quanto diversi uffici, non lavorando con applicativi gestionali creati ad hoc, fanno ricorso al pacchetto applicativo di Excel per custodire, gestire e archiviare dati di competenza. Mi avvalgo anche di un piccolo portale formativo allo scopo. Degli incontri effettuati con i referenti negli uffici tengo un report in costante aggiornamento che ritengo una sorta di memoria e che può aiutare a comprendere sia i problemi incontrati nella pubblicazione di dataset, sia i progressi raggiunti. E’ ovvio che la tendenza dell’Amministrazione, oltre all’uso di formati tabellari quali i CSV, deve essere rivolta soprattutto alla pubblicazione di dataset che sono direttamente derivabili dagli applicativi gestionali in uso negli uffici e in fase di sviluppo per il prossimo futuro (formati XML, Json, GeoJson,…).

LE NUOVE LINEE GUIDA COMUNALI OPEN DATA 2017 PARTECIPATE – con un comunicato stampa comunale del 25 gennaio 2017 viene annunciata la possibilità, per chiunque interessato, di partecipare online alla stesura delle nuove linee guida comunali. Questa nuova versione viene sentita come necessaria per via delle vigenti Linee guida nazionali open data dell’Agenzia per l’Italia Digitale versione 2016 e del vigente Profilo dei metadati DCAT_AP_IT (sempre a cura dell’AgID). Aderire, per Palermo, al profilo dei metadati DACT_AP_IT significa avere la possibilità di indicizzare i dataset palermitani nel catalogo nazionale dei dati (dati.gov.it) e in quello europeo (european data portal). La bozza di linee guida comunali open data 2017 rimane disponibile online per la partecipazione fino ad inizio aprile 2017.

Il 4 maggio la Giunta Municipale, raccogliendo le interazioni pervenute online, approva la nuova versione delle Linee Guida comunali open data versione 2017 partecipate, redatta dallo staff dell’Area Innovazione Tecnologica.

LE NOVITÀ’ DELLE LINEE GUIDA 2017 PARTECIPATE – sicuramente la partecipazione rappresenta il primo elemento di rilievo, che, allo stesso tempo, costituisce una continuazione culturale rispetto al processo passato di partecipazione dal basso, condotto nel 2013 da 7 cittadini che avevano “scritto” le linee guida open data per una grande città italiana.

Nella Deliberazione viene menzionata la community Opendatasicilia, quale soggetto molto attivo, presente agli incontri del Team open data e competente nell’ambito dei dati in formato aperto. Questa citazione attribuisce alla comunità siciliana un importante ruolo: soggetto sensibilizzatore, formatore, di stimolo, in ultima analisi un soggetto ritenuto dal Comune di Palermo valido per il percorso di miglioramento della politica open data.

Altro elemento di novità delle linee guida è il riferimento alla costruzione di API (Application Programming Interface) nella realizzazione delle nuove piattaforme digitali del P.O.N.  METRO di Palermo. La realizzazione di API permette a software di terze parti di interrogare in tempo reale i database comunali nei quali sono custoditi/gestiti i dati tematici, al fine di consentirne un ampio riuso creativo per infiniti scopi. 

Nella riunione del Team open data del 21 dicembre 2016 sono state fissate alcune scadenze operative, dal Responsabile open data comunale, che sono state riportate nella Deliberazione n. 97 del 4 maggio 2017.  Entro giugno 2017 il portale open data comunale di Palermo si renderà “conforme” al  Profilo dei metadati DCAT_AP_IT e sempre entro giugno 2017 ci sarà il traghettamento ad una nuova versione grafica del portale (mostrata all’opendataday 2017) a cura dello staff del Webmaster (al quale vanno ringraziamenti per il supporto e per gli input forniti durante questi anni per il miglioramento del processo di pubblicazione dei dataset).

LAST BUT NOT LEAST: CREDITS – la nuova versione di linee guida open data 2017 partecipate vede un paragrafo dedicato esclusivamente ai crediti. Un azione di “rispetto” e di “ringraziamento” nei confronti di chi individualmente ha contribuito, con la propria azione civica volontaria, a migliorare un pezzo di Amministrazione comunale.

I 7 cittadini palermitani sono ringraziati per la redazione della versione 2013 delle linee guida ed un ringraziamento specifico va a Davide Taibi del CNR Palermo (nonché membro di Opendatasicilia) per avere dedicato tempo e fornito un importante contributo professionale per la definizione operativa del profilo DCAT_AP_IT dei dati e metadati dei dataset nella nuova versione delle linee guida 2017 versione (appunto) “partecipate“.

Le linee guida open data 2017 versione partecipata DEL COMUNE DI PALERMO, appena approvate, sono RILASCIATE CON LICENZA CREATIVE COMMONS, BY (ATTRIBUZIONE), SA (CONDIVIDI ALLO STESSO MODO) E SONO disponibili in formato ODT a questo link.

Un altra piccola paginetta di storia sui dati pubblici è stata scritta a Palermo e Opendatasicilia c’entra.

Tutorial da file pdf a shapefile

Dopo il comunicato stampa sul sito del Comune di Palermo   Tram – Entra nel vivo la fase di progettazione per le nuove linee verso ZEN-Mondello, Bonagia e lungo la costa con Ciro Spataro abbiamo pensato di fare una delle nostre mappe…ovvero la mappa del ferro come l’ha chiamata Ciro.

Per realizzare la mappa c’è quasi tutto, occorrono solo le nuove linee del tram in formato vettoriale.

Gran parte dei vettori, (linee tram esistenti, passante ferroviario, etc etc) sono reperibili su OpenStreetMap, facili da estrarre con overpass-turbo.eu, qui un articolo molto utile su geomappando  o un interessante video di GISTIPSTER.

In alternativa si può scaricare l’intera cartografia di Palermo, o qualsiasi altra città, da Estratti OpenStreetMap,

Per ricavare i vettoriali delle nuove linee del tram abbiamo pensato di usare il file pdf allegato al comunicato stampa Tavola 14 – planimetria riassuntiva scala 25.000 dell’intero sistema di trasporti su rotaia.

La stessa e tutte le altre tavole del progetto si trovano sul sito del Comune di Palermo, (qui l’intero progetto in file pdf del trasporto pubblico di massa)

Screenshot del file pdf Tavola 14 – planimetria riassuntiva scala 25.000

L’idea è semplice…

  1. Convertire il file pdf in dxf
  2. Georeferenziare il nuovo file ottenuto con Qgis
  3. Verificare il risultato della georeferenziazione e correggere manualmente eventuali imperfezioni.
  4. Esportare i nuovi file in versione geojson per umap

Conversione da PDF in DXF

Per la conversione da pdf a dwg/dxf in rete si trovano tanti programmi, open source e non.

Dopo qualche ricerca e qualche test, abbiamo scelto di usare progeCAD 2017 Professional in versione di prova gratuita completa per 30 giorni. Gli stessi risultati si possono ottenere con DraftSight o con il più semplice PDF to DWG Converter.

Qui trovate un breve video che spiega come caricare un file pdf in progeCAD

Qui un video che spiega come caricare un file pdf in DraftSigh

Seguendo il video dimostrativo di progeCAD 2017 Professional si intuisce facilmente come caricare un file pdf

Dopo qualche minuto di elaborazione il pdf è stato convertito in dwg.

L’importazione è riuscita, adesso non resta che pulire il file e lasciare solo quello che ci interessa.
Come si può notare dalle immagini ad ogni colore presente nel file pdf corrisponde un layer nel dwg.

A questo punto disattiviamo/eliminiamo tutto ciò che non ci interessa e facciamo un po di ordine.

Rinominiamo i layer, così li riconosciamo subito.

Con il comando elimina, presente nel menù File → Utilità → Elimina

Eliminiamo tutto il superfluo, questa utility, ci consente di tenere il file sempre pulito e leggero.

Una volta ripulito il file, è necessario posizionare le linee sulle coordinate di Palermo, in modo da non complicarci troppo il lavoro con Qgis.

Per far ciò, abbiamo inserito come riferimento esterno, un file georeferenziato e convertito in dxf della base cartografica scaricata da OpenStreetMap.

Dal menù Inserisci → riferimenti esterni, carichiamo una parte della cartografia OSM, (dallo screenshot si nota poco, ma è quel puntino all’interno del cerchio rosso)

Come si può notare le linee importate dal file pdf, sono fuori scala e posizionate a caso.

Utilizzando il comando Allinea e con un po di pazienza riusciamo, traslare le nuove linee del tram sulle coordinate di Palermo.

Adesso le linee, grossolanamente, sono sulle coordinate di Palermo, affineremo la georeferenziazione con Qgis.

Per ottenere un buon risultato finale, è opportuno georeferenziare separatamente le 4 linee che ci interessano.

Di conseguenza salviamo/esportiamo ogni linee in un nuovo file dfx.

Ecco un file dwg con la singola tratta c – d, grossolanamente posizionato sulle coordinate di Palermo.

La georeferenziazione

Per questa seconda fase è necessario un software gis, nel nostro esempio usiamo Qgis e il plugin Plugin Vector Bender spiegato in questo video da Salvatore Fiandaca

Per prima cosa importiamo il file dxf in qgis, per farlo abbiamo diversi metodi, usare i plugin  dxf2shp o dxf import/convert, o nel caso di file dfx con molte più informazioni si può usare Spatialite, tutto spiegato sempre da Salvatore Fiandaca nel suo blog pigrecoinfinito

Dove aver caricato il file dxf, salviamo lo stesso in formato shp, perchè sul formato dfx non possiamo fare modifiche.

Attiviamo il plugin Vector Bender ed iniziamo ad inserire punti per la georeferenziazione.

Questo è il risultato di un primo test, più punti inseriamo e più precisi siamo, migliore sarà il risultato finale.

…e dopo qualche  tentativo e dopo alcune correzioni manuali la linea “sembra” essere al suo posto. Salviamo il lavoro appena fatto in un nuovo file shp.

Sicuramente non è precisa come l’originale, ma rende l’idea.

Per completare il lavoro, basta ripetere la stessa procedura per le altre 3 linee rimanenti

Qualcuno si starà chiedendo… Ma non era più semplice ridisegnare le linee…?
Forse si, ma il tempo e la pazienza non mi mancano e soprattutto mi piace sperimentare, magari si può usare questo metodo con file pdf molto più complessi, ed in quel caso si risparmia un bel po di tempo…

Osservare il cambiamento di una città grazie alla cartografia: il caso di Palermo

Dopo aver letto l’articolo di @napo mappa di Trento 1915 – da un libro di Cesare Battisti, ne sono rimasto affascinato, sia per il gran lavoro fatto dalla biblioteca comunale di Trento, nel digitalizzare il contenuto del libro e renderlo di dominio pubblico e sia per la parte tecnica e dall’analisi, che si può fare agevolmente, mettendo a confronto una carta storica ed una di oggi.

Brevemente, con il plugin leaflet-tileoverlay-mask, si ottiene un effetto “spot” sulle cartografie, che ci permette di mettere a confronto, dinamicamente e istantaneamente, una carta storica con lo stato attuale.

La realizzazione tecnica, è più semplice di quello che si pensa

Subito ho pensato come poter usare questa tecnica sulle cartografie storiche e non di Palermo.

Il primo test l’ho fatto, con la cartografia del nuovo schema di massima del PRG di Palermo presentato dal Comune nel 2015 e georeferenziata da @cirospat, con mapwarper.net 

constatando, in prima persona, la bontà del lavoro fatto da @napo.

In questo caso ho semplicemente sostituito la base cartografica “L.tileLayer.mask” di riferimento, nel file di esempio fornito con plugin leaflet-tileoverlay-mask”.

Inserendo la nuova mappa tiles e centrando la mappa sulle coordinate di Palermo, il lavoro è fatto.

Nuova base tiles

var prg = L.tileLayer.mask(‘http://mapwarper.net/maps/tile/19437/{z}/{x}/{y}.png

Zoom e coordinate di base

var map = L.map(‘map’, {attributionControl:true}).setView([38.11127,13.3534422], 14);

Usando la versione originale del plugin leaflet-tileoverlay-mask, ho notato un limite, ovvero, l’impossibilità di utilizzare più basi cartografiche, per fare l’analisi.

Con il contributo fondamentale di @piersoft, sono riuscito a superare l’ostacolo.

Dopo questo piccolo test, mi sono chiesto, come poter sfruttare al meglio la tecnica.

Confrontandomi con @aborruso e @cirospat, del gruppo di opendatasicilia, sull’uso della tileoverlay-mask e conoscendo il Portale Cartografico, realizzato dalla Sispi spa (società in house del comune di Palermo), subito abbiamo pensato di utilizzarla, con le cartografie storiche. Rese disponibili dall’ottimo lavoro di scansione e georeferenziazione del geom. Liborio Plazza, dipendente del Comune di Palermo e  dalla Sispi.

L’obiettivo era chiaro, costruire un atlante, dove poter mettere a confronto, velocemente, le carte storiche con la città dei nostri giorni.

Scaricate e georeferenziate le cartografie storiche, da @aborruso e @cirospat, a me, non è rimasto altro da fare, che organizzare il materiale e dargli una veste grafica user friendly.

Spero di esserci riuscito!

L’URL è questo http://siciliahub.github.io/mappe/atlante_carto_pa/index.html

Gli strumenti che abbiamo utilizzato per il il progetto dell’atlante sono:

  1. Dati da un server WMS: scaricarli, riproiettarli, comprimerli, tassellarli e piramidarli da riga di comando, di @aborruso;
  2. Leaflet, per creare l’interfaccia di web mapping;
  3. Leaflet-hash, per generare URL che contengono livello di zoom e posizione corrente;
  4. Leaflet-tileoverlay-mask, per la sovrapposizione delle tile con effetto svg maschera, un effetto “spot“ che ci permette di vedere come era la città al tempo in un particolare punto;
  5. Sidebar-v2, per creare sidebar a scomparsa;
  6. Leaflet.MousePosition, è un semplice controllo della posizione del mouse. Esso mostra le coordinate geografiche del puntatore del mouse, mentre viene spostato sulla mappa;
  7. Leaflet-graphicscale, è un semplice barra di scala con effetto animato al cambio dello zoom;
  8. Map Warper, è uno strumento open source per georeferenziare immagini, nato grazie al contributo del progetto spacetime della Biblioteca Comunale di New York, sviluppato, ospitato e mantenuto da Tim Waters;
  9. Btns, è un piccolo modulo CSS che permette di inserire pulsanti reattivi.
  10. Leaflet.Basemaps, consente di creare un controllo dell’interfaccia utente per la scelta della mappa di base utilizzato sulla mappa.

Il codice script usato per il progetto è liberamente scaricabile dalla pagine html dell’atlante. Basta sostituire i relativi L.tileLayer.mask e il setView([38.11127,13.3534422] per adattarla alle proprie esigenze.

Gli sfondi della mappa sulla quale visualizzare le cartografie storiche sono vari Openstreetmap, Google Road e Satellite, Esri Standard e Satellite.

Alcuni esempi

Il bello di questa mappa è scoprire come questa città sia cambiata e ognuno troverà degli esempi diversi nei luoghi che conosce meglio.

Villa Trabia

La via Piersanti Mattarella, già “Via Villa Trabia” si estendeva da via Notarbartolo a poco dopo l’ingresso del CEI (l’istituto Gonzaga).

Un “fiume” limitrofo a Villa Sperlinga

Il “Passo di Rigano” che costeggia Villa Sperlinga è un colpo d’occhio.

Il mare era “più vicino”

Era subito dopo Porta Felice e probabilmente se ne sentiva molto più forte la presenza.

……. e ora scopri anche tu i cambiamenti nel tuo quartiere, …..buon viaggio nella storia cartografica della città di Palermo

Open data day 4 marzo 2017 a Palermo (u pitittu ci fazzu veniri)

(“u pitittu ci fazzu veniri” = “l’appetito gli faccio venire”, frase usata da una rete di venditori ambulanti di sfincione a Palermo per attirare l’attenzione dei passanti)

Il primo sabato di marzo è ormai come una ricorrenza sacra, si festeggia l’open data day in molte città del mondo http://opendataday.org/ e siamo contenti perchè ci incontriamo in tante persone appartenenti a mondi lavorativi e didattici diversi ma accomunati dai dati. E ovviamente Palermo non manca all’appello.

Andrea Borruso mi ha detto che potrei scrivere questo post perché è un evento che ho aspettato sin dallo scorso dicembre, da quando, prima di Natale, abbiamo fatto un incontro pubblico del Team Open Data comunale in compagnia di cittadini e appassionati di dati pubblici. E così in effetti è, mi piace l’open data day e mi ci sono appassionato da quando 4 anni fa per caso conobbi un po di persone con le quali ormai collaboro in maniera costante e felice, aumentando le mie competenze nell’ambito dei dati e del loro riuso.

Quest’anno per l’opendataday abbiamo il comune di Palermo, impegnato in un processo “culturale” di partecipazione e apertura dei dati, il Consorzio ARCA, un incubatore di imprese ormai diventato un’istituzione dell’innovazione a Palermo e OpendataSicilia, questa community di cittadini – e amici – che si divertono a creare esperimenti riusando dati, ma che hanno anche una grande abilità: essere propositivi nei confronti di pubbliche amministrazioni, scuole, e altre comunità che operano con i dati sul territorio nazionale.

Il menù del 4 marzo palermitano prevede:

  • antipasto di linee guida comunali Open Data 2017 in salsa partecipata
  • open data variegati della Polizia Municipale
  • vulnerabilità sismica degli edifici residenziali di Palermo in una mappa da open data
  • una spruzzatina di “A scuola di Opencoesione”
  • start up che usano i dati, per intenderci Smarteating
  • Università e Ricerca insieme per  iniziative e progetti in ambito open data
  • mappatura dei servizi accessibili nelle strutture ricettive
  • open data e Sanità
  • e per finire il dolce:  Web scraping per tutti, introduzione al tema e guida all’uso di alcune tecniche e strumenti

… un ni putemu lamintari st’annu, ….. u pitittu ci fazzu veniri !

Ah dimenticavo, ci vediamo il 4 marzo 2016 alle 9.30 al Consorzio ARCA in viale delle Scienze, edificio 16, Palermo.

Registratevi qui

What do we know about the air quality in Palermo?

Some weeks ago we came across an EU publication about the urban life in 79 European cities . Among the surveyed cities was Palermo. The following graphic on page 50 attracted our interest. The graphic shows the proportion of people satisfied with public transport services and the quality of air in their city. For both indicators Palermo shows very low levels.

image04

 

We became interested in what kind of air quality data are currently available in Palermo. The central agency which collects and publish information about air quality is RAP Palermo. According to their website the monitoring network in Palermo is build on ten stations. RAP Palermo collects data in five key pollutants (sulfur oxides (SO2), carbone dioxyde (CO2), nitrogen oxides (NO2), ozone (O3) and particulate matter (PM10)) 24 hours per day.

The results are publish on their website as daily and monthly reports and are available from the year 2013. This is the daily report for the September, 16.

image05

 

The page shows that not all stations collect data for every pollutant. Grey fields indicate combinations which are not measured. We call them “missing type 1” data. White fields on the other hand are under observation but for this particular day are not available (“nd”). These are “missing type 2” data. Valid measurements are the fields containing a value and are in green, yellow or red. Only the stations Boccadifalco and Castelnuovo collect data for all five pollutants.

The most interesting data to make some analysis are the daily one, but in RAP website there are two information barriers:

  • there is one file for every day, than it’s necessary to download one by one. In one year it’s necessary to do 365 downloads;
  • all files are in PDF format, than it’s impossible to use them in apps to make some analysis like a spreadsheet, or in some statistical framework.

So we had to deal with this. We downloaded in example all available daily reports for the year 2016 and extracted the data: here the 2016 RAP daily data in a single CSV file.

We have build 2 different procedures to do it: one in R (the one of Patrick) and one in Python (the one of Andy), and we will publish them in the next weeks.

Why it’s better in this way

To have a single file, in a format that you can use to make calculation, visualization and analysis it’s a little treasure.

image01

 

Some examples:

  • it’s possible to compare different time periods (think to “ZTL”, the restricted traffic area which began in Palermo on 2016 October 10);
  • it’s simple to build automation tools (alert me every time in this station PM10 overcomes legal limit); it will be always the data of the day before, but we think that it’s much better than nothing, much better than to look every day to a PDF file via a browser;
  • it’s possible to use this data coupled to other kind of data (rain and wind data in example) to do some more advanced environmental analysis;
  • it’s possible to discover that:
    • there are no records about Bellolampo station in the PDF. Why?
    • there are to much days in which there are no data, also for fundamental measures like PM10 one. Why?
      • along one year it is forbidden to have more than 35 days with PM10 > µg/m3. In Di Blasi station (outside the ZTL) we already have it 33 times; moreover for this station there had 21 days without any measures.
    • some files like bollettino_20161126.pdf, bollettino_20160508.pdf and bollettino_20160408.pdf, are not published.

This post is a first step, a kind of introduction. In the next weeks we will open a website dedicated to these data, in which we will publish: more data, the code we will use to download them, some maps, some charts, some interactive visualizations and some posts about these data.

Stay tuned!

Per non perdersi lungo le Vie dei Tesori

Con la notte bianca del percorso arabo-normanno, che si è svolta il 28 29 e 30 Ottobre 2016, si è conclusa la decima edizione della manifestazione “Le vie dei Tesori” tenutasi nella città di Palermo. Anche quest’anno, come nelle precedenti edizioni, si è registrato un incremento dei partecipanti a questa manifestazione, che ormai da 10 anni mette in fila migliaia di palermitani, e non solo, alla scoperta dei tesori che appartengono a questa meravigliosa città.

Ciò che segue non vuole essere un articolo che tratta argomenti inerenti all’organizzazione (orari, guide, servizi etc.) e ai risultati ottenuti dalla manifestazione (ottimi tra l’altro), ma si vuole prestare come “assist” alla suddetta manifestazione per evidenziare l’ennesima occasione persa per svolgere un lavoro sinergico tra cittadini e pubblica amministrazione (in questo caso tra il Comune e l’Associazione “Le vie dei tesori”).

Come tutti i partecipanti di lunga data a questa manifestazione sanno, l’Associazione delle Vie dei Tesori ha messo nei vari anni a disposizione delle mappe cartacee (di cui un esempio è visibile nell’immagine di sotto) non adeguate all’uso tipico di cittadini e turisti che vogliano muoversi bene lungo siti visitabili della città di Palermo, perché povere di informazioni toponomastiche.

2016-11-29_21h33_16

 

Alcuni dei luoghi di questa manifestazione sono situati in zone particolarmente difficili da raggiungere, siti che nemmeno i cittadini palermitani conoscono bene, anche per via anche della chiusura permanente che taluni hanno durante l’anno.

Per venire incontro ai visitatori, gli organizzatori hanno proposto una soluzione a questo problema, inserendo nella pagina del singolo luogo una mappa interattiva che suggerisse le indicazioni stradali per raggiungere il sito turistico di interesse. Una soluzione sicuramente migliore della mappa cartacea, ma di certo poco funzionale per chi, come chi scrive, volesse istantaneamente conoscere la geolocolazzazione dei luoghi da visualizzare per muoversi meglio in città, apprendendo magari quali di essi fossero presenti nel proprio intorno senza perdere tempo navigando tra le pagine del sito web. Deludente è stata in tal senso anche l’applicazione mobile lanciata per questa decima edizione della manifestazione che, sviluppata solo per i dispositivi Android e lanciata nello store digitale solo dal secondo weekend della manifestazione, è risultata essere soltanto una copia “mobile”della versione del sito web.

Lungimiranti, e forse un pò premonitori di ciò che viene fatto nel nostro territorio, alcuni cittadini (tra cui me), decidono quindi autonomamente di fornire un servizio più consono ai dispositivi mobili dei cittadini, che possa supportare in maniera facile e immediata i cittadini al fine di muoversi lungo le vie di questi bellissimi tesori che Palermo possiede sin dall’avvio della manifestazione.

Ed è per questo che vengono sviluppate non una, non due, e nemmeno tre ma quattro mappe digitali, d’impatto e di facile utilità (sviluppate con diverse tecnologie e servizi, e quasi tutte realizzate in data anteriore all’inizio della manifestazione):

Queste mappe sono state realizzate partendo dai documenti messi a disposizione dal sito della manifestazione e dal Comune, pubblicati in un formato non proprio idoneo al facile riuso dei dati. E già qui ci si interroga sul perché tutte le informazioni e i dati utili di questa manifestazione – utili alla realizzazione di potenziali servizi – non siano state pubblicate anche sul sito istituzionale del Comune di Palermo in formato open data, più consono al riuso (anche dati “utili” per un periodo temporale limitato possono essere pubblicati come dati in formato aperto). Si pensi ad esempio se il Comune avesse indetto un contest pubblico per la realizzazione dell’app ufficiale della manifestazione a partire da dati aperti resi disponibili alla collettività, si sarebbe ottenuto, come risultato, il coinvolgimento dei cittadini ed eventualmente la realizzazione di un’applicazione più rispondente ai bisogni dei visitatori dei siti della manifestazione

I link delle mappe georeferenziate citate sopra sono state segnalate attraverso i canali social all’Associazione delle Vie dei Tesori, al Comune e al Sindaco di Palermo, ma esse sono state ignorate, e mai un feedback è stato ricevuto.

Tuttavia si è potuto notare l’utilizzo di questi servizi da parte di una modesta quantità di cittadini. Confermato sia dal numero di visualizzazioni registrate da alcune mappe, sia da parecchi cittadini (in fila con chi scrive) che utilizzavano il proprio smartphone per visualizzare le stesse. Si è persa la possibilità di dimostrare come PA e cittadini possano lavorare in sinergia per il bene comune. Tutti gli autori delle mappe infatti, hanno svolto questo lavoro solo per passione, spirito di condivisione, per confermare l’importanza del riuso dei possibili dati aperti, e soprattutto per l’amore nei confronti di questa città.

Queste considerazioni non sono esternate limitando esclusivamente l’attenzione alla manifestazione, presa come riferimento, che avviene solo un mese all’anno. Visto che la cultura genera economia quello che ci si auspica è che occasioni del genere spingano le amministrazioni pubbliche a impegnarsi di più nel fronte dei dati in formato aperto.

Al momento infatti la sezione “Cultura e Turismo” del sito ufficiale degli Open Data del Comune di Palermo, presenta pochi dataset aggiornati. Sono due i dataset presenti nel sito che contengono informazioni sui siti turistici e luoghi visitabili di interesse. Nel primo però, denominato “Turismo – Elenco dei siti turistici”, mancano alcuni valori di attributi per molti record e in alcuni casi sono presenti informazioni non aggiornate (e il caso ad esempio del Parco Ninni Cassarà chiuso al pubblico già da tempo ma indicato nel file come visitabile). Il secondo invece, denominato “Turismo- Luoghi di interesse”, risulta essere più completo e nella sua descrizione viene espressamente detto che “il dataset contiene le informazioni relative ai luoghi di interesse censiti dall’ufficio del turismo del comune di palermo”. Dando un’occhiata però al sito relativo all’ufficio del turismo del Comune di Palermo ( contattando l’autore del file si ha avuto conferma della corrispondenza file con il portale ufficio turismo) si nota come in esso sono presenti dei luoghi (due su tutti il Parco Uditore e il Museo delle maioliche Stanze al Genio) che nel file mancano (indice forse di mancanza di una redazione che cura i dati). Possiamo quindi dire che questi sono tutti elementi che tolgono sicuramente valore all’efficacia di una politica di apertura dei dati (l’autore dei file è stato contattato, al fine di informarlo delle incongruenze sopra citate, ma al momento della pubblicazione di questo articolo non si sono ricevuti feedback) .

Sono dell’idea che questo tema deve essere un punto di forza per una città come Palermo: la possibilità di puntare su informazioni e dati di qualità accessibili a tutti inerenti al mondo della cultura e del turismo è propedeutico alla promozione di idee per la realizzazione di servizi per i cittadini. Cose che già fanno amministrazioni più virtuose in questo senso ma con meno patrimonio artistico (se mi posso permettere egoisticamente parlando). Ed è appunto prendendo esempio da alcuni comuni più virtuosi in tal senso, ed imparando dalle migliaia di palermitani (tra cui molti giovani) in fila per visitare i tesori di una città ricca culturalmente, che si deve cercare di puntare in tal senso su servizi aggiuntivi stringendo una forte interdipendenza tra PA e cittadino.

Servizi aggiuntivi come mappe, applicazioni, totem informativi, consulenze turistiche (elaborando statistiche del comune sui flussi di turisti) possono essere strumenti su cui far girare anche l’economia di una città, lavorando in sinergia con il Comune e valorizzando/promuovendo il lavoro svolto da soggetti esterni alla PA come già avviene e con ottimi risultati in altre amministrazioni pubbliche nel territorio italiano. Due esempi, tra i tanti, sono quelli del Comune di Firenze e della Provincia autonoma di Trento, in cui è presente l’archivio delle applicazioni sviluppate a partire da dati aperti da società private o singoli cittadini (sia Firenze che Trento) oppure è stata offerta a chiunque la possibilità di proporre una nuova app basata su dati aperti (a Firenze). Questi sono due casi di sinergia di base e di semplice realizzazione.

Wiki Loves Monuments Italia 2016 premia Palermo

Wiki Loves Monuments è un’iniziativa dell’Associazione Wikimedia che, da alcuni anni,  intende valorizzare il patrimonio culturale, monumentale e artistico italiano attraverso la creazione di un archivio di fotografie scattate da chiunque. Le istituzioni, pubbliche e private, aderiscono volontariamente, autorizzando la pubblicazione delle immagini dei monumenti di loro proprietà su Wikipedia con licenza CC BY SA 4.0, CC = Creative Commons,  BY = attribuzione,  SA = condividi allo stesso modo, cioè un tipo di licenza che permette il riutilizzo, anche a fini commerciali, delle stesse foto a condizione di 1) citare l’autore della foto e 2) condividere il frutto del riutilizzo della foto almeno con una licenza analoga alla CC BY SA.

Le foto sono considerate dati e come tali camminano assieme alle licenze che ne disciplinano l’uso da parte di terzi, e ai metadati che descrivono le caratteristiche delle stesse foto.

Wikimedia è il soggetto che ha sensibilizzato quotidianamente (email, telefonate) tantissime istituzioni pubbliche (Comuni, Regioni, Curia, e soggetti privati) al fine di stimolare l’adesione all’iniziativa WLM di chi detiene la proprietà di migliaia di immobili italiani di valore storico e artistico.  Senza l’adesione del proprietario dell’immobile artistico, per via di una normativa, un po balorda nel caso degli immobili pubblici, non è possibile per un comune cittadino fotografare e pubblicare la foto sul web. Infatti dalla sezione domande frequenti del sito di Wikimedia si apprende che: “In Italia l’uso delle fotografie dei monumenti è regolato dal cosiddetto Codice Urbani (D.Lgs 42/2004) e dal successivo Art Bonus (DL 31 maggio 2014, n.83): queste norme non prevedono la possibilità di fare fotografie di monumenti (comunque tutti fuori copyright) e ri-licenziarle con licenza d’uso Creative Commons CC-BY-SA, senza una precisa autorizzazione da parte degli enti pubblici territoriali che abbiano in consegna tali beni o dei privati che ne siano proprietari.

Al Comune di Palermo, Area Innovazione Tecnologica, ad inizio estate, abbiamo ricevuto la richiesta email di Cristian Cenci di Wikimedia per fare aderire i pregevoli immobili del comune a WLM.  Cristian Cenci è il project manager dell’iniziativa WLM, Wiki Loves Monuments Italia 2016 per l’Italia. Non conoscevo Cristian e dal primo contatto si è sviluppata una collaborazione operativa. Ho predisposto immediatamente la lettera del Sindaco il quale in piena estate ha firmato con piacere l’adesione all’iniziativa nazionale.  Ho prodotto anche una mappa con i siti artistici-monumentali di Palermo aderenti all’iniziativa per facilitare l’individuazione dei luoghi.

A settembre c’è stato l’evento estivo di OpendataSicilia a Messina dove Cristian Cenci ha illustrato l’iniziativa WLM ai partecipanti. Un occasione per farla conoscere ad una platea molto ampia.

Il 10 novembre 2016 arriva la notizia di Wikimedia sul responso della giuria del contest fotografico nazionale: la foto “Sala Almeyda” dell’Archivio Storico Comunale di Palermo, scattata  da Enrico Rubicondo, conquista il primo posto nazionale! Una gioia per me, che ho lavorato all’adesione di Palermo a WLM, per i/le palermitani/e perchè valorizza un importante sito culturale della città, il verdetto della Giuria infatti è molto bello: “fotografia che rispetta il rigore formale, nonostante sia scattata da un punto di ripresa interessante e insolito. Le colonne del sapere sorreggono in maniera maestosa e importante un luogo poco visibile, da un punto di ripresa che rende giustizia sia alla struttura architettonica del palazzo sia alla funzione di luogo del sapere”.

sala_almeyda_1-tif

(“Sala Almeyda” dell’Archivio Storico Comunale di Palermo, foto di Enrico Rubicondo rilasciata con licenza CC BY SA 4.0)

Come se non bastasse il primo premio anche Cristiano Drago contribuisce a piazzare Palermo anche al 9° posto con la foto “Sunbean in Fountain scattata al Giardino Inglese.

giardino_inglese_palermo_-_sunbean_in_fountain_-_foto_di_cristiano_drago

(“Sunbean in Fountain al Giardino Inglese di Palermo, foto di Cristiano_Drago rilasciata con licenza CC BY SA 4.0)

E’ stato un piacere essermi trovato in questa esperienza.  Le foto del contest faranno parte dell’archivio di Wikipedia, la libera enciclopedia alimentata dalla conoscenza collettiva nel pianeta, e contribuiranno,  grazie alle foto (rilasciate con licenze aperte) di comuni cittadini e alle istituzioni che hanno aderito a WLM, a far conoscere al mondo intero la ricchezza del patrimonio culturale italiano. Oltre a ringraziare  Cristian Cenci per l’energia e passione che mette nel suo lavoro, al Sindaco di Palermo per la sensibilità verso l’iniziativa, un grazie anche a Andrea Nelson Mauro, Giuseppe Ragusa, Andrea Borruso, Simone Cortesi, che in qualche modo e con  vari contributi sono tutti dentro la realizzazione di questa bella esperienza per Palermo.

 

Prima Giornata della trasparenza 14 luglio 2016

Nella giornata del 14 luglio si è svolta presso l’Aula Consiliare di Palazzo delle Aquile ( Sala delle Lapidi) la “1^ Giornata della trasparenza 2016 del Comune di Palermo”. L’incontro ha avuto come obiettivo quello di affrontare i temi riguardanti le tematiche “[…]dell’Anticorruzione, della Trasparenza e dell’accessibilità alle informazioni sull’organizzazione e all’attività del Comune di Palermo”. Il programma ha visto succedersi diversi interventi da parte di esponenti delle istituzioni palermitane inerenti al tema in oggetto.

Dopo un inizio incentrato sugli obblighi di legge in ambito prevenzione alla corruzione, e trasparenza/diffusione delle informazioni pubbliche da parte della pubblica amministrazione (D.lgs. 33/2013 aggiornato con il D.lgs. 97/2016 ) discussi tra gli altri dal Dottor F. Dall’Acqua (segretario generale anticorruzione del comune di Palermo), si è proseguito con interventi mirati ad evidenziare quali strategie il comune di Palermo sta cercando d’attuare in maniera efficace rispetto a ciò che chiede il sopra citato decreto legge (si veda tra gli altri alcuni documenti che mirano a ciò, citati da alcuni relatori quale il bilancio sociale e il programma della trasparenza). Di particolare interesse sono stati quindi gli interventi, capitanati dal capo area dell’area dell’innovazione tecnologica dottor Marchese, inerenti agli strumenti utilizzati dal Comune di Palermo che caratterizzano tale strategia.
Da colpo di scena è stato in tal senso l’intervento di Ciro Spataro che, brevemente ma in maniera efficace, ha illustrato telefonicamente (supportato da presentazione visibile ai presenti) il sito degli open data del Comune di Palermo, spiegandone funzionalità e tipologia di dati presenti, nonché il processo trasversale tra i dipendenti comunali che portano alla generazione e pubblicazione dei dati. Interessante la sezione delle mappe tematiche che mostra quanto di buono e bello possono fari i dati aperti, e la presa di posizione pronta a mirare ad un formato di dato sempre più dinamico che si aggiorni in concomitanza con chi lo genera.
Di uguale interesse la presentazione, da parte di dipendenti degli uffici tributi del comune e del SUAP, del Cassetto tributi di Palermo e del portale digitalizzato del SUAP, portali informatici che permettono, il primo al cittadino di svolgere tutta una serie di attività inerenti alla propria situazione tributaria (fare istanze on-line, verificare pagamenti e scadenza, effettuare anche il calcolo di IMU, TASI, TARI etc.), mentre il secondo permette a tutti i cittadini di avere assistenza, consulenza e rilascia di documenti a chiunque sia interessato ad entrare nel settore delle Attività Produttive, con obiettivo comune di ridurre al minimo i tempi di attesa di rilascio di documenti e snellire le file agli uffici di competenza.
Tra le esposizioni dei due servizi messi a disposizione dei cittadini, c’è stato anche l’intervento a cura dell’ufficio del web master incentrato su una breve panoramica del sito internet istituzionale e sui relativi profili social, al fine di valutare l’impatto che questi strumenti hanno con il cittadino in termini di comunicazione diretta. Interessante sapere come il sito del comune di Palermo ha avuto un incremento notevole delle pagine visualizzate: si pensi già che solo nel primo trimestre del 2016, numeri si assestano già alla metà delle pagine visualizzate di tutto il 2015. Curioso anche l’impatto che i profili social del Comune di Palermo hanno nei confronti dei cittadini, dimostrando come una buona parte dei cittadini utilizzino tali canali per tenersi aggiornato su notizie relative alla propria amministrazione. A conferma di ciò i numeri dicono che i fan di Facebook sono passati dall’essere 8.806 nel 2014 a 18.708 nel 2015, e per quanto riguarda Twitter si è passato da 14.700 follower a 16.300 già solo nel primo trimestre del 2016. Numeri che magari a possono non entusiasmare ma che comunque in una terra dove ancora si hanno livelli di conoscenza informatica scarsi possiamo dire che sono confortanti, dimostrando che c’è comunque si cerca l’innovazione e la comunicazione diretta tra pubblica amministrazione (PA) e cittadino.

Cittadino??? Beh si. Qua arriva la nota dolente dell’incontro. Tale incontro era aperto a tutti i cittadini per l’ascolto di eventuali osservazioni e suggerimenti, anche perché essi sono attori principali del processo operativo riguardante il tema dell’incontro ( trasparenza e diffusione di informazioni verso chi se non verso il cittadino). E mi dispiace dover scrivere che a questo incontro eravamo non più di 2-3 semplici cittadini (compreso il sottoscritto). Le altre persone presenti erano impiegati comunali, che fra l’altro non sembravano proprio felici di essere lì (forse obbligati? O potevano scegliere se lavorare o assistere all’incontro?)
Se questo incontro era (come credo) anche un tentativo per far avvicinare il cittadino alla PA, è fallito. Un’occasione persa sia dalla PA che dal palermitano. La PA ha perso l’occasione di far conoscere ai palermitani quali strumenti sta cercando di attuare per venire incontro ai bisogni dei cittadini, e per cercare di avvicinarsi anche dal punto di vista comunicativo al cittadino. L’incontro è stato diffuso sul sito web del comune (molto in linea con il tema centrale della giornata, utilizzo del sito del comune e i profili social) e ne è stata data comunicazione alle associazioni di categoria ( si pensi al settore del commercio visto che si è parlato del SUAP); ma nessuno si è fatto vedere.
Per il futuro suggerisco di scegliere un giorno e un orario non lavorativi, una sede più friendly come una piazza o un parco/giardino e utilizzare anche mezzi di comunicazione “classici” (testate giornalistiche o manifesti pubblicitari?).
L’altra campana – i cittadini – ovviamente dal canto suo è impossibilitata a rispondere perché assente. Ed ecco che provo io a rispondere. Da cittadino (unico a prendere la parola per un intervento a fine dibattito) sono realmente inalberato nel constatare questa scarsa partecipazione. Al di là di ogni orientamento politico – e questa è politica, perché in termini di trasparenza della PA o si fanno certe cose o non si fanno – chiunque infatti può presenziare e a fine dibattito può intervenire con un propria considerazione o domanda a favore o contro di ciò che è stato esposto. Magari qualcuno dei nostri amministratori, segretari, politici ( chiamiamoli come vogliamo) prenderà in considerazione qualche proposta, o non saranno d’accordo su qualche idea, o addirittura potranno pure fare finta di ascoltare ma almeno si alza un dibattito e si cerca di far scruscio, e aprire un confronto magari con altri cittadini presenti in platea pronti ad ascoltare e condividere iniziative. Lungi da me sperare di incontrare chi si interessa solo di calcio (è solo una metafora), ma di certo mi sarei aspettato di trovare quei palermitani (semplici cittadini o associazioni) che sulla rete internet si fanno spesso sentire e reclamano risposte dalla PA su questi argomenti. Questa occasione dispiace dirlo è stata persa, anche per tutte quelle persone che si battono per la trasparenza e il rilascio dei dati da mettere a disposizione, perché sono poche le occasioni che mettono nella stessa stanza politici e cittadini.


foto di OKFN