CUS Regione Lazio

L’intento di questo tutorial è spiegare come selezionare tra gli attributi di uno shape solamente una porzione di una stringa di testo, escludendo alcuni caratteri.
In particolare, l’esercizio prevede la costruzione di una semplice query con l’utilizzo della funzione LEFT, applicata alla Carta dell’Uso del Suolo.

La Carta dell’Uso del Suolo (CUS), è una carta tematica che rappresenta lo stato di utilizzo del territorio. Si articola su 5 classi principali (1° Livello), per poi definire progressive classi di dettaglio. Ad ogni classe corrisponderà una legenda corrispondente, che sarà via via più articolata al salire del livello.

Il portale Open Data della Regione Lazio mette a disposizione una CUS con approfondimenti fino al 5° livello che utilizzeremo per questo esercizio.

Come primo passaggio scarichiamo gli shape dal portale e carichiamoli in un nuovo progetto QGIS. Aprendo la tabella degli attributi possiamo vedere la presenza di due soli campi: “CODICE” e “DESCRIZIONE”. Come si può vedere il codice CUS arriva fino al 6° livello (es. codice 311422 – Castagneti da frutto dei substrati arenacei e marnosi). Se volessimo mostrare i dati, aggregando le informazioni ad una livello definito, come potremmo fare?
Dovremmo scrivere una query in cui indicare il livello di CUS che ci interessa.
La funzione LEFT è lo strumento appropriato per risolvere questo problema con pochissimi passaggi. Ma vediamo nel dettaglio:

La CUS categorizzata sul campo CODICE

Nella scheda di gestione degli stili, all’interno della finestra di proprietà del layer, impostiamo una visualizzazione dello shape categorizzata sul campo CODICE. Per questo esempio associamo anche una scala di colore scelta tra i preset messi a disposizione da QGIS.

Nell’immagine seguente le operazioni da eseguire nella finestra delle proprietà dello shape:

In questo modo, ad ogni valore del campo CODICE sarà assegnato un determinato colore:

Aggregare i valori ad un livello di CUS definito

Per visualizzare la cartografia ad un livello precisato occorre definire un metodo che recuperi la porzione di stringa del codice CUS relativa al livello di interesse e successivamente categorizzare lo stile su tale porzione. Ad esempio se dal valore ‘31162’, per avere l’informazione relativa al 2° livello, dovrei estrapolare i primi due caratteri per ottenere una stringa ’31’. Il metodo LEFT serve appunto ad estrarre una ‘sottostringa’ (substring):

LEFT(string, number_of_chars)

string è la stringa da cui estrarre la porzione di interesse;

number_of_chars indica il numero di caratteri da estrarre contando da sinistra.

Nel nostro caso, se volessimo visualizzare la CUS al 5° livello dovremmo scrivere un’espressione di questo tipo:

LEFT( "CODICE" , 5)

Possiamo eseguire la funzione utilizzando lo strumento per l’espressioni in questo modo:

Ottenendo questo risultato:

Invece se volessimo visualizzare la CUS al 1° livello, sarà possibile farlo modificando il parametro numerico della funzione LEFT, estraendo solo il primo carattere della stringa:

Come si può vedere, in pochi e semplici passaggi, siamo stati in grado di estrapolare differenti tematismi senza modificare i dati di partenza dello shape. Come notazione finale, aggiungo che la funzione LEFT è molto simile alla funzione RIGHT, con l’unica differenza, come suggerisce il nome, che la funzione RIGHT estrapola le stringhe conteggiando a partire dall’ultimo carattere.
Entrambe sono parenti della funzione più generale SUBSTR che permettere di definire anche il punto di partenza da cui estrarre la sottostringa:

SUBSTR(string, startpos, length)

Infine, se volessimo visualizzare un valore specifico tra i campi filtrati, ad esempio solo il livello 3 della CUS, potremmo integrare la funzione in questo modo:

LEFT( "CODICE" , 1) is "3"

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *