QGIS: Tematizzare usando tabelle in relazione 1:m

In questo blog post rispondo a questo quesito:

Ho una serie di poligoni (sezioni di censimento) con associata, in una relazione 1:M, una tabella dove più righe corrispondono ad una sezione. Come posso tematizzare la mappa secondo i dati presenti nella tabella associata? ad esempio voglio in rosso tutti i poligoni nella cui tabella associata sia presente nel campo un determinato valore.

Peppe (un utente di questo blog)

La logica da usare e quindi la funzione da utilizzare è descritta in questo mio blog post del 2016, dove utilizzo tabelle in relazione 1:m per etichettare le regioni italiane (in relazione con le province).

Utilizzando gli stessi strati (regioni e province ISTAT) e creando una relazione tra loro (1:m) proviamo a tematizzare le regioni in funzione di attributi presenti nella tabelle province:

tematizzazione (categorizzata) ed etichettatura utilizzando il campo ‘SIGLA’ presente nel layer in relazione:

Regioni e province in relazione 1:M
  • per tematizzare (categorizzato) ed etichettare uso l’espressione:

relation_aggregate( ‘rel’,’concatenate’,”SIGLA”,’,’)

ecco un altro caso banale: supponiamo di voler tematizzare tutte le regioni che hanno, nella sigla delle provincia, la lettera A:

etichetto e tematizzo quelle regioni che hanno province con sigla contenente la A
  • per tematizzare (categorizzato) uso l’espressione:

relation_aggregate( ‘rel’,’concatenate’,”SIGLA”,’,’) ILIKE ‘%A%’

  • per etichettare uso l’espressione:

array_to_string(array_filter(string_to_array( relation_aggregate( ‘rel’,’concatenate’,”SIGLA”,’,’)) , @element ILIKE ‘%A%’),’,’)

secondo caso: tematizzare ed etichettare le regioni in funzione del valore area delle province:

valore $area < 5000 kmq
  • per tematizzare (categorizzato) uso l’espressione:

relation_aggregate( ‘rel’,’max’,$area) <5000000000

  • per etichettare uso l’espressione:

format_number( array_to_string( array_filter( string_to_array( relation_aggregate( ‘rel’,’max’,$area,’,’)) , @element <5000000000),’,’)/1000000,0) || ‘ kmq’

per maggiori dettagli sulle funzioni usate consultare la mia guida HfcQGIS.

Buon lavoro con QGIS

Versione di QGIS utilizzata: 3.4.4

Se questo blog post vi è stato utile donate PayPal

Annunci

6 pensieri su “QGIS: Tematizzare usando tabelle in relazione 1:m

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...