Sei anni fa scrissi un post, prima di partire per una settimana di piacere a Linosa; stavolta questo paradiso terrestre mi ha ispirato un post di ritorno.

Lo spunto di partenza di oggi è lo stesso di allora: creare per il mio smartphone una copia della cartografia digitale dell’isola, in modo che sia disponibile anche offline, visto che in loco la connettività è scarsa.
Sono passati sei anni, un’enormità dal punto di vista tecnologico, e le modalità per farlo sono adesso davvero tante. Anche per questa ragione non parlerò di soluzioni, ma darò spazio a quello che è un vero e proprio scoop giornalistico: l’isola di Linosa deve essere spostata!

Scopro questa cosa incredibile il 18 agosto, data del mio arrivo sul posto. Nelle prime ore noleggio uno scooter, sistemo i bagagli in casa e subito voglio fare il punto mappa. Perché l’alloggio è in una zona per me nuova, perché voglio scegliere dove fare il primo bagno, perché mi voglio fare un’idea della viabilità, ecc.
Accendo il ricevitore GPS del mio smartphone, aspetto che venga calcolata la mia posizione, faccio partire la mia app e mi rendo subito conto di essere stato spostato a est di diverse decine di metri. Perché “carta canta”, non ci sono dubbi, e se il mio smartphone mi fa vedere il pallino in una certa posizione, sarà il mio maledetto telefonino “roottato” che funziona male. Ho pensato anche che il problema fosse della mia cartografia, ma avevo generato di proposito due basi offline, da due fonti diverse (Bing Maps di Microsoft e OpenStreetMap, e su entrambe riscontravo lo stesso problema.
Riavvio il telefonino, salgo sulla moto per fare un primo giro, arrivo sul lungo mare, rifaccio il test precedente e non cambia nulla.

PANO_20140825_104228.jpg

Preso dalla sconforto decido di fare una passeggiata e registrare un tracciato GPS, in modo che di ritorno a Palermo possa fare con calma un po’ di verifiche e capire che strani dati produce il mio cellulare (si usa più questa parola?). A registrazione terminata, voglio essere sicuro che tutto sia stato archiviato correttamente, apro la mia app di tracking in una zona coperta da connessione web e scopro che tutto sembra tornare a funzionare. Ma c’è una differenza, la mappa di base stavolta è quella del Geoportale della Regione Siciliana: che siano le altre basi il problema?

Ho potuto verificare la cosa, alcuni giorni fa, al ritorno da Linosa. Avevo infatti bisogno di una connessione e di un personal computer.
Ho creato una vista cartografica (leaflet.js + Plugins by Pavel Shramov + Leaflet.Sync) in cui mettere a confronto i tre layer cartografici citati, sui quali ho sovrapposto la registrazione del mio percorso GPS, che ho usato un po’ come cartina al tornasole.

2014-08-29_21h31_29.jpg

Come si vede dallo screenshot di sopra, la traccia GPS (in blu) è correttamente posizionata sul base della Regione Siciliana, mentre è spostata di diverse decine di metri a est su Bing Maps. E lo stesso (vedi sotto) vale per OpenStreetMap.
2014-08-29_23h08_31.jpg

Non poteva essere diversamente perché i dati OpenStreetMap derivano (almeno per la gran parte) probabilmente da un tracciamento sulla base Bing. La Microsoft infatti ha concesso da tempo il ricalco sul proprio layer satellitare per l’arricchimento del database OSM, ma qui purtroppo è entrato in gioco la propagazione dell’errore: la base Bing è (qui a Linosa) “registrata” male, e qualsiasi prodotto derivato erediterà questo problema.

La vista cartografica dinamica interattiva con cui potrete testare la cosa in autonomia è accessibile qui: http://tanto.github.io/spostalinosa/
Ho inserito anche un pinpoint fisso a centro mappa, in modo da fare anche confronti a occhio tra un elemento individuato sulle due tavole.

Non ho idea di come sia possibile che i dati della multinazionale contengano questo errore, ma di certo “c’è da spostare Linosa”. A chi mi posso rivolgere per segnalare la cosa?
I dati OpenStreetMap saranno corretti in pochissimo tempo, per quelli di Bing temo ci vorrà più tempo: che grande cosa che è la “mappa liberamente modificabile dell’intero pianeta“!

Ho fatto leggere il post in bozza a questa redazione e a qualche altro amico. Sono usciti molti spunti “vicini” al bel post di Sergio, di cui un po’ questo è un figlio casuale, e anche uno dei mille “casi d’uso”.
Voglio concludere proprio con tre elementi che ho raccolto:

  • la mappa non è il territorio (me l’ha detto tempo fa Franco Farinelli e me l’ha ripetuto in questi giorni napo);
  • la cartografia della PA italiana è spesso di alto livello, è una grande risorsa e bisogna liberarla. Alla mia regione chiedo di lavorare sul passaggio ad una licenza che consenta pienamente il riuso dei dati, dalla attuale CC BY-SA 3.0 IT a una CC BY 4.0;
  • in ultimo l’invito a non credere acriticamente né ai nostri strumenti, né ai dati a cui accediamo tramite questi, ad alzare la testa dallo smartphone e camminare un po’ più con lo sguardo aperto e rivolto in tutte le direzioni (lo so, lo so, si vede che è un’autocritica :) ).

NdR: questo di Linosa non è un caso unico e isolato. Sembra che anche Matera sia da spostare.


NdR: pensiamo che questo post di Sergio meriti una lettura “da divano”. Per questo è eccezionalmente disponibile anche in epub, mobi, pdf e azw3.

Quanto più feliceRovistando in soffitta ho messo le mani su un taccuino sgualcito, dai fogli ingialliti, contenente quelli che sembravano, ad una prima occhiata, appunti disordinati. Di solito si recuperano tracce di un passato, più o meno lontano. Immaginerete lo stupore, quando ho letto una data: 3 agosto 2054! Sarà vera? Uno scherzo della Follia? Chissà. Il testo non riporta alcun nome.

 

Del Principio d’Indeterminazione della Cartografia

Nel corso della prima decade del XXI secolo si è fatto strada un processo per la realizzazione di cartografie del tutto ignoto in precedenza. Questo trattatello, ripercorrendo la storia recente della scienza cartografica, vuole essere un ricordo del progresso generato da questa scoperta e un tributo alla tenacia di quanti hanno contribuito alla sua affermazione.

Com’è noto, il processo classico, stabilito per la riproduzione ridotta di una porzione di superficie terrestre, consta essenzialmente di tre fasi: l’esecuzione di un rilievo sistematico dell’area considerata, il collaudo della riproduzione ottenuta[1] e, infine, la pubblicazione dello strumento cartografico e la sua divulgazione a beneficio dei suoi utilizzatori. Questo processo, perfezionato e codificato nel tempo, ha raggiunto un livello di accuratezza della riproduzione del mondo reale rasente la perfezione[2] nella seconda metà del novecento, quando è stato introdotto l’uso delle tecnologie e dei media digitali.

Il caso dello sviluppo della scienza cartografica ha molti aspetti interessanti: la pratica ha, infatti, precorso la teoria, cioè prima è stato ideato il processo per riprodurre su mappa parti di territorio, quindi è stato sistematizzato il suo fondamento teorico[3], attraverso la formulazione dei principi di base di questa strana scienza.

I principi della cartografia, tre più un principio cui è ormai invalso riferirlo come principio “zero” della cartografia, sono stati introdotti all’inizio di questo secolo per regolare la produzione delle carte, il loro utilizzo e i loro limiti. Sono assiomi legittimati dall’esperienza, sui quali si fonda tutta la teoria che riguarda la produzione di mappe. Qui di seguito vengono riportati gli enunciati più comunemente adottati nei manuali.

Il cosiddetto principio “zero” postula che se due mappe hanno la stessa scala di una terza, allora esse medesime condividono la stessa scala. Questo, seppur ovvio, principio consente di definire la scala come grandezza in grado di indicare se due mappe descrivono lo stesso territorio: nella sostanza, stabilisce che per un territorio dato, due mappe confrontabili tra loro, hanno la stessa scala.

Il primo principio della cartografia, rappresenta la formulazione della legge di conservazione dei dati geografici: esso afferma che nell’ambito di un processo di riproduzione di un territorio isolato (cioè perimetrato) i geo-dati non sono né creati né distrutti, ma trasformati.

Del secondo principio della cartografia esistono molti enunciati. Quelli epistemologicamente più rilevanti sono i seguenti.

  • E’ impossibile realizzare una trasformazione di scala il cui unico risultato sia quello di trasferire informazione geografica da una mappa a scala più piccola (di minor dettaglio) a una a scala più grande (di maggior dettaglio) senza l’apporto di informazioni aggiuntive o esterne.
  • E’ impossibile realizzare una trasformazione di scala ciclica della rappresentazione di un territorio dato il cui unico risultato sia la rappresentazione di tutte le informazioni geografiche possedute dal territorio stesso.
  • E’ impossibile realizzare una mappa la cui rappresentazione del territorio considerato coincida con la totalità delle informazioni geografiche della realtà[4].

Infine, il terzo principio, afferma che la rappresentatività della realtà di una mappa a scala 1:1 è zero[5]. In tempi più recenti a questo principio è stata data una veste nuova, precisamente: “Non è possibile raggiungere la rappresentazione omnicomprensiva del territorio considerato tramite un numero finito di rilievi”.

Sebbene sia comune l’uso della dizione “principio”, quest’ultimo non è assunto vero a priori, ma può essere dimostrato a partire dai precedenti, in particolare dal secondo. Esula dagli scopi di questo trattatello la sua dimostrazione: basti, a questo riguardo, riflettere ad esempio sulle deduzioni ricavabili dal terzo enunciato del secondo principio. Invece, vale la pena evidenziare che il terzo principio anticipa caratteristiche della rappresentazione della realtà del territorio individuate a seguito dell’applicazione del processo scoperto agli inizi di questo secolo.

Tale nuovo processo, la cui definizione è stata resa possibile grazie a tecnologie innovative per la manipolazione dei dati geografici[6] e la loro diffusione attraverso la Rete, a vantaggio di un loro uso di massa, ha consentito di addentrarsi nella cosiddetta cartografia infinitamente dettagliata. Esso prevede una diversa sequenza delle tre fasi del processo classico, precisamente: rilievo pseudo-disordinato dell’area, anche attingendo da mappe prodotte mediante il processo classico (quando disponibili), immediata pubblicazione dei risultati e collaudo della riproduzione in continuo divenire.

La comparsa sulla scena della scienza cartografica di questo secondo processo per ottenere mappe ha acceso un confronto, talvolta anche aspro, tra i suoi sostenitori e coloro che hanno ritenuto di avere identificato in esso falle concettuali che –a loro giudizio- impediscono la corretta riproduzione della realtà del territorio, inficiando l’utilizzo delle mappe così ricavate.

La prima critica avanzata esamina la validità teorica di questo nuovo processo per due aspetti fondamentali. Il primo concerne la disomogeneità spaziale della precisione della rappresentazione, quindi della corrispondente affidabilità, del rilievo all’interno della mappa, che renderebbe inapplicabile il principio della conservazione dei geo-dati. Il secondo aspetto riguarda una certa confusione riscontrata nell’utilizzo di dati derivanti da mappe di scale differenti per comporne una risultante, approccio che è parso andare in conflitto con quanto stabilito dal secondo principio della cartografia.

Una critica ancor più radicale considera l’efficacia del trasferimento di contenuti informativi di carte già collaudate o autenticate, in mappe create tramite il nuovo processo. Si è sostenuto che tale operazione, anche quando rispettasse i principi fondamentali, è priva di significato, poiché rende disponibile una mappa già esistente[7], degradata in termini di affidabilità, perché sfornita di certificazione di avvenuto collaudo.

Quest’ultima valutazione è stata raccolta per difendere la validità del nuovo processo, ribaltandone le conclusioni. Infatti, secondo i sostenitori di questo secondo percorso, la sua scoperta si deve ai troppi vincoli che hanno limitato un’ampia fruizione degli strumenti cartografici prodotti tramite il primo processo. La mancanza di disponibilità di rappresentazioni del territorio ha quindi ispirato conoscenze del tutto nuove sulla scienza cartografica.

In primo luogo, la definizione e la sperimentazione di questo secondo processo, ha messo in risalto il ruolo di chi esegue i rilevamenti (da una mappa preesistente o dalla realtà). Nell’ambito del processo classico tale figura, circoscritta a un numero limitato di specialisti, ha un ruolo assoluto: si assume che questi, operando, riproducano sulla mappa la realtà, senza interferire con essa, cioè siano osservatori esterni all’universo cartografico. Di contro, lo sviluppo delle tecnologie digitali e la diffusione di massa del loro impiego hanno trasformato il contesto: hanno aumentato di diversi ordini di grandezza il numero di soggetti in grado di eseguire rilevamenti creando una nuova figura: il cittadino-cartografo. Lo studio di questo nuovo fenomeno ha evidenziato che in realtà chi esegue un rilevamento del territorio perturba la rilevazione, falsando la conoscenza della realtà. E’ stato altresì ricavato sperimentalmente che, dato il numero notevole dei soggetti coinvolti, le perturbazioni statisticamente si compensano a vicenda e l’affidabilità media ottenibile risulta dello stesso ordine di grandezza di quella conseguita attraverso l’applicazione del secondo processo, facendo così risaltare una complementarietà tra i due processi.

Del pari, approfondendo le caratteristiche di tale complementarietà sono state scoperte altre proprietà della cartografia. La modalità realizzativa adottata con il nuovo processo –così detta “per quanti di rilievo”- ha fatto emergere l’esistenza di limiti cartograficamente irremovibili[8] allorquando ci si spinge verso scale di rappresentazione sempre più grandi, come già il terzo principio della cartografia aveva fatto intuire. Un’altra proprietà individuata, legata alla precedente, riguarda il limite –anch’esso irriducibile- nella determinazione contemporanea di grandezze legate all’evoluzione del contenuto informativo della mappa nel tempo[9], quali la variazione dell’affidabilità della mappa e il tempo di esecuzione del rilievo.

Tale fenomeno, non rilevabile applicando il primo processo, è emerso con tutte le sue implicazioni scoprendo il secondo processo. Infatti, in questo contesto l’esecuzione di un quanto di rilievo e la sua fruibilità sono eventi che possono essere considerati coincidenti, ma la cui affidabilità è assicurata dai successivi controlli effettuati dalla comunità dei cittadini-cartografi, eventi di cui non può essere noto a priori il momento della sua attuazione. E’ stato però appurato sperimentalmente che, in virtù del numero elevato dei soggetti coinvolti, il tempo necessario per garantire l’affidabilità della mappa è ordini di grandezza inferiori a quelli relativi al processo classico, come verrà illustrato tra breve. Il risultato a cui si è pervenuti per comprendere e giustificare questa proprietà è la formulazione del così detto principio di indeterminazione della cartografia, il quale stabilisce che non è pensabile conoscere simultaneamente –senza indeterminazione nei valori- il tempo di aggiornamento di una mappa e la corrispondente variazione della sua affidabilità.

Occorre invece ricordare che nell’ambito del processo classico, la valutazione simultanea dell’affidabilità e dei tempi di aggiornamento è gestita tramite un espediente: si assume per convenzione che la realtà sia quella descritta dalla mappa, indipendentemente dal fattore tempo. Una mappa realizzata tramite il processo classico “ferma” la realtà nell’attimo in cui viene eseguito il rilievo, operazione che può avvenire anche in tempi assai contenuti (si pensi a quelli richiesti per una ripresa aerofotogrammetrica). Si può così stabilire una data precisa alla quale fare corrispondere la realtà descritta dalla mappa. Le operazioni di riproduzione sulla mappa del rilievo e successivo collaudo impegnano un tempo assai più lungo, che può essere dell’ordine di parecchi mesi, in alcuni casi superare anche l’anno. In generale, maggiore sarà l’affidabilità che si vorrà ottenere, più numerosi saranno i controlli e le verifiche richieste. Comunque, quando la mappa viene rilasciata e pubblicata, la realtà si sarà già modificata: l’escamotage adottato risolve inconfutabilmente la valutazione contemporanea delle due grandezze considerate.

Il principio d’indeterminazione della cartografia ha un’altra importante implicazione: esso permette di intervenire anche all’interno del ciclo di vita di una mappa classica e affrontare con successo la riduzione della sua inaffidabilità[10], senza dovere attendere l’attività di aggiornamento sistematico, in genere attuata quando ormai essa non è più altro che una raffigurazione del passato.

In definitiva, questo nuovo modo di procedere alla realizzazione della rappresentazione del territorio ha contribuito alla maggiore fruizione dei rilievi creati attraverso il processo classico, promuovendone una più ampia disponibilità, per cui ormai i due processi sono stati integrati e agiscono in modo complementare, consentendo un risultato de facto migliorativo della rappresentazione del territorio e dei suoi continui mutamenti.

 __________________

PS. Amici ai quali ho sottoposto questi appunti, forse trovandoli di un qualche interesse e utilità, mi hanno suggerito di tradurli in altre lingue, perché possano raggiungere una platea di lettori più vasta, non solo italiana. Questo invito mi ha lusingato e ci ho riflettuto assai.  Ho deciso, alla fine,  di soprassedere: mi risulta che fuori dai confini nazionali la comparsa dei cittadini-cartografi abbia avuto tutt’altra storia.  3 agosto 2054.



[1] Generalmente eseguito da un soggetto diverso da chi esegue il rilievo.

[2] Per quanto questo vocabolo possa essere applicato in seno alla cartografia.

[3] Sono riportate alcune definizioni basilari. Universo cartografico: è costituito dalla realtà del territorio e dalla sua riproduzione rimpicciolita (l’oggetto di studio). Realtà del territorio: è identificabile con tutti i dati che si riferiscono agli oggetti -naturali e di origine antropica- ivi presenti (cosiddetti geo-dati)  e con tutte le sorgenti di dati riferibili allo spazio geografico, rappresentabili sulla mappa. Mappa: una qualunque porzione dell’universo cartografico a cui ci si sta interessando come oggetto della riproduzione.

[4] Intuitivamente, si può assumere che il risultato ottenuto sarebbe illeggibile (effetto tabula nigra).

[5] E’ interessante ricordare che questo enunciato del terzo principio è stato oggetto di interessi letterari e di studi filosofici: si veda ad esempio J.L. Borges “La mappa dell’impero in scala 1:1”  e la dissertazione “Dell’impossibilità di costruire la carta dell’impero 1 a 1” di U. Eco.

[6] Peraltro utilizzate anche nell’ambito del processo classico.

[7] Indicata, in alcuni scritti, forse con eccessiva enfasi, con “tautomappa”.

[8] “Irremovibili”, poiché tali limiti non sono riducibili, nemmeno immaginando di avere a disposizione strumenti e sensi perfetti, ossia a prescindere da qualsiasi errore sperimentale comunque piccolo.

[9] Perciò dette anche grandezze coniugate.

[10] Per brevità, si tralascia di descrivere l’effetto, non di rado associato, di arricchimento informativo della mappa.


L’Osservatorio Carburanti, introdotto con una legge del 2009 (art. 51, legge 99/2009), vuole essere uno strumento di trasparenza e garanzia della concorrenza tutelato e gestito dal Ministero dello Sviluppo Economico. Dal 2013 é obbligatorio per tutti i distributori sul territorio italiano comunicare e tenere aggiornati i prezzi praticati sul portale ministeriale (https://carburanti.mise.gov.it/OssPrezziSearch/): il decreto ministeriale del 15 Ottobre 2010 prescrive l’obbligo di comunicare il prezzo iniziale, il ritocco dei prezzi al rialzo e comunque un aggiornamento ogni 8 giorni dall’ultima comunicazione, e suggerisce una serie di dati da trasmettere su base volontaria. Le sanzioni previste dalla legge, convertite in euro, variano tra 516 e 3098 euro.

La comunicazione al Ministero avviene in tre modi:

  • tramite portale web
  • tramite sistemi convenzionati (gestiti dai concessionari autostradali o da imprese accreditate)
  • tramite gestionali conformi alle specifiche ministeriali

Lato consumatore si dovrebbero aprire enormi possibilità per il monitoraggio dell’andamento dei prezzi e quindi del rispetto della concorrenza, poiché diventa sufficiente avere accesso alla rete per poter avere informazioni puntuali sui prezzi praticati dalle stazioni di rifornimento. Il mercato è attualmente composto dal portale ministeriale e dalle applicazioni create dalle imprese accreditate: il ministero tramite Infocamere contribuisce con OsservaPrezzi, una sorta di applicazione demo che mostra il potenziale di questo dataset  (2.6 valutazione media sul Play Store), mentre tra le varie proposte permane ancora la storica PrezziBenzina (4.4 valutazione media sul Play Store).

La domanda che ci siamo posti quando abbiamo iniziato l’analisi del portale è la seguente: se il database dei prezzi è nato a garanzia di trasparenza e concorrenza, perché la piattaforma non prevede ancora il rispetto dei criteri stabiliti ad esempio dall’Agenda Digitale italiana? Possiamo fare qualcosa per contribuire al suo miglioramento?

La prima azione compiuta è stata l’analisi di come funziona dietro le quinte il portale del MiSE: con sommo piacere questo è costruito con tecnologie web al passo coi tempi ed il frontend (il “lato utente”) utilizza il framework Bootstrap. Questo teoricamente potrebbe garantire la navigabilità da piattaforme mobili, ma evidentemente si è lasciato che l’utente trovasse necessario l’utilizzo delle app.
L’API che fa dialogare la parte utente con il server è stata esplorata facilmente, permettendo perfino di documentarla parzialmente: l’unica azione per rendere il servizio disponibile in chiaro alla comunità sarebbe documentare le modalità di interrogazione e fornire l’accesso tramite chiavi agli sviluppatori interessati.

L’azione successiva si è svolta su due fronti: il primo è stato provare a fornire servizi utente facilmente fruibili, mentre il secondo è stato ricavare un dump completo del database in un dato momento per permetterne l’analisi a mo’ di big data.

Se l’API fosse ufficiale sarebbe utile che fornisse anche metodi per utilizzare i dati direttamente via JavaScript (JSONP) ma, purtroppo, ciò non è possibile al momento: si è reso necessario creare un ‘proxy’ fra i nostri esperimenti ed il servizio trasformando le nostre richieste da GET a POST via PHP, superando contemporaneamente le limitazioni di sicurezza che i nostri browser mettono in atto nei confronti delle richieste a domini diversi (cross-domain).
L’endpoint position, ad esempio, permette di ottenere tutti i distributori nell’intorno di un dato punto per un raggio di 10 chilometri: l’applicazione contenuta nella pagina distributori.html permette di consultare su mappa tutti i distributori intorno alla posizione scelta dall’utente (via doppio clic o tramite geolocalizzazione), mentre quella della pagina cheap.html evidenzia il distributore più conveniente nella stessa area.

TrovaPrezzi Benzina

Il dump ottenuto tramite simulazione delle richieste all’API copre tutti i distributori disponibili e viene trasformato in automatico dalla risposta JSON ad un database costituito di due parti: una tabella raccoglie la descrizione del distributore (marca, posizione, indirizzo,…), mentre l’altra raccoglie i prezzi di ognuno di essi. Le due tabelle sono legate tra loro da un identificatore trovato all’interno della risposta (il quale andrebbe a sua volta standardizzato e reso ufficiale per permettere incroci con altre basi di dati). Questo database è reso disponibile sia come file SQLITE sia come file SPATIALITE: quest’ultimo viene anche purificato dei distributori con coordinate non valide e può essere utilizzato per analisi spaziali con Qgis.

Noi continueremo ad estrarre informazione e valutarla per mostrare cosa può significare la disponibilità aperta dei dati: più persone ci saranno a consultare ed utilizzare i dati dell’Osservatorio, maggiore trasparenza ci sarà nella gestione e nel monitoraggio del mercato dei carburanti. I segnali che provengono ci fanno credere di stare seguendo una strada giusta e con pochi accorgimenti in una fase futura di apertura tutti ne potranno trarre beneficio.

Il repository GitHub è localizzato all’indirizzo https://github.com/sabas/carburantiMiSE; l’istanza corrispondente, dalla quale scaricare anche i dump più recenti, è all’indirizzo http://toolserver.openstreetmap.it/carburantiMiSE/


italy_in_inspire_registry.png

Ben 4 mesi fa chiedevamo una cosa dovuta e utile: che anche l’Italia fosse presente nel registro INSPIRE.

Non è cambiato nulla e questo incomprensibile stallo non è stato ancora superato. Ma c’è una novità e vi chiediamo di darci una mano a sostenerla e diffonderla.

La notizia di questa carenza di attuazione della normativa è arrivata a un gruppo di parlamentari (trasversale allo schieramento politico) interessato/competente sulle tematiche dell’innovazione tecnologica. L’onorevole De Lorenzis l’ha fatta sua e ha redatto questa interrogazione parlamentare, in cui chiede al Ministro dell’ambiente e della tutela del territorio e del mare “quali iniziative intenda assumere al fine di ottemperare all’obbligo di implementazione e integrazione nel portale europeo dei servizi descritti in premessa come richiesto dalla direttiva Inspire e dal relativo decreto di recepimento della stessa”.

La recente campagna affinché l’Agenzia delle Entrate facesse quanto dovuto nei confronti della comunità OpenStreetMap, ha tra i tanti pregi quella di farci sentire più forti.

Noi scriveremo nei social network:

@minambienteIT @glgalletti vogliamo l’Italia nel registro INSPIRE e vogliamo una risposta http://bit.ly/italy4inspire #italy4INSPIRE

Fatelo con noi!


Le relazioni in QGIS consentono di sviluppare dei casi d’uso applicativi molto interessanti; una delle ragioni del post è quella di contribuire alla diffusione della conoscenza del tema.

Il caso d’uso: le strade e la loro manutenzione

Immaginate di essere i gestori del network della rete stradale della vostra città e di volere utilizzare QGIS (insieme ad altri strumenti) per farlo. Avete quindi un layer cartografico con tutte le strade (e i relativi attributi) e la necessità di associare a questo il dataset delle manutenzioni che vengono realizzate nei vari componenti della rete.

A seguire vedremo come gestire la cosa con QGIS, le relazioni e con il comodo supporto delle maschere di input personalizzabili.

Chiavi e relazione

Per mettere in relazione il dataset delle manutenzioni con quello delle strade, potrete usare il meccanismo classico delle chiavi.

Il layer delle strade sarà caratterizzato da un campo con un codice identificativo numerico univoco per ogni strada – la chiave primaria - denominato nell’esempio di questo post “pkuid”.

Il database delle manutenzioni – che è una semplice tabella senza alcun attributo spaziale – è composto dai campi “PK_UID”, “data”, “responsabile”, “compagnia”, “note”; aggiungeremo un campo che contenga il codice identificativo della strada a cui la manutezione è riferita. Questo campo farà da chiave esterna e si chiamerà “ce_pkuid”.

Il nostro modello prevede, per semplicità, che ad ogni strada sia possibile associare una o più manutenzioni; una classica relazione 1:N impostata sulle due chiavi numeriche di cui sopra.

Layer

Il layer delle strade ha la struttura sottostante, in cui sono stati introdotti dei campi per raccogliere il nome della Via, il relativo tipo (Corso, Viale, Via, ecc.) e il codice identificativo comunale.

image02

Quello delle manutenzioni conterrà un codice identificativo numerico univoco per ogni elemento, un campo in cui inserire la data dell’intervento di manutenzione, il nome del responsabile, il nome della compagnia incaricata e un campo per le note.

image10

Definire la relazione

La relazione tra i due dataset si definisce a livello di “Proprietà di progetto”. Aperto il tab Relations si farà click su “Add Relation” e si imposteranno i seguenti parametri:

  • Name, per dare un nome alla relazione;
  • Referencing Layer (Child), per il nome del layer che contiene la chiave esterna;
  • Referencing Field, per il nome della chiave esterna;
  • Referencing Layer (Parent), per il nome del layer che contiene la chiave primaria;
  • Referencing Field, per il nome della chiave primaria;
  • Id, che viene usato internamente da QGIS, deve essere univoco e fa da indice della tabella di relazione tra chiave primaria e chiave esterna.

image00

A relazione definita, questa apparirà nella finestra di dialogo:

image03

Moduli

Una volta definita la relazione, se ne avrà evidenza anche nel modulo di inserimento/modifica degli attributi del dataset delle strade. La visualizzazione a moduli in QGIS è molto utile per alcuni task di verifica ed inserimento dei dati, ed è molto personalizzabile.

image05

La tabella della manutenzioni sarà visibile in un widget del modulo dello strade, e sopra questa saranno visibili cinque pulsanti:

  1. la matita, per attivare la modifica della tabella delle manutenzioni;
  2. il “+” per aggiungere un nuovo record alla tabella, che di default verrà associato all’elemento attivo del layer “strade”;
  3. il tasto “x” per cancellare il record selezionato della tabella “manutenzioni”;
  4. il tasto “catenella” che aprirà una nuova finestra di dialogo con il quale associare qualsiasi manutenzione presente alla strada corrente;
  5. il tasto “rompi catenella” che rimuoverà l’associazione tra la manutenzione selezionata e la strada corrente;
  6. ed infine, a destra, ci sono due pulsanti per passare dalla vista “tabella” a quella modulo.

Anche per il dataset delle manutenzioni è possibile attivare il modulo di inserimento/modifica degli attributi, in modo che dia conto visivamente della relazione con il layer delle strade.

A partire dalle proprietà del layer manutenzioni, bisognerà modificare il widget del campo che fa da chiave esterna.

image04

E scegliere come tipo di widget “Relation Reference”, utilizzando i parametri visibili nella figura sottostante:

image08

Una volta scelto questo speciale widget, sarà possibile leggere la relazione tra i due layer anche nel modulo delle manutezioni:

image06

Note finali (riferimenti, file esempio e video demo)

Questo articolo è quasi una traduzione di questo di Matthias Kuhn. Sono caduto nel suo bel blog, perché tra i tipi di widget accessibili nelle proprietà dei campi di un layer ho scoperto il tipo “Relation Reference”. A me era completamente ignoto; ho provato a cercare nella documentazione, senza però trovarne traccia. Il post di Matthias mi è sembrata una piccola perla e ho creduto utile clonarlo.

Da qui potrete scaricare un file di progetto d’esempio basato su QGIS 2.2 e come formato dati su SpatiaLite. Questo ultimo farà da contenitore unico sia del file spaziale (le strade), che della tabella delle manutenzioni.

Nel progetto, per i due moduli, ho impostato altri widget diversi da quello di default (“Line edit”); alcuni sono di grande comodità come quello per il campo “data” delle manutenzioni (widget di tipo “Calendar”), o l’elenco controllato del campo “Tipo” (widget di tipo “Value map”) del layer delle strade.

image01

Per chi vuole vedere la cosa in azione ho preparato un piccolo video, che non ha alcuna pretesa didattica. Vuole essere soltanto una carrelata visuale rapida di alcune delle cose descritte in questo post.

image07

Un’ultima annotazione finale: il caso d’uso descritto è molto semplificato e non tiene conto di tutte i requisiti di un’applicazione complessa come la gestione di un network stradale. Mi è stato utile come esempio per scrivere di QGIS, relazioni, moduli e widget.

NdR: Salvatore Fiandaca, prendendo spunto da questo post, ne ha creato una sorta di versione aggiornata che trovate qui. Ringraziamo Totò e consigliamo la lettura :)


TANTO non rappresenta una testata giornalistica ai sensi della legge n. 62 del 7.03.2001, in quanto non viene aggiornato con una precisa e determinata periodicita'. Pertanto, in alcun modo puo' considerarsi un prodotto editoriale.