L’informazione ambientale è uno strumento di conoscenza fondamentale per i cittadini, i decisori politici e tutti i portatori di interesse, sia per superare la logica emergenziale, sia per favorire una cultura della prevenzione che aiuti ad accrescere la consapevolezza dell’urgenza ormai improcrastinabile di una razionale, efficace ed efficiente politica ambientale.
La grande attenzione che a livello mondiale viene data oggi alle aree urbane conferma la lungimiranza della scelta di anni fa nel realizzare il Rapporto sulla qualità dell’ambiente urbano come rapporto di Sistema SNPA. Nato nel 2004, il Rapporto è stato da sempre un prodotto di una consolidata e sinergica collaborazione di ISPRA con le ARPA/APPA. L’istituzione del Sistema nazionale a rete per la protezione dell’ambiente (SNPA) ha dato ancor più vigore all’impegno congiunto. L’interazione oggigiorno con l’ambiente si svolge prevalentemente in spazi sempre più antropizzati del nostro territorio, ed è quindi da questi che occorre partire per orientare lo sviluppo alla sostenibilità.
Le aree urbane, infatti, per la densità della popolazione e delle attività produttive, si configurano quali ambiti del territorio in cui si producono i massimi livelli di inquinamento e pressione. Allo stesso tempo, la dimensione urbana è determinante per sperimentare nei grandi insediamenti umani sia la sostenibilità dei modelli di sviluppo alla scala mondiale, sia le politiche rilevanti per le sorti planetarie e per la qualità della vita dei cittadini.
Per il ruolo chiave che le città svolgono nel perseguire lo sviluppo sostenibile l’Unione Europea ha inserito specifiche azioni nell’ambito del 7th Environmental Action Programmme (7EAP) e ha impegnato, inoltre, la Commissione europea a individuare entro il 2020 una serie di criteri per valutare le prestazioni ambientali delle città, tenendo conto degli impatti economici e sociali. Lo sviluppo sostenibile, in questa ottica, si persegue misurando la sostenibilità delle città attraverso le loro componenti ambientali, sociali ed economiche considerate come aspetti interdipendenti e parti di un unicum, per promuovere la salute e il benessere di tutti i cittadini. Pertanto una produzione dell’informazione ambientale qualificata restituisce una fotografia nel rappresentare le condizioni ambientali delle nostre città.
I dati storici relativi all’ambiente urbano sono quelli che descrivono gli indicatori presentati annualmente nel Rapporto sulla qualità dell’ambiente urbano e sono organizzati già da tempo in una apposita banca dati (aree urbane) con la finalità di rendere disponibile uno strumento on-line di accesso pubblico alle informazioni ambientali. La banca dati è in costante aggiornamento ed è previsto un ampliamento del suo contenuto con la continua aggiunta di nuove tematiche ambientali.
Tuttavia oggi il SNPA compie un passo in avanti: i dati ambientali già open inerenti alla qualità ambientale nelle aree urbane sono resi disponibili anche in formato Linked Open Data (LOD) in linea con l’indirizzo in materia di raccolta, accesso, interoperabilità e condivisione dei dati ambientali di cui alla legge 132/2016 e all’art. 23 legge n.135/2012.
Tale processo vuole essere un accrescimento dell’informazione e una sinergia integrativa che andrà a far parte del mondo dell’Information Communication Technology.
La natura di questa tecnologia offre un approccio tale da collegare tra loro gli Open Data presenti già nella banca dati delle aree urbane e renderli parte di un unico spazio informativo, globale e condiviso fornendo inoltre la possibilità di analisi di dati provenienti anche da più fonti e di correlarli eventualmente tra di loro.
Per approfondimenti:
Il rapporto sulla qualità dell’ambiente urbano
Qualità ambientale nelle aree urbane italiane
COSA CONTIENE?
- Per i comuni capoluogo e per le città densamente abitate non capoluogo di provincia collezione di indicatori ambientali a livello urbano associati all’anno di riferimento
- Ogni particolare indicatore è definito tramite URI nel dataset delle aree urbane
COSA PERMETTE DI FARE?
- Consultare direttamente la singola risorsa – es. un particolare indicatore in un dato luogo e anno – mediante accesso al suo URI (identificativo internet persistente )
- Esporre i dati al loro utilizzo anche ad applicazioni terze mediante REST API SPARQL
- Download diretto dell’intera banca dati (in formato di triple RDF)
- Accedere all’ Endpoint SPARQL per effettuare interrogazioni mirate sui dati
QUERY DI ESEMPIO
[esegui query] – Indicatori Aree Urbane
PREFIX ispra-top: <https://w3id.org/italia/env/onto/top/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT str(?broaderlabel) AS ?tema ?parbroader AS ?URItema str(?parlabel) AS ?parametro ?p AS ?URIparametro WHERE { ?p a ispra-top:Parameter; ispra-top:hasBroader ?parbroader; rdfs:label ?parlabel . ?parbroader rdfs:label ?broaderlabel . FILTER (langMatches(lang(?parlabel),"it")) FILTER (langMatches(lang(?broaderlabel),"it")) FILTER(?dataset = "urban") BIND(SUBSTR(str(?parbroader), 32, 5) AS ?dataset) } ORDER BY ?broaderlabel ?parlabel
[esegui query] – per quali città e per quali anni è disponibile il valore della superficie agricola utilizzata?
PREFIX ispra-top: <https://w3id.org/italia/env/onto/top/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT CONCAT(?decodetype, "-", str(?placelabel)) AS ?localita str(?broaderlabel) AS ?tema str(?parlabel) AS ?indicatore ?indicator AS ?URIindicatore ?syy AS ?anno WHERE { ## SOSTITUIRE "superficie agricola utilizzata" con l'indicatore di interesse (es. "licenze ecolabel ue") ##per quali città e per quali anni è disponibile il valore della superficie agricola utilizzata? FILTER(str(?parlabel) = "superficie agricola utilizzata") ##per quali province e per quali anni è disponibile il numero di licenze Ecolabel UE? #FILTER(str(?parlabel) = "licenze ecolabel ue") ##per quali città e per quali anni è disponibile il numero di siti registrati EMAS? #FILTER(str(?parlabel) = "siti registrati emas totali") ##per quali città e per quali anni è disponibile il numero di incidenti stradali? #FILTER(str(?parlabel) = "incidenti stradali") ##per quali città e per quali anni è disponibile il numero degli incidenti stradali con coinvolgimento degli utenti deboli della strada? #FILTER(str(?parlabel) = "utenti deboli della strada (morti + feriti)") ##per quali città e per quali anni sono disponibili i dati sulla disponibilità del verde pubblico pro-capite? #FILTER(str(?parlabel) = "disponibilità di verde pubblico pro capite") ##per quali Comuni e per quali anni sono disponibili i valori di posti-km offerti dagli autobus #FILTER(str(?parlabel) = "posti-km offerti dagli autobus") ##per quali città e per quali anni sono disponibili i dati sul numero di autovetture immatricolate a soggetti privati? #FILTER(str(?parlabel) = "autovetture (privati)") ##per quali città e per quali anni sono disponibili i dati sul numero di autovetture con standard emissivo Euro 0 immatricolate a soggetti privati? #FILTER(str(?parlabel) = "autovetture euro 0 (privati)") ##per quali città e per quali anni sono disponibili i dati sulla movimentazione delle merci nei porti presenti #FILTER(str(?parlabel) = "totale merci") ##per quali città e per quali anni sono disponibili i dati sulla raccolta differenziata? #FILTER(str(?parlabel) = "raccolta differenziata") ##per quali anni e per quali città sono disponibili i dati sul tasso di ricettività turistica (posti letto ogni 100mila abitanti? #FILTER(str(?parlabel) = "posti letto alberghieri") ?p a ispra-top:Parameter; ispra-top:hasBroader ?parbroader; rdfs:label ?parlabel . ?parbroader rdfs:label ?broaderlabel . ?icc ispra-top:isParametrisedBy ?p; ispra-top:isPartOf ?ic . ?indicator ispra-top:isMemberOf ?icc; ispra-top:atTime ?yy; ispra-top:hasValue ?vv. ?ic ispra-top:isPartOf ?c. ?c ispra-top:isPartOf <https://w3id.org/italia/env/ld/urban/dataset> ; ispra-top:isCollectionOf ?place. ?place rdfs:label ?placelabel; a ?placetype . FILTER (langMatches(lang(?parlabel),"it")) FILTER (langMatches(lang(?broaderlabel),"it")) FILTER(IF(?splacetype = "Municipality", langMatches(lang(?placelabel), "it"),"xxx")) FILTER(?dataset = "urban") BIND(SUBSTR(str(?parbroader), 32, 5) AS ?dataset) BIND(SUBSTR(str(?placetype ), 40) AS ?splacetype) BIND(SUBSTR(str(?yy), 44) AS ?syy) BIND(IF(?splacetype = "Municipality", "COMUNE", IF(?splacetype = "Province", "PROVINCIA", IF(?splacetype = "REGIONE", "Regione","CITTA' METROPOLITANA"))) AS ?decodetype) } ORDER BY ?splacetype ?placelabel ?syy
[esegui query] – Quanti sono gli utenti deboli della strada morti e feriti a seguito di incidenti stradali nei Comuni nel 2018?
PREFIX ispra-top: <https://w3id.org/italia/env/onto/top/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT ?syy AS ?anno CONCAT(?decodetype, "-", str(?placelabel)) AS ?localita str(?parlabel) AS ?indicatore str(?value) AS ?valore (str(?umdesc) AS ?unitadimisura) WHERE { ## SOSTITUIRE "utenti deboli della strada (morti + feriti)" con l'indicatore di interesse (es. "licenze ecolabel ue") e anno con l'anno desiderato ##Qual è il valore della superficie agricola utilizzata nei Comuni nel 2010? #FILTER(str(?parlabel) = "superficie agricola utilizzata") #FILTER(?splacetype = "Municipality") #FILTER(?syy = "2010") ##Quante sono le licenze Ecolabel UE nelle provincie italiane nel 2017? #FILTER(str(?parlabel) = "licenze ecolabel ue") #FILTER(?splacetype = "Province") #FILTER(?syy = "2017") ##Quanti sono i siti registrati EMAS nei Comuni nel 2019? #FILTER(str(?parlabel) = "siti registrati emas totali") #FILTER(?splacetype = "Municipality") #FILTER(?syy = "2019") ##Quanti sono gli utenti deboli della strada morti e feriti a seguito di incidenti stradali nei Comuni nel 2018? FILTER(str(?parlabel) = "utenti deboli della strada (morti + feriti)") FILTER(?splacetype = "Municipality") FILTER(?syy = "2018") ##Quante merci vengono movimentate nei porti la cui circoscrizione rientra nell’ambito delle aree urbane nel 2018? #FILTER(str(?parlabel) = "totale merci") #FILTER(?syy = "2018") ?p a ispra-top:Parameter; ispra-top:hasBroader ?parbroader; rdfs:label ?parlabel . ?parbroader rdfs:label ?broaderlabel . ?icc ispra-top:isParametrisedBy ?p; ispra-top:isPartOf ?ic . ?indicator ispra-top:isMemberOf ?icc; ispra-top:atTime ?yy; ispra-top:hasValue ?vv. ?vv ispra-top:value ?value; ispra-top:hasUnitOfMeasure ?um. ?um rdfs:label ?umdesc . ?ic ispra-top:isPartOf ?c. ?c ispra-top:isPartOf <https://w3id.org/italia/env/ld/urban/dataset> ; ispra-top:isCollectionOf ?place. ?place rdfs:label ?placelabel; a ?placetype . FILTER (langMatches(lang(?parlabel),"it")) FILTER (langMatches(lang(?broaderlabel),"it")) FILTER (langMatches(lang(?umdesc), "it")) FILTER(IF(?splacetype = "Municipality", langMatches(lang(?placelabel), "it"),"xxx")) FILTER(?dataset = "urban") BIND(SUBSTR(str(?parbroader), 32, 5) AS ?dataset) BIND(SUBSTR(str(?placetype ), 40) AS ?splacetype) BIND(SUBSTR(str(?yy), 44) AS ?syy) BIND(IF(?splacetype = "Municipality", "COMUNE", IF(?splacetype = "Province", "PROVINCIA", IF(?splacetype = "REGIONE", "Regione","CITTA' METROPOLITANA"))) AS ?decodetype) } ORDER BY ?splacetype ?placelabel ?syy
[esegui query] – Quali sono i 10 Comuni con il tasso di motorizzazione più alto (auto immatricolate a soggetti privati per 1.000 abitanti) nel 2018?
PREFIX ispra-top: <https://w3id.org/italia/env/onto/top/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT ?syy AS ?anno CONCAT(?decodetype, "-", str(?placelabel)) AS ?localita str(?parlabel) AS ?indicatore str(?value) AS ?valore (str(?umdesc) AS ?unitadimisura) WHERE { ## SOSTITUIRE "autovetture (privati)" con l'indicatore di interesse (es. "licenze ecolabel ue") e anno con l'anno desiderato ##Quali sono i 10 Comuni con il più alto numero di incidenti stradali nel 2018? #FILTER(str(?parlabel) = "incidenti stradali") #FILTER(?splacetype = "Municipality") #FILTER(?syy = "2018") ##Quali sono i 10 Comuni con maggiore disponibilità di verde pubblico pro-capite nel 2018? #FILTER(str(?parlabel) = "disponibilità di verde pubblico pro capite") #FILTER(?splacetype = "Municipality") #FILTER(?syy = "2018") ##Quali sono i 10 Comuni con il maggior numero di posti-km offerti dagli autobus nel trasporto pubblico locale relativi al 2018? #FILTER(str(?parlabel) = "posti-km offerti dagli autobus") #FILTER(?splacetype = "Municipality") #FILTER(?syy = "2018") ##Quali sono i 10 Comuni con il tasso di motorizzazione più alto (auto immatricolate a soggetti privati per 1.000 abitanti) nel 2018? FILTER(str(?parlabel) = "autovetture (privati)") FILTER(?splacetype = "Municipality") FILTER(?syy = "2018") ##Quali sono i 10 Comuni con il più alto numero di autovetture Euro 0 immatricolate a soggetti privati nel 2018? #FILTER(str(?parlabel) = "autovetture euro 0 (privati)") #FILTER(?splacetype = "Municipality") #FILTER(?syy = "2018") ##Quali sono i primi 10 Comuni con la percentuale di raccolta differenziata più alta nel 2018? #FILTER(str(?parlabel) = "raccolta differenziata") #FILTER(?splacetype = "Municipality") #FILTER(?syy = "2018") ##Quali sono i 10 Comuni con il tasso di ricettività turistica maggiore (posti letto totali ogni 100 mila abitanti) nel 2015? #FILTER(str(?parlabel) = "posti letto alberghieri") #FILTER(?splacetype = "Municipality") #FILTER(?syy = "2015") ?p a ispra-top:Parameter; ispra-top:hasBroader ?parbroader; rdfs:label ?parlabel . ?parbroader rdfs:label ?broaderlabel . ?icc ispra-top:isParametrisedBy ?p; ispra-top:isPartOf ?ic . ?indicator ispra-top:isMemberOf ?icc; ispra-top:atTime ?yy; ispra-top:hasValue ?vv. ?vv ispra-top:value ?value; ispra-top:hasUnitOfMeasure ?um. ?um rdfs:label ?umdesc . ?ic ispra-top:isPartOf ?c. ?c ispra-top:isPartOf <https://w3id.org/italia/env/ld/urban/dataset> ; ispra-top:isCollectionOf ?place. ?place rdfs:label ?placelabel; a ?placetype . FILTER (langMatches(lang(?parlabel),"it")) FILTER (langMatches(lang(?broaderlabel),"it")) FILTER (langMatches(lang(?umdesc), "it")) FILTER(IF(?splacetype = "Municipality", langMatches(lang(?placelabel), "it"),"xxx")) FILTER(?dataset = "urban") BIND(SUBSTR(str(?parbroader), 32, 5) AS ?dataset) BIND(SUBSTR(str(?placetype ), 40) AS ?splacetype) BIND(SUBSTR(str(?yy), 44) AS ?syy) BIND(IF(?splacetype = "Municipality", "COMUNE", IF(?splacetype = "Province", "PROVINCIA", IF(?splacetype = "REGIONE", "Regione","CITTA' METROPOLITANA"))) AS ?decodetype) } ORDER BY DESC(xsd:float(?value)) LIMIT 10