CORREZIONE DEI DATI TRAMITE LE ESPRESSIONI REGOLARI E LA CLI

In questo (Dove sono gli alberi monumentali d’Italia?) bel blog post, del maestro Andrea Borruso, si parla di alberi monumentali d’Italia, della genesi del dataset e dei problemi riscontrati per ottenere un output strutturato e facilmente leggibile: csv, geojson (vi consiglio la lettura).

L’output, di questo lungo lavoro certosino, è un file CSV con #19 campi e oltre #2000 record; tra i vari campi sono presenti le coordinate longitudine, latitudine (in EPSG 4326) che permettono di visualizzare – per esempio con QGIS – i pallini degli alberi monumentali d’Italia.


Mappa di sfondo: OpenStreetMap contributors

In questo blog post vedremo come effettuare delle correzione sui dati presenti in alcuni campi del CSV usando la riga di comando

Vediamo gli errori nel campo CONTESTO URBANO sì/no”

Tematizzazione per categorie – “CONTESTO URBANO sì/no”
campo
CONTESTO URBANO sì/no”

come si puo’ notare risultano 8 classi invece di due (sì, no): sono tipici errori di battitura, spazio a fine parola (si , no ); tutto maiuscolo (SI); prima lettera maiuscola e i non  accentata (Si); ecc…;

Vediamo gli errori nel campo PROVINCIA”

Tematizzando usando il campo “PROVINCIA”

Legenda – “PROVINCIA” con errori

anche in questo caso alcune province sono scritte male: spazio a fine parola (Biella e Campobasso); trattino tra una parola e l’altra (Monza Brianza); lettere in più (Verbano Cusio Ossola): sono tipici errori di battitura.

Correggere questi errori usando le espressioni regolari e la riga di comando

nel primo caso occorre intercettare tutti i casi possibili relativi alla parola si e no, nel secondo caso occorre intercettare vari errori ma il più complesso è quello relativo agli spazi a fine stringa; questo script bash risolve gli errori descritti e genera un nuovo file CSV:

Lo script bash: crea un database SQLite e importa il file CSV; tramite le query di aggiornamento (UPDATE) e le funzione trim e regexp, trova e sostituisce i valori errati; infine, esporta i dati corretti in un nuovo file CSV

regex

ecco la legenda dopo la correzione – primo caso:

ecco la legenda dopo la correzione – secondo caso:

Legenda – “PROVINCIA” corretta!

Alcuni riferimenti:

Per chi volesse provare: CSV 

 

Ringraziamenti
Il gruppo Telegram HfcQGIS in RTD by ODS e Andrea Borruso

 

Buon lavoro!!!

Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...