Veneto/Numerazione Civica

From OpenStreetMap Wiki
Jump to navigation Jump to search

Motivazione

Con la progressiva presa di coscienza delle amministrazioni comunali sul potenziale degli open data, nel prossimo futuro ci si deve aspettare il rilascio dei dati relativi alla toponomastica e numerazione civica almeno per le città più importanti. Preso atto che le operazioni di import riguardanti la numerazione civica:

  • devono tener in considerazione della presenza di eventuali numeri civici già mappati dagli utenti OSM;
  • devono portare congruenza tra la toponomastica segnata sui numeri civici e la toponomastica delle vie mappate su OSM (vedere sotto-sezione Toponomastica);
  • devono essere accuratamente documentate e verificate: questo si rende necessario per evitare spiacevoli errori di import che andrebbero a complicare (a volte anche in modo importante) le eventuali operazioni di correzione;

Con i punti suddetti si intuisce che le operazioni di standardizzazione della toponomastica e di import dei numeri civici:

  • devono essere svolte entrambe al fine di ottenere dati qualitativamente utilizzabili da eventuali software o persone. Ovviamente, a trarne maggior beneficio sarà l'utilizzatore finale grazie alla maggior precisione fornita dai software di routing;
  • sono operazione lunghe e complesse, che richiedono il continuo e attento controllo dei dati su cui si sta' lavorando;
  • conseguenza del punto sopra, è preferibile un lavoro di squadra organizzato, invece di singole persone che rischiano di lavorare sugli stessi dati e sprecare tempo. Dopottutto, con un lavoro di squadra è più semplice risolvere eventuali dubbi (esempio, legati alla toponomastica), beneficiando di un continuo supporto dagli altri partecipanti.

PS: Discussioni in ML osmveneto Ottobre, Novembre

Fasi di lavorazione

Si invita ad usare la pagina Discussioni (Tab in alto) per suggerimenti, commenti o quant'altro in modo da procedere per passi al compimento di questo progetto.

Gruppo di lavoro

Chiunque fosse interessato a questi import, basta aggiungere il proprio nome in questa sezione o contattare Davide_sd. Data l'eterogeneità delle fonti dati, potrebbe essere utile saper destreggiarsi con Python (o altri linguaggi di scripting): se possibile inserite "Si" se sapete programmare in Python, oppure "No" se non avete conoscienze di programmazione, oppure "Altro" se sapete utilizzare qualche altro linguaggio che ritenete possa essere utile per elaborare i dati. Poiché verranno utilizzate procedure semi-automatiche per la modifica dei dati, gli upload dovranno dovranno essere caricati con l'account Veneto_Civici_Import (vedere Automated Edits Code Of Conduct).

User Conoscenza Python
Davide_sd Si
mircozorzo No

Toponomastica

L'Informativa ISTAT sui dati toponomastici ha come obbiettivo la standardizzazione della toponomastica, a livello nazionale. L'approccio principale dei mappatori OSM può essere sintetizzato come "mappa ciò che vedi". Tuttavia, con questo metodo nel passare degli anni sono state introdotte (a volte anche intenzionalmente) delle imprecisioni. Nel caso della toponomastica, basta un semplice controllo visivo di un qualunque comune del Veneto per trovare imprecisioni. Di seguito vengono forniti alcuni esempi (a sinistra la versione inserita dagli utenti in OSM, a destra la versione corretta):

  • nomi in parte sbagliati: Via Fratelli Chiodi -> Via Fioralpino Chiodi
  • nomi abbreviati: Via O. M. Pagani -> Via Orazio Maria Pagani
  • parti mancanti: Via Faedo -> Via Alessandro Faedo
  • date: Viale 10 Giugno -> Viale Dieci Giugno
  • piccole inesattezze: Via Francesco Gucciardini -> Via Francesco Guicciardini
  • incoerenze sul tipo: Contra' Paolo Lioy; Via Paolo Lioy
  • accentature: Via Niccolo' Tommaseo -> Via Niccolò Tommaseo
  • altri nomi che, seppur corretti, non sono conformi alle direttive ISTAT (dovrebbe essere "nome" seguito da "cognome"): Via Pasqualigo Francesco -> Via Francesco Pasqualigo
  • nomi che non sono presenti nella toponomastica ufficiale: come esempio, "Rotatoria", "Civico nr. 6", "-", ...

Attraverso il rilascio da parte delle amministrazioni comunali della toponomastica in forma open data, è possibile correggere le imprecisioni, in modo rapido ed efficiente, attraverso lo sviluppo di appositi script. Gli step necessari sono:

  • estrazione della lista dei nomi utilizzati all'interno di una città (attraverso i risultati ottenuti da una query overpass); (NB: sostituire ##### con il nome della città desiderata):
<osm-script output="xml">
  <id-query {{nominatimArea:#####}} into="area"/>
  <query type="way">
    <has-kv k="highway"/>
    <has-kv k="name"/>
    <area-query from="area"/>
  </query>
  <union>
    <item />
      <recurse type="way-node"/>   
  </union>
  <print mode="meta"/>
</osm-script>
  • creazione di un dizionario che associa il nome della via utilizzata su OSM al relativo nome normalizzato preso dalla toponomastica ufficiale della città. Il dizionario viene creato attraverso metodi "fuzzy-matching", quindi è necessario un attento controllo visivo per correggere eventuali errori di associazione;
  • laddove necessario, la sostituzione del nome con quello normalizzato.

Numeri Civici

Anche i data set dei numeri civici devono essere accuratamente controllati ed elaborati. Dai data set finora analizzati, è emerso che negli indirizzi dei numeri civici potrebbero essere presenti nomi abbreviati, o comunque non conformi alle direttive ISTAT della toponomastica. E' quindi necessario creare un dizionario che associa ad ogni indirizzo del data set il corretto indirizzo preso dalla toponomastica ufficiale. Per quanto riguarda i numeri civici, in presenza di caratteri alfabetici questi verranno concatenati al numero attraverso il barrato: es. 12/A. In seguito, attraverso lo script ogr2osm, si provvederà:

  • all'assegnazione dell'indirizzo corretto;
  • all'assegnazione del numero civico nel formato corretto (come riportato sopra).

Integrazione con i dati presenti

Prima di effettuare l'import è necessario integrare i dati con quelli esistenti. I numeri civici già presenti in OSM si ricavano attraverso la seguente query Overpass:

<osm-script>
  <query into="<nome del comune>" type="area">
    <has-kv k="admin_level" v="8"/>
    <has-kv k="name" v="<nome del comune>"/>
  </query>
  <union>
    <query type="node">
      <area-query from="<nome del comune>"/>
      <has-kv k="addr:housenumber"/>
    </query>
    <query type="way">
      <area-query from="<nome del comune>" />
      <has-kv k="addr:housenumber"/>
    </query>
    <query type="way">
      <area-query from="<nome del comune>" />
      <has-kv k="addr:interpolation"/>
    </query>
    <item/>
    <recurse type="down"/>
  </union>
  <print mode="meta" />
</osm-script>

Per velocizzare il processo di integrazione, si applica una procedura simile a quanto visto per la toponomastica al fine di correggere eventuali indirizzi errati, aggiungendo inoltre il codice postale o la città o la nazione laddove manchino i tag. Questo passo si rende necessario per poter utilizzare il plugin Conflation di JOSM, in modo da ridurre l'insorgenza di eventuali bug. Al momento, tale procedura considera solamente gli oggetti node, per le way (strade e building) si dovrà intervenire manualmente. Casi particolari:

  • addr:interpolation=*: i casi finora analizzati hanno evidenziato un ottimo accordo tra i civici esistenti mappati con addr:interpolation e il dataset da importare. Si procederà eliminando il segmento interpolante, mantenendo però i civici di partenza ed arrivo;
  • addr:housenumber=* su oggetti way: in alcuni rari casi sono stati assegnati dei numeri alle highways, questi tag verranno eliminati. Molto più frequente è invece l'aggiunta del numero civico all'edificio. Qualora l'edificio non abbia particolare importanza, si procederà allo spostamento dei tag sul rispettivo nodo separato. Questa separazione dei dati dovrebbe facilitare eventuali operazioni di import e aggiornamenti futuri.

Durante il processo di integrazione, è necessario controllare la posizione dei civici esistenti: nei rari casi in cui ci siano decine di metri di differenza tra il civico presente in OSM ed il civico presente nel dataset, è opportuno eseguire ulteriori controlli al fine di stabilire quale sia la posizione corretta e, se necessario, procedere con lo spostamento del nodo. Molta attenzione dovrà essere posta in questa fase: la query overpass sopra utilizzata ritorna solamente i nodi e gli edifici: è anche possibile che gli utenti OSM abbiano mappato il civico su un nodo membro di un building in cui non è presente alcun tag addr:*. Se andiamo a spostare questi particolari nodi, si otterranno edifici deformati. Al fine di evitare questo spiacevole inconveniente, è possibile utilizzare la seguente query overpass per evidenziare questi casi particolari:

<osm-script bbox="">
  <query into="<nome del comune>" type="area">
    <has-kv k="admin_level" v="8"/>
    <has-kv k="name" v="<nome del comune>"/>
  </query>
  <query type="way">
    <area-query from="<nome del comune>" />
    <has-kv k="building"/>
  </query>
  <query type="node">
    <recurse type="way-node"/>
    <has-kv k="addr:housenumber"/>
  </query>
  <print mode="meta" />
</osm-script>

Verrà inoltre eseguito un controllo incrociato sui civici già presenti in OSM con i civici del dataset: qualora un civico presente in OSM non sia presente nel dataset, verrà aggiunto un tag fixme=Questo numero civico non presenta alcuna corrispondenza con il dataset ufficiale..

Infine, è possibile che mappatori diversi abbiano inserito lo stesso numero civico più volte: nel caso in cui venga rilevato che entrambe le occorrenze si riferiscono alla stessa entità, allora verrà mantenuto il nodo con le informazioni più complete. Sono stati rilevati casi in cui due o più nodi distinti sono stati utilizzati per indicare lo stesso numero civico ma riportando diverse attività lavorative. In questo caso il seguente tag fixme=Numero civico già utilizzato su altra attività. Necessario sopraluogo. verrà aggiunto su entrambi i nodi.

Finita l'integrazione verrà aperto un unico changeset in cui verranno caricate le modifiche ai dati già esistenti e il data set preparato. Anche in questo caso verrà utilizzato l'account Veneto_Civici.

QA

Il processo di normalizzazione della toponomastica (effettuato sulle highways, sui civici da importare e sui civici già presenti in OSM) permette di minimizzare il lavoro di QA da effettuare post import. In particolare, attraverso l'utilizzo degli script appositamente sviluppati, è possibile ottenere una lista di nomi di strade utilizzate nella toponomastica ufficiale ma non ancora presenti all'interno di OSM (perché non ancora mappate oppure mappate ma mancanti del tag name).

Il lavoro di QA verrà eseguito utilizzando OSM Inspector dopo che i dati saranno comparsi nei layers di questo strumento (generalmente entro 2-3 giorni dall'upload). Le eventuali modifiche da apportare verranno fatte dalle singole persone utilizzando il loro rispettivo account.

Strade non mappate

Qualora possibile, verranno utilizzate le immagini aeree PCN 2012 per ricalcare le strade non mappate.

Strade con nome mancante

Nel caso siano presenti strade con nome mancante, è possibile ricavarne il valore attraverso OSM Inspector.

Elenco dei comuni

Provincia di Vicenza

Nome Cap Fonti dati Changeset Toponomastica Changeset Civici Note Progress QA
Vicenza 36100 SIT VI 43777145 - Log 44008671 Il dataset dei numeri civici utilizzato è aggiornato al 04/11/2016 100 % OSMi
Arzignano 36071 SIT Arzignano 59360919 Il dataset dei numeri civici utilizzato è aggiornato al 2008 100 % OSMi

Provincia di Treviso

Nome Cap Fonti dati Changeset Toponomastica Changeset Civici Note Progress QA
Treviso 31100 Veneto Open Data 44020227 - Log 44084381 Il dataset dei numeri civici utilizzato è aggiornato al 01/08/2016 100 % OSMi

Provincia di Verona

Nome Cap Fonti dati Changeset Toponomastica Changeset Civici Note Progress QA
Verona da 37121 a 37142 VR Open Data 44165602 - Log 44394956 Il dataset dei numeri civici utilizzato è aggiornato al 26/02/2014 100 % OSMi

Provincia di Venezia

Nome Cap Fonti dati Changeset Toponomastica Changeset Civici Note Progress QA
Venezia -- VE Open Data 0 %

Provincia di Padova

Nome Cap Fonti dati Changeset Toponomastica Changeset Civici Aggiornamento Dati Progress QA
Carmignano di Brenta 35010 WebGIS 45079263 45082961 02-01-2017 90 % OSMi