Un BOT ti facilita la vita :-)

Quando da piccolo sentivo in famiglia la parola BOT, si trattava dei miei genitori che avevano deciso di investire i loro risparmi in “buoni ordinari del tesoro“, erano gli anni 80. Oggi, 35 anni dopo, la parola BOT comincia ad avere un ulteriore significato e molto legato al mondo dei servizi #digitali.
BOT oggi significa fruire di servizi nei nostri smartphone.
Ecco, allora, una serie di servizi utili che sono stati creati da persone con rilevanti competenze digitali.
Sono servizi che aiutano i cittadini a trovare facilmente informazioni utili nella vita quotidiana.
Istruzioni per l’uso (come fruire dei Bot su Telegram).
Scaricate l’applicazione Telegram (IOS e ANDROID) sui vostri smartphone.
Quindi nell’app cercate, per esempio, le seguenti parole:
  • Musei Italiani” (di Pierfost Paolicelli), fornisce la localizzazione geografica dei musei italiani più vicini a voi e in più dati su siti web, telefoni dei musei,e altro ancora.
  • Musei” (di Matteo Tempestini), fornisce la localizzazione geografica dei musei italiani più vicini a voi.
  • Protezione Civile Palermo” (di Giovanni Pirrotta), fornisce la localizzazione esatta delle aree di accoglienza del Piano di Protezione Civile di Palermo.
  • Transport CH Bot” (di Pierfost Paolicelli), fornisce informazioni sulle fermate del sistema di trasporto ferroviario più vicino a voi.
  • AMAT PAlermo Bot” (di Giovanni Pirrotta) fornisce informazioni sulle fermate del sistema di trasporto pubblico di Palermo (AMAT) più vicino a voi.
Tutti questi servizi su Telegram hanno una cosa in comune: si alimentano degli OPEN DATA delle pubbliche amministrazioni. Questo aspetto dei servizi informativi su Telegram conferma l’importanza della disponibilità e del riuso degli OPEN DATA al fine di migliorare la qualità della vita quotidiana di tutti noi.
E tutti questi servizi sono utili per palermitani e siciliani, nonché per tutti gli italiani e turisti.
Queste persone, con competenze digitali necessarie a sviluppare software, hanno appena iniziato a creare questi Bot su Telegram, … siamo appena all’inizio di un era di nuovi servizi digitali, fortunatamente.
Di seguito alcuni tutorial utili sulla comprensione del funzionamento dei Bot di Telegram, e per capire soprattutto le belle ed interessanti storie di interazione sociale che ci stanno dietro:

Un grazie a tutti loro per contribuire costantemente alla digitalizzazione dei servizi e per renderli fruibili a tutti.  Allora,… buon BOT 🙂

Trasporti AMAT di Palermo? C’è un Telegram per Te!

Post pubblicato originariamente su giovanni.pirrotta.it.

In questi ultimi tempi in rete si fa un gran parlare di BOT (abbreviazione di robot), ovvero quei programmi che fanno credere all’utente di parlare con una persona reale ma che di fatto sono risponditori automatici utili per fornire servizi vari come ad esempio il meteo, news, quiz, sondaggi, giochi, etc.

Il motivo di tutto questo proliferare di BOT è dovuto principalmente all’apertura di Telegram, nella sua versione 3, al mondo degli sviluppatori. Attraverso l’utilizzo di API ufficiali, infatti, è ora possibile creare, gestire e interagire con programmi BOT, personalizzandoli secondo le proprie esigenze.

Ho sempre visto un alto potenziale nell’uso di questo tipo di applicazioni e la scelta di Telegram potrebbe rivelarsi particolarmente azzeccata in questo senso.

Esattamente due anni fa anch’io ho iniziato a interessarmi di BOT, ad immaginarmi il mio smartphone come un telecomando da pigiare per ottenere specifici servizi: informazioni sui programmi televisivi, previsioni meteo, eventi serali della mia città, orari di apertura degli uffici pubblici, etc. Ho sviluppato quindi un BOT su Twitter grazie al quale, con un semplice tweet e una microgrammatica, riuscivo ad inviare richieste ad un’applicazione per ottenere informazioni sui programmi televisivi della serata. Descrivo nel dettaglio l’implementazione del progetto, che si chiama per l’appunto cosaceintv, in questo post; il sito del progetto è cosaceintv.it.

Tuttavia Twitter non consente di creare BOT in modo nativo per cui, per raggiungere lo scopo, sono dovuto scendere a compromessi, chiamateli workaround.

Vero è che l’app non è diffusa come WhatsApp, l’attuale killer application nel settore dell’instant messaging, (molti si aspettavano dei segnali di apertura API da WhatsApp in occasione dell’ultima conferenza F8 di Facebook, ma invece nisba) ma è anche vero che Telegram sta guadagnando sempre più terreno grazie soprattutto a scelte aziendali che si stanno rivelando strategicamente vincenti, come ad esempio

  • il rilascio del sorgente in opensource,
  • l’alta attenzione nei confronti della sicurezza e della privacy degli utenti,
  • la possibilità di creare chat segrete e autodistruggenti dopo un tempo prestabilito,
  • un design pulito e gradevole,
  • la totale gratuita,
  • l’assenza di pubblicità
  • ed infine, non meno importante, l’ultima feature aggiunta cioè la possibilità di creare BOT per la gestione di servizi personalizzati e l’interazione in modo programmatico attraverso API.

Più che una semplice app di messaggistica Telegram è di fatto una vera e propria piattaforma e in rete si trovano già applicazioni BOT di qualsiasi tipo; le più popolari si possono trovare al seguente link.

Ma anche in Italia cominciano a vedersi progetti interessanti.

A Prato Matteo Tempestini ha sviluppato il BOT Emergenze Prato per essere aggiornati in tempo reale su condizioni meteo, possibili allerte e segnalazioni. A Lecce, utilizzando gli opendata del comune e non solo, Pier Paolo Paolicelli (piersoft) ha sviluppato OpenDataLecceBot con il quale è possibile ottenere informazioni su meteo, temperatura, qualità dell’aria, orari delle scuole, tariffe aree ZTL, eventi culturali, etc. Il servizio trasporti bus TPER fornisce informazioni aggiornate sui bus di Bologna usando i servizi informativi e gli opendata. (tperbot.)

Incuriosito quindi da tutto questo fermento mi è venuta voglia di rimettermi in gioco anch’io con i BOT e smanettare un pò con questa piattaforma. Ho accolto, quindi, il suggerimento di piersoft  che consigliava di replicare il servizio offerto dalla TPER di Bologna sui trasporti anche per la città di Palermo, dato che i dati sui trasporti palermitani sono rilasciati dall’ azienda AMAT in formato GTFS con licenza OpenData.

La specifica GTFS (General Transit Feed Specification) è stata sviluppata da Google e definisce un formato comune per rappresentare informazioni orarie di un sistema di trasporti (bus, metro, treno, etc) associandole ad informazioni geografiche.

La specifica struttura i dati organizzandoli in un insieme di file CSV.

I più importanti sono i seguenti:

  • agency – informazioni inerenti l’azienda che gestisce i trasporti;
  • routes – informazioni sulle linee dei trasporti;
  • trips – informazioni inerenti le corse per ciascuna linea;
  • stops – le fermate geolocalizzate;
  • stop_times – l’orario di arrivo e partenza e la sequenza per ogni corsa in ciascuna fermata;
  • calendar – periodo del servizio trasporti su base settimanale;
  • calendar_dates – date in cui vi sono delle eccezioni rispetto a quanto descritto incalendar (ad. es. feste)

Per la specifica completa si rimanda alla pagina ufficiale GTFS

Quindi mettiamoci al lavoro e scarichiamo i dati dal sito AMAT di Palermo.

Per prima cosa scarico il file zippato GTFS dalla pagina OpenData del Comune di Palermo.

Decido di caricare tutti i file CSV all’interno di un dabatase Mysql, per cui inizio a cercare in rete degli statement DDL in modo da risparmiarmi il creare tutto a manina. Uno potrebbe pensare che, essendo GTFS un formato ben definito, uno schema DDL vale l’altro.

Errore!!!

Quelli che seguono sono alcuni consigli che vi potrebbero farvi risparmiare tempo e mal di testa quando decidete di creare uno schema GTFS trovato in rete.

REGOLE D’ORO

  1. Analizzare sempre e bene la qualità dei dati da importare prima di importarli
  2. GOTO 1 ;–)

La maggior parte dei campi id degli schemi che ho trovano in rete è in formato intero mentre nella maggior parte dei record dei dati GTFS AMAT il campo idcontiene anche valori alfanumerici, ergo trasformate tutti gli id da int a varchar.

Per importare i dati automaticamente ho usato uno script in python scaricato da github. Trovate un fork sul mio repository github in quanto lo script conteneva un bug relativo al caricamento di codici alfanumerici contenenti il carattere E. Lo script erroneamente parsava i codici contenenti il carattere E come formato esadecimale considerandoli interi invece di stringa. Trovate la versione fixata nel mio repo.

A questo punto iniziamo a scrivere un pò di codice. La documentazione di riferimento per creare BOT con Telegram è fatta benissimo e la trovate al seguente link. Per lo sviluppo del codice ho usato questa libreria PHP a sua volta descritta in modo molto chiaro qui. La libreria è stata sviluppata per il framework PHP Laravel ma può essere utilizzata anche in modalità standalone.

La prima cosa da fare è creare il bot. Per fare questo bisogna aggiungere sul proprio client Telegram l’utente @BotFather e inviargli il seguente comando /newbot. Dopo aver risposto ad alcune domande, ad esempio nome ed username del BOT, viene generato un TOKEN che rappresenta il ponte di collegamento tra il nostro software e Telegram. Per maggiori dettagli sulla creazione dei bot fate riferimento alla documentazione ufficiale.

Per poter interagire con Telegram scriviamo quindi:

Nella response troveremo informazioni sul bot creato. Per poter inviare messaggi all’utente bisognerà indicare, oltre al messaggio, anche l’ID della chat in modo che solo l’utente che ha fatto la richiesta possa ricevere il messaggio di ritorno.

Oltre a messaggi di testo il nostro BOT può rispondere anche con immagini, audio, video, allegati, etc.:

Ma come fa l’utente a chiedere le informazioni al BOT? Inviando dei comandi.

Per creare un comando, usando la libreria PHP, è necessario estendere la classe Command e implementare il metodo handle. Creare un comando è un’operazione veramente banale, è infatti necessario inizializzare semplicemente la variabile namecon il nome del comando che si vuole creare. Nell’esempio si sta creando il comando /start.

Nell’esempio che segue, digitando da Telegram il comando /start il BOT risponderà con Hello World!

 

Non mi soffermerò oltre su questa libreria perchè, come già detto, è presente una documentazione completa ed esaustiva.

Vediamo adesso le feature più importanti che dovrà avere il nostro BOT. Verranno descritte le più importanti scelte adottate per la logica applicativa. Si tratta essenzialmente di recuperare informazioni dal database e di formattare l’output, ci soffermeremo quindi solo sulle query SQL più importanti.

La prima versione di amatPABot, questo il nome del BOT, implementa due funzionalità:

  • Orario Linee
  • Fermata più vicina

Orario Linee

Le informazioni sono tutte presenti nel db per cui all’interno del metodo handleviene gestita la logica per estrarre le informazioni relative alle linee AMAT di Palermo.

La query SQL utilizzata per mostrare le linee:

 

 

A questo punto viene mostrato l’elenco delle linee AMAT. L’utente può scegliere la linea di cui vuole sapere gli orari. Una volta scelta la linea un nuovo comando recupererà il nome delle fermate della linea (Andata e ritorno) e gli orari relativi.

Per recuperare gli orari delle corse uso la seguente query SQL, passandogli l’id della linea e l’id del servizio, cioè del periodo di riferimento nel calendario.

A questo punto l’output ottenuto è il seguente:

Passiamo adesso all’altra funzionalità.

Fermata più vicina

Per ottenere informazioni sulla fermata più vicina dobbiamo per prima cosa cliccare sulla graffetta e inviare la nostra posizione geografica

Fatto ciò un comando calcolerà le 5 fermate più vicine recuperandole dalla tabellastops eseguendo la seguente query:

Il valore 6371 è la lunghezza del raggio della terra. La formula utilizzata calcola la distanza in KM tra due punti espressi in latitudine e longitudine. Per maggiori informazioni fate riferimento qui e qui.

Per ogni fermata recupero anche il nome delle linee passanti.

 

Vengono mostrate a video le 5 fermate più vicine con le relative linee passanti. La prima fermata viene visualizzata su una mappa (si lo so, è Google Maps e non OpenStreetMap; nativamente Telegram usa le mappe di Google per inviare al client le posizioni geografiche; per usare OSM si potrebbero, ad esempio, creare al volo immagini statiche e inviarle all’utente per la posizione delle fermate).

Per il deploy del BOT ho usato Cloudflare per avere una connessione SSL, condizione necessaria per poter utilizzare il WebHook in Telegram, invece del metodo manuale getUpdates.

Ricapitolando

  • Il BOT è funzionante con i dati aggiornati al 2015;
  • Sulla correttezza e consistenza dei dati non garantisco. Non prendetevela con me per eventuali inesattezze e/o sbagli :–)
  • Il BOT sviluppato è ancora una demo. E’ possibile aggiungere altre funzionalità, il limite è la fantasia.

Per interagire con il bot dovete aggiungere al vostro client Telegram il contatto: @amatPABot.

Il codice sorgente lo trovate qui.

Attenzione, è’ una versione ancora poco stabile, non pronta per andare in produzione.

Se questo lavoro vi è piaciuto un pò, potreste contribuire a farlo conoscere in giro sui social, grazie.

Twittami

 

 

Idee, critiche e suggerimenti sono benvenuti.

That’s all folks! Stay tuned!

Mappe spazio-temporali per eventi culturali in Sicilia

L’idea della mappa spazio-temporale degli eventi culturali in Sicilia nasce da qui: http://www.visitsicily.info/eventi/.

Visto così questo elenco di eventi, non sembra attirare molto l’attenzione o stimolare il desiderio di andare. Allora siccome noi di Open Data Sicilia non riusciamo mai a stare fermi (e meno male!), ci siamo messi in moto per creare una modalità di visualizzazione di eventi su una mappa dove trova posto sia la localizzazione geografica dell’evento, che il tempo nel quale esso avviene.

In aiuto ci viene http://timemapper.okfnlabs.org/, un tool online gratuito e open source che fa al caso nostro. In pochi passaggi è possibile costruire una mappa spazio-tempo. Vediamo come si fa. Innanzitutto è necessario creare un database tabellare in google spreadsheet, ecco quello realizzato al nostro scopo: https://docs.google.com/spreadsheets/d/1fjqia1X6yncXymMxwF_mTxIygPucR6ORTLVqkY6p0Ts.  Nei campi bisogna inserire i dati fondamentali che dovranno essere visualizzati nella mappa di timemapper, dal titolo evento, alla data, al link di approfondimento, all’immagine che si vuole visualizzare nell’evento, ad un campo in cui l’indispensabile Andrea Borruso ha inserito una funzione, un piccolo codice che consente di creare automaticamente coordinate di latitudine e longitudine non appena abbiamo scritto il nome del paese o città in cui è previsto l’evento culturale (basato sulle API di MapQuest e sui dati OpenStreetMap). Quindi compiliamo la tabella inserendo i dati che provengono dall’elenco del sito istituzionale regionale http://www.visitsicily.info/eventi/.

Una volta compilato il database, si passa a inserire il link del database di google spreadsheet sul sito di http://timemapper.okfnlabs.org/. L’importante è avere reso pubblico il dataset di google attraverso il pulsante azzurro di condivisione in alto a destra, ed avere provveduto a selezionare “file” e poi “pubblica sul web”. Nell’area “Type of Data View” di timemapper bisogna spuntare “Timemap”. E si passa quindi a “Publicare” il database. Automaticamente il portale di Timemapper provvederà a pubblicare la mappa spazio-temporale.

timemapper

Ed ecco pronta quella degli eventi culturali 2015 in Sicilia = http://timemapper.okfnlabs.org/cirospat/timemapper-template. Che ve ne pare? E’ più gradevole del semplice elenco di eventi nel sito istituzionale del turismo in Sicilia http://www.visitsicily.info/eventi/ ? 😉

Ovviamente, e sottolineo ovviamente, il database è in open data, e se l’Assessorato regionale al Turismo volesse adottare lo strumento di timemapper, perché ritenuto gradevole come visualizzazione di eventi di attrazione turistica,  saremo ben lieti di condividere il database in priorità di modifica per ulteriori implementazioni. Il database in google spreadsheet è scaricabile da chiunque come “modello dati” per tutti gli scopi che chiunque ritiene validi e interessanti per la creazione di future mappe spazio-temporali.

 

ANAC e Indice PA: i dati sugli enti non tornano?

Mi trovavo a valutare l’utilità della piattaforma Public Contracts messa in piedi dal “Nexa Center for Internet & Society”. Si tratta di un servizio che traduce in Linked Open Data i dati esposti dalle pubbliche amministrazioni italiane secondo quanto prescritto dalla Legge 190/2012, che disciplina, tra l’altro, gli obblighi di trasparenza, pubblicità e diffusione delle informazioni riguardanti i bandi di gara ed i contratti pubblici. In particolare rende possibile la ricerca per stazione appaltante e per aggiudicatario.

I “dati esposti” a cui si fa riferimento, nonché fonte dei dati, sono quelli contenuti nei file xml pubblicati dalle amministrazioni e il cui URL è stato comunicato all’ANAC (Autorità Nazionale anticorruzione), come previsto dalla Legge 190/2012 all’art. 1 comma 32, e da quest’ultima reso pubblico in una tabella disponibile sul sito del Registro ANAC

Una constatazione e una domanda

Interrogando la piattaforma “Nexa Center”, digitando il nome di alcuni enti locali di mio specifico interesse, ne riscontro l’assenza. Di conseguenza ne deduco risultino assenti anche le informazioni sugli aggiudicatari dei relativi bandi e contratti. Verifico quindi che tale assenza sia riscontrabile anche alla fonte nel Registro ANAC. Da ciò mi sorge spontanea una domanda. Quanti e quali amministrazioni risultano inadempienti circa gli obblighi di comunicazione imposti in particolare dall’art. 1 comma 32 della Legge 190/2012?

Analisi

Nelle FAQ della piattaforma “Nexa Center” si legge che “al 21/05/2015, circa il 30% dei link di file xml presenti sul portale Open Data dell’ANAC sono errati o non restituiscono file validi, e circa 5000 PA sono completamente assenti sul portale Open Data ANAC”.

Chiedendomi quindi quale sia il termine di paragone che permetta di definire il numero di PA completamente assenti dal portale ANAC ipotizzo possa essere l’Indice delle Pubbliche Amministrazioni (IPA) i cui dati aperti vengono rilasciati online (in applicazione dell’art. 50 comma 1 del D.Lgs. 82/2005). Tale ipotesi mi viene confermata dal “Nexa Center” a mia specifica richiesta via e-mail. Mi prefiggo quindi di estrarre l’elenco esatto delle amministrazioni inadempienti circa la comunicazione ad ANAC. Esporto quindi il “Registro comunicazioni anno 2015 Art.1 comma 32 L.190/2012” e le “Amministrazioni” dal sito IPA. Per comparare le due banche dati considero le colonne dati presenti in entrambe: Codice Fiscale e Ragione Sociale.

Un grafico e una tabella di sintesi

Stato degli Enti Numero*
Presenti su ANAC 17961
Presenti su ANAC e in regola 8800
Presenti su ANAC ma non in regola 9159
Presenti su ANAC con stato da definire 2
Presenti su ANAC ma assenti su IPA circa 2250
Presenti su IPA 22624
Presenti su IPA ma assenti su ANAC circa 6890

* Data rilevazione 20/07/2015

Alcuni chiarimenti sulla tabella:

  • Enti presenti sul registro ANAC ed in regola: Sono gli enti che hanno comunicato l’URL della risorsa in formato xml, acquisita da ANAC, ed il cui contenuto rispetta sintatticamente le specifiche tecniche per la pubblicazione dei dati;
  • Enti presenti sul registro ANAC ma non in regola: Sono gli enti che hanno comunicato l’URL della risorsa in formato xml ma una o più risorse non sono risultate disponibili o verificabili per non conformità sintattica alle specifiche tecniche per la pubblicazione dei dati;
  • Enti presenti sul registro ANAC con stato da definire: l’accesso automatizzato alla risorsa da parte di ANAC non è stato ancora eseguito;

I dati relativi agli “Enti presenti su IPA ma assenti su ANAC” ed agli “Enti presenti su ANAC ma assenti in IPA” non sono puntuali in quanto le due banche dati non sono attualmente del tutto comparabili in virtù di errori nei codici fiscali, nelle denominazioni e comunque a causa di una differente formattazione nei contenuti dei rispettivi campi. Sarebbe quindi ulteriormente necessaria un’armonizzazione dei dati tra le due banche dati.

I risultati della ricerca

  • Il 51% degli enti presenti nel Registro ANAC nonostante abbiano comunicato l’URL del file xml non risultano aver rispettato le specifiche tecniche di pubblicazione definite dall’ANAC stessa.
  • Il numero e l’elenco esatto relativo agli enti inadempienti con riferimento alla comunicazione ad ANAC dell’URL di pubblicazione del file xml non è ottenibile semplicemente dalla differenza matematica tra i totali degli enti presenti nelle banche dati IPA  ed ANAC in virtù della presenza di enti in ANAC non elencati in IPA (circa il 12,5%) e di enti in IPA non elencati in ANAC (circa il 30%).
  • I dati incerti della presente analisi derivano dalla mancanza di univoca determinazione delle amministrazioni in entrambe le banche dati tramite un comune indicatore.
  • Le banche dati risultano incomplete tra loro non facilmente comparabili
  • Un servizio di Linked Open Data molto interessante in ottica di maggiore consapevolezza su gare e contratti ma limitato dalla precedente conclusione.

Ho riassunto la ricerca in queste slide

 

Legenda e acronimi

Acronimi
ANAC: Autorità Nazionale anticorruzione
IPA: Indice delle Pubbliche Amministrazioni

Fonti
http://dati.anticorruzione.it/L190.html
http://public-contracts.nexacenter.org
https://github.com/nexacenter/public-contracts/blob/master/FAQ.md
http://www.indicepa.gov.it/documentale/n-opendata.php

Il 1° #mappathon pubblico a #Palermo, 25.06.2015 @PMOcoworking

Il primo #mappathon di Palermo si tiene il 25 giugno 2015 nell’accogliente sede di PMO coworking. L’incontro viene promosso attraverso una pagina FB dedicata.

Il MAPPATHON è un incontro gratuito di formazione e di networking per tutti gli appassionati di cartografia partecipata!

I membri di OPEN DATA SICILIA e di MOBILITA PALERMO hanno fatto da tutor per spiegare l’importanza di avere a disposizione mappe georeferenziate dai temi di interesse pubblico riferiti al territorio della nostra città, e hanno aiutato i partecipanti a realizzarle in totale autonomia!

Ogni partecipante ha portato con se il proprio laptop in modo da lavorare autonomamente alla creazione delle mappe.

STEP 1 = TEMA DELLA MAPPA

Dopo una breve autopresentazione dei partecipanti si è passati subito a individuare un tema: la mappa degli spazi di Palermo che per le loro carattersitiche si prestano a realizzare eventi pubblici (concerti, workshop, hackathon, ecc).

mappathon 1

STEP 2 = CREIAMO IL DATABASE SU UN FOGLIO ELETTRONICO ONLINE

Apriamo il nostro Google Drive e creiamo un database http://bit.ly/1NlepOO nel quale inseriamo innazitutto i campi Latitude e Longitude, e poi nome del sito, via, cap, note, e tutte quelle informazioni che crediamo utili per la descrizione del sito, scegliendo per ogni tipo di informazione una relativa colonna. Quindi cominciamo a inserire i contenuti nelle celle del foglio elettronico. Non dimentichiamo di rendere questo foglio elettronico condiviso in maniera tale che chi ha il link può visualizzarlo, servirà per farlo leggere alla piattaforma di UMAP ed essenziale, quindi, per creare la mappa!

mappathon 2STEP 3 = COME TROVARE I DATI DI LATITUDINE E LONGITUDINE

Per trovare i dati di latitudine e longitudine (che scriveremo nel foglio in inglese “latitude e longitude” per meglio dialogare con le piattaforme di georefrenziazione) possiamo usare tanti strumenti semplici, tra i quali:

  • http://it.mygeoposition.com/  nel quale possiamo inserire via, num. civico, città ed eventualmente cap. Immediatamente verrà visualizzato il dato di latitude e longitude che possiamo copiare e incollare nelle rispettive colonne del foglio su GDrive.
  • https://www.google.it/maps e andando sul punto che conosciamo sulla mappa, cliccando sul tasto destro mouse, andiamo su “che cosa c’è qui”, subito apparirà in alto a sinistra una finestra pop up con i dati di latitude e longitude.

mappathon 3STEP 4 = SI COMINCIA A LAVORARE SULLA PIATTAFORMA ONLINE DI UMAP

http://umap.openstreetmap.fr/it/ è una piattaforma online gratuita per creare mappe georeferenziate e basata sulle mappe di openstreetmap, cioè quelle liberamente create ed aggiornate dalla comunità mondiale. Si va a “crea una mappa”  e si porta la mappa su Palermo e si clicca sul penultimo strumento a destra in alto, un puntino con 2 frecce, che bloccherà la mappa a quel livello territoriale di Palermo. Successivamente si seleziona il layer di default creato da UMAP, si va in alto a sinistra, cliccando sulla matita si accede al banner di sinistra dove troveremo “dati remoti”. E qui ci fermiamo per ora.

mappathon 4STEP 5 =  CONVERSIONE DELL’INDIRIZZO URL DEL FILE DI GOOGLEDRIVE PER RENDERLO LEGGIBILE DA UMAP

attraverso il procedimento spiegato passo passo in questo tutorial http://bit.ly/1djRgiv riusciamo a trovare la sintassi esatta dell’URL del database che abbiamo creato con GDrive. Questa sintassi servirà per inserire l’URL corretto nel campo “URL” della sezione “Dati remoti” su UMAP (trattata nello step 4).

A questo punto salvando le impostazioni nella sezione “Dati remoti” (operazioni da eseguire = inserire URL, selezionare formato CSV, spuntare “dinamico” e “richiesta proxy” e premere salva in altro a sinistra) vedremo per incanto spuntare i marcatori di colore blu (colore di default ma che possiamo cambiare) nella nuova mappa.

Abbiamo appena dato vita ad una nuova mappa http://umap.openstreetmap.fr/it/map/esercitazione-per-mappathon-palermo-25-giugno-2015_45262 (questa è la mappa creata nel profilo UMAP di Ciro).

Ogni qualvolta aggiorneremo il database nel foglio elettronico di GDrive http://bit.ly/1NlepOO automaticamente spunterà un nuovo marcatore nella mappa creata.

COSA ABBIAMO FATTO QUINDI ….

Abbiamo dimostrato come correlare un database creato su GoogleDrive del proprio account Google ad una piattaforma di mappe georeferenziate come UMAP fa generare mappe aggiornabili in tempo reale.

Questo è stato il primo incontro, basilare per dimostrare questa correlazione database-mappa, un prossimo incontro che si ha intenzione di effettuare a breve nella stessa sede di PMO coworking permetterà di esplorare tutti i livelli di personalizzazione di UMAP, in maniera tale da soddisfare le esigenze individuali di rappresentazione grafica dei dati su MAPPE GEO REFERENZIATE. E ulteriore attenzione sarà prestata al tema delle licenze per il rilascio dei dati (delle mappe) in formato aperto.

mappathon 5

IMPRESIONI POST MAPPATHON

Alla fine del mappathon abbiamo avuto tutti la sensazione che conoscere questi semplici strumenti (database e piattaforme di georeferenziazione) aiuta a condividere la conoscenza del territorio che ognuno di noi possiede. Una conoscenza di dati che altri possono utilizzare per implementare con ulteriori dati,  e che potenzialmente permette anche di creare opportunità per nuove occupazioni lavorative legate al mondo DATI (data scientist, data analist, data manager, …). L’entusiasmo dei presenti nello scoprire le potenzialità delle mappe georeferenziate è stato di livello elevato, come anche alto è stato il livello di coinvolgimento individuale nel seguire le procedure esposte.

Stay tuned su OpenDataSicilia e sul relativo gruppo FB  per il prossimo #mappathon 🙂

Questo mappathon si è potuto realizzare grazie al lavoro di rete dei team di OpenDataSicilia, del PMO coworking e di MobilitaPalermo.

Tante aziende agricole siciliane, poche vendono direttamente al consumatore: i #dati

Il Portale GIS dell’Istat è un comodo e facile strumento online, per visualizzare dati statistici su mappa. E’ consultabile da chiunque e non richiede particolari competenze digitali. Contiene tantissimi dati preziosi a livello nazionale, regionale, provinciale e comunale. Dati su  AGRICOLTURA – FAMIGLIA – ISTRUZIONE – LAVORO – STRANIERI. Dati aggiornati al 2011, quindi anche recenti per fare analisi, comparazioni territoriali e un po di sano datajournalism.

Da siciliano ho concentrato la consultazione dei dati sul tema #AGRICOLTURA. Quindi sul menù a tendina che si trova in basso sulla pagina del portale ho selezionato livello territoriale “Regioni” e su indicatore ho selezionato prima “Agricoltura” e poi “Aziende agricole – num. per kmq per Province“.  Ho trovato per la Sicilia n. 8,54 aziende agricole per kmq di terra, un numero elevato, insieme a Calabria, Puglia e Campania, che sono le regioni con il più elevato numero di aziende agricole per kmq di superficie.

aziende n x kmqclicca per ingrandire

Poi ho selezionato, sempre nel menù indicatore / Agricoltura / “Aziende con vendita diretta al consumatore – % per Regioni”. Ho scoperto che malgrado l’elevata concentrazione di aziende agricole per kmq in Sicilia, c’è una percentuale di vendita diretta al consumatore bassa: 23%, contro la vicina Calabria che si attesta al 64%, quasi il triplo.

aziende n x kmqclicca per ingrandire

E’ strano. Tante aziende agricole in Sicilia ma la maggior parte non vende direttamente al consumatore, diversamente da quanto avviene nella vicina Calabria.

La consultazione di dati online, attraverso infografiche e mappe, fa comprendere tanti fenomeni. Partendo da questi dati consultati sul geoportale Istat, sarebbe interessante e utile capire perchè i 3/4 di queste aziende agricole siciliane non vendono direttamente al consumatore, in una terra di 5 milioni di persone!!!

#Petrusino, servizi online utili a tutti

Oggi nasce Petrusino, un catalogo multitematico di siti web, applicazioni per dispositivi mobili, mappe online, servizi web e infografiche, con un’attenzione particolare alla Sicilia.  Petrusino è “prezzemolo” in siciliano. Abbiamo pensato a questo nome per giocare un po’ con il nostro amato dialetto, usando una parola che si associa a ciò che è un po’ in ogni minestra. E alle volte siti, app, mappe … sono proprio come “u’ petrusinu”.

Il focus territoriale dei servizi catalogati su Petrusino è la Sicilia. Abbiamo incluso delle mappe e servizi nazionali online in quanto contengono dati e informazioni utili e preziosi anche sulla questa regione. Il catalogo è basato su un database compilato online e aggiornato dai membri di Open Data Sicilia.

Queste applicazioni sono dislocate su piattaforme e indirizzi web diversi tra loro, sparsi nell’universo internet. Come si fa a trovarle, e non perdere la rotta?  Bisognerebbe cercarle sui motori di ricerca, nella speranza che non siano annidate tra decine di pagine e centinaia di risultati.  Con Petrusino vorremmo fare risparmiare tempo agli utenti della rete, che cercano questo tipo di risorse.

E’ un iniziativa crowdsourcing, alimentata da noi di Open Data Sicilia, ma da chiunque voglia farlo (vediamo di seguito come).

LA STRUTTURA DI PETRUSINO

  • Home = la pagina madre del catalogo, dove vengono elencati tutti i servizi, mappe, app. Attraverso degli strumenti interni alla pagina è possibile effettuare ricerche per criteri (territorio, descrizione, categoria) o semplicemente per parola chiave.
  • Cosa è? = la descrizione di Petrusino, della sua utilità e una breve nota su come nasce.
  • Proponi = per dare a chiunque la possibilità di segnalare servizi online, mappe georeferenziate o applicazioni utili per dispositivi mobili, compilando facilmente un campo nella stessa pagina. Provvederemo ogni settimana ad aggiornare il catalogo.
  • Open = una pagina che illustra come Petrusino sia aperto, in termini di dati, strumenti e codice.

ESEMPI

Ecco alcuni esempi di servizi web, mappe e applicazioni per dispositivi mobili inseriti nel catalogo, contestualizzati territorialmente e tematizzati:

  • mappa georeferenziata con l’individuazione delle scuole comunali di Palermo con il dato della via, numero civico e sezioni di voto elettorale;
  • mappa, con il perimetro delle circoscrizioni comunali di Palermo, e l’indicazione della quantità di rifiuti con amianto rimossi dal Comune negli anni;
  • mappa con le aree del centro storico con una categorizzazione degli edifici con particolari criticità per la staticità strutturale;
  • app che ricorda i turni quotidiani della raccolta differenziata;
  • servizio web che ci fa scaricare certificati anagrafici comodamente a casa, evitando di raggiungere fisicamente le circoscrizioni e gli uffici comunali;
  • servizio sanitario per il cambio medico online e per l’esenzione del ticket per basso reddito;
  • mappa dei pediatri;
  • mappa delle ludoteche in città;
  • app per pagare, con lo smartphone/tablet, il bus urbano ed  il parcheggio nelle zone a sosta tariffata del comune;
  • e… tantissime altre applicazioni per dispositivi mobili, mappe e servizi web utili ad ogni cittadino ogni giorno.

Nel catalogo di Petrusino abbiamo, anche, creato una categoria denominata “Data Visualization”, perchè molti open data oggi vengono riusati per creare infografiche efficaci, che, ad esempio, ci aiutano a conoscere l’ammontare delle spese di un comune per categorie precise (illuminazione pubblica, asili nido, manutenzione strade).

Oltre che condividere servizi online, intendiamo, contestualmente, contribuire all’accrescimento delle competenze digitali della collettività. Crediamo che la conoscenza delle risorse di questo catalogo possa rendere il cittadino più informato sull’ambiente in cui vive, quindi più consapevole e attento al proprio contesto.

Siamo partiti dal censimento avviato da Ciro Spataro (fatto essenzialmente su Palermo), un lavoro che Giulio Di Chiara ha voluto valorizzare, e sui cui Andrea Borruso e Andrea Nelson Mauro sono intervenuti in fase di progettazione e editing.

Con Petrusino quel censimento diventa uno strumento collettivo, comodo, aperto e allargato a tutto il territorio regionale: vi invitiamo quindi a inserire “petrusino” nei vostri preferiti e proporre nuove risorse da inserire nel catalogo e farlo diventare sempre più utile.


Foto di brunifia

Mappa prodotti DOP/IGP: ecco a che serve aprire i dati

Sono 892 i prodotti DOP e IGP censiti del Ministero delle Politiche Agricole al 5 Novembre 2014. Un elenco che si aggiorna periodicamente e che traccia i cibi di qualità lungo tutta la penisola.

  • Di seguito un grafico con la classifica delle prime dieci province per numero di prodotti registrati.
Prime-dieci-province-per-Numero-di-Prodotti-DOP-IGP-Numero_chartbuilder
  • >A seguire invece la classifica delle prime dieci regioni per numero di prodotti registrati.
Prime-dieci-regioni-per-Numero-di-Prodotti-DOP-IGP-Prodotti_chartbuilder

Da questa mappa è possibile cliccare sui marker delle singole province e visualizzare l’elenco dei prodotti DOP/IGP registrati


Da questa tabella è possibile cercare i prodotti DOP/IGP per nome o per provincia.

Per rendere facili analisi di questo tipo sarebbe sufficiente che:

  • Il Ministero pubblicasse i dati in forma tabellare (un csv o persino un xls) invece di pubblicarli in PDF
  • Ad ogni prodotto venisse assegnato un ID unico. Adesso invece – potrei sbagliarmi – ma mi pare di capire che la colonna “N” non rappresenta la chiave identificativa del prodotto, ma un numero progressivo dell’elenco. Confrontando ad esempio l’elenco del 05/11/2014 (pdf qui) e l’elenco del 05/12/2014 (pdf qui), lo Zampone Modena risulta al “N 268” in uno dei due e al “N 269” nell’altro. Una cosa che farebbe saltare sulla sedia anche il meno esperto di dati/opendata 🙂
  • Invece di ripubblicare ogni mese (sic!) lo stesso file PDF con lo stesso elenco o tutt’al più aggiornato di una o due voci che si aggiungono, il Ministero potrebbe esporre i dati in una tabella HTML e scaricabili e semplicemente garantirne il mantenimento, aggiungendo di volta in volta i nuovi prodotti.

Perché è in Sicilia il gasolio più caro d’Italia?

Le tre mappe incluse in questo post visualizzano due tipologie di dati:

  • I primi sono le raffinerie italiane (geolocalizzazione con i dati OpenStreetMap – MapQuest/Nominatim), come elencate sul sito SacerPetroli in un’apposita sezione. Ho fatto un piccolo scraping di questi dati e li ho messi su uno spreadsheet qui.
  • I secondi, quelli dai quali dipende la colorazione dal verde chiaro al verde scuro (e che hanno una storia più complessa che racconto più in basso nel post), rappresentano il costo medio del gasolio per provincia, in base alle rilevazioni dell’Osservatorio Carburanti del Ministero dello Sviluppo Economico, raggiungibile a questo indirizzo

Visualizzando molto semplicemente questi dati (con QGis, su cartografia delle Province di Istat) emergono due elementi che mi hanno molto colpito. La prima: stando ai dati di SacerPetroli in Sicilia sono presenti ben 4 raffinerie sulle 17 totali attive in Italia (circa il 25%) – a Priolo (Siracusa) ci sono due stabilimenti – che hanno una capacità produttiva di circa 43 milioni di tonnellate, quasi la metà rispetto a tutte le altre raffinerie italiane messe insieme.  La seconda: il costo  medio del gasolio in Sicilia è tra i più alti in Italia.

output_RqipZc

Non so bene che tipo di incidenza abbiano le”accise“, una delle famigerate tassazioni indirette di questo Paese giocherellone (il miliardario e il povero pagano la stessa cifra), ma se non erro (e nel caso modifico il post) le Regioni (quindi anche la Regione Sicilia) hanno potere di intervenire per modificarne l’ammontare. Mi chiedo come sia possibile tutto ciò in una regione come la Sicilia che ha il terzo PIL pro-capite più basso d’Italia. E credo che se ci fosse trasparenza maggiore su questi dati, nonostante lo sforzo del Ministero nel renderli consultabili (ma non aperti), i siciliani avrebbero le prove per chiedere chiarezza e pretendere una riduzione di questi costi sul carburante.

Qui di seguito una tabella riepilogativa: in questo caso i dati presenti riguardono anche il 15 del mese di agosto, settembre e ottobre.

Come ho costruito le mappe

Su Spaghetti Open Data qualche mese fa il buon Sabas ha costruito un processo di scaricamento e aggiornamento automatico di un database che raccoglie questi dati sui carburanti, estratti dell’Osservatorio del Ministero dello Sviluppo Economico (qui il link alla discussione). Sono sempre stato tentato dall’idea di lavorarci, ma la scarsità di tempo e il timore di non essere abbastanza competente per occuparmente mi hanno bloccato. Almeno fino a quanto un amico opendataro non mi ha risvegliato: si tratta di Lorenzo Perone, neo-geografo bolognese che ha scaricato i dati sui carburanti facendo uno straordinario lavoro di arricchimento per favorirne il riuso, partendo appunto dal database di Sabas. Tra le varie cose costruite da Lorenzo, un prezzo medio del gasolio calcolato sui dati ufficiali (si tratta di poco meno di 20 mila distributori di carburanti in tutta Italia). Io mi sono limitato – non scherzo, non è finta umiltà – a visualizzare questi dati con QGis, a margine di una discussione avuta con Lorenzo stesso e Massimo Santi.

La colorazione delle mappe (il gradiente)

Esistono varie modalità per “colorare” una mappa in base ad alcuni dati relativi ai territori (poligoni). Ho deciso di prendermi la libertà, essendo un esperimento, di non usarne in pratica nessuno (mi perdonino gli esperti) e spiego il motivo. Avrei potuto usare i Natural Breaks di Jenks, i quantili o i Pretty Breaks, ma ho deciso di determinare la colorazione in maniera autonoma per il seguente motivo. I dati utilizzati per le tre mappe sono quelli relativi a tre giornate specifiche: l’1 agosto 2014, l’1 settembre 2014 e l’1 ottobre 2014. Per ciascuno di questi tre giorni sulla mappa viene visualizzato il valore medio per provincia del costo del gasolio (calcolato appunto da Lorenzo sui circa 20mila distributori italiani). Essendo per definizione dati suscettibili a variazione, se avessi costruito la mappa di gradiente (choropleth) basandomi per ciascun giorno sul valore minimo e sul valore massimo del costo medio, non avrei potuto poi facilmente rendere confrontabili le tre mappe. A me invece interessava, oltre a far emergere il clamoroso e in parte esilarante dato della Sicilia, anche provare a mostrare un minimo di andamento nel tempo. Esistono certamente dei modi meno ‘caserecci’ rispetto a quello usato da me, e spero di approfondire. Per il momento però condivido questo primo esperimento, sperando che ne emergano degli altri, magari più approfonditi. E che magari nel frattempo al Ministero dello Sviluppo Economico qualcuno si svegli un po’ e permetta ai cittadini anche di consultare e riusare liberamente la base dati in formato Open Data, e non solo una banale app “closed” per mettere puntini sulla mappa.

That’s all! 🙂