
Importare i dati JSON in un Googlespreadsheet. Gli open data di ARPA Veneto
L’Agenzia Regionale per la Prevenzione e protezione Ambientale del Veneto mette a disposizione i dati di diverse matrici ambientali in formato aperto.
In particolare i dati della Qualità dell’aria che contengono le informazioni su elenco delle stazioni, sui dati rilevati nelle ultime 48 ore per l’Ozono e l’andamento degli ultimi 7 giorni per il PM10 e sulle coordinate geografiche delle stazioni. I dati sono rilasciati con licenza CC BY 3.0 .
Il formato dichiarato è XML, in realtà se scarichiamo le informazioni si nota sia dall’estensione, sia dalla struttura che si tratta di file JSON.
Da pochi giorni su GitHub, Brad Jasper ha completato il progetto iniziato da Trevor Lohrbeer per l’importazione, tramite Google Script, di file JSON in un Google Spreadsheet.
Se fossimo interessati ad estrarre i dati dell’ozono e del PM10 di una particolare stazione e riportarli in un Google Spreadsheet per successive rielaborazioni possiamo procedere nel seguente modo.
Creiamo un foglio di lavoro in Google Drive, e dal menu Strumenti selezioniamo Editor di script. Da qui, clic sul pulsante “Crea” e scegliamo “Script”.
Se non avete l’applicazione Script, potete installarlo facendo clic sul pulsante “Collega applicazioni” nella parte inferiore del menu “Nuovo” e cercare “Apps Script”.
Copiamo l’intero contenuto del file ImportJSON.gs e nominiamo il nostro script importJSON. Qundi nella casella A1 dicitiamo la seguente formula:
=ImportJSON("http://89.96.234.233/aria-json/exported/aria/data.json")al termine dell’elaborazione la tabella si riempirà con i dati di tutte le stazioni.
Ora per filtrare i dati relativi alla stazione di Legnago, creiamo un nuovo foglio con il tasto +, nella casella A1, o se vogliamo lasciare una riga per le descrizioni delle colonne A2, inseriamo la formula per i dati relativi all’Ozono
= query(Foglio1!A1:E;"select C,D where A= '500000016'AND D IS NOT NULL AND E IS NULL")In un’altra casella, per esempio D1 possiamo invece estrarre i dati relativi al PM10 con la formula
=query(Foglio1!A1:F; "select E,F where A='500000016' AND F IS NOT NULL")Il codice identificativo 500000016 per Legnago si ricava dal file Dati delle stazioni
POST SCRIPUM
Ho accettato con entusiasmo il suggerimento di Andrea Borruso di condividere lo spreadsheet che ringrazio per i prezioni feeback. Ne ho approffittato per rivedere la query per l’Ozono che riportava i dati duplicati per alcuni record . Ho verificato inoltre che i dati pubblicati sono aggiornati in tempo reale all’accesso. Per accedere al testo dello script occorre salvare una copia dello spreadsheet sul proprio Drive.
Qualora fosse necessario, possiamo prevedere di aggiornare il nostro Google Spreadsheet eseguendo uno Script periodicamente. Scegliamo dalla pagina dello script il menu Modifica e selezioniamo Trigger del progetto corrente ed impostiamo i parametri per l’esecuzione ricorrente (è possibile ricevere delle notifiche per controllare che l’evento sia andato a buon fine), ma questa è un’altra storia.
