QGIS: atlas avanzato

Quesito

Partendo dalla shape regionale Istat, generare un atlante contenente 12 pagine, ognuna delle quali contenga UNICAMENTE le regioni che iniziano con la stessa lettera.
Quindi: la prima pagina conterrà soltanto l’Abruzzo, mentre l’ultima soltanto Veneto e Valle d’Aosta.

Quesito postomi da un esperto GIS/CAD

Lo shapefile regionale Istat è caratterizzato da #20 feature ( le 20 regioni d’Italia), il quesito chiede un atlas di #12 pagine.

Per generare un atlas di #12 pagine occorre creare un ‘vettore di copertura’ che abbia #12 feature (righe); questo è il punto di partenza per risolvere il problema.

Come ottenere uno shapefile con #12 feature che soddisfa il quesito e che possa essere utilizzato come ‘vettore di copertura’:

  1. carichiamo lo strato regionale in QGIS (reg2011_g);
  2. avviamo il ‘calcolatore di campi’ dopo aver selezionato il layer ‘reg2011_g’:
  3. creiamo un nuovo campo testuale ‘ini’ (che sta per iniziali);
  4. digitiamo la seguente formula:  substr( “nome_reg” ,1,1);
  5. cosi facendo otteniamo un nuovo campo in cui è presente l’iniziale del nome di ogni regione;
  6. atlas5
    screenshot calcolatore di campi
  7. atlas6
    screenshot tabella attributi ‘reg2011_g’ con il nuovo campo ‘ini’
  1. da Vettore => Strumenti di Geoprocessing => Dissolvenza…,
    1. vettore di ingresso: ‘reg2011_g’;
    2. campo di dissolvenza: ‘ini’;
    3. shapefile di uscita: ‘vettore_di_copertura’;
    4. di questo shapefile ci serviremo solo dell’ultimo campo ‘ini’;
  2. finalmente abbiamo il vettore di copertura.

Come visualizzare, per ogni pagina dell’atlas, UNICAMENTE le regioni con la stessa lettera:

  1. per risolvere questo aspetto ci sono almeno due vie possibili, qui seguiremo la via più ‘elegante’ (a mio avviso), cioè quella di sfruttare una delle ultime innovazioni relative all’atlas  QGIS 2.12 (cioè la visualizzazione di layer in funzione di un attributo del vettore di copertura);
  2. innanzitutto occorre creare #12 layer (li metteremo dentro un gruppo, chiamato Atlas, nella TOC) utilizzando i filtri:
    1. per automatizzare il processo di generazione di #12 layer attraverso i filtri, basta utilizzare il plugin ‘Split Layer by Field’;
    2. questo plugin richiede un layer (reg2011_g ) ed un field (ini);
    3. il risultato atteso è: all’interno del gruppo ‘Atlas’ avremo #12 layer filtrati secondo le iniziali dei nomi delle regioni, iniziali contenute nel campo ‘ini’;
    4. atlas7
      screenshot TOC
  3. abbiamo tutto il necessario per creare l’atlante  (vedi articolo QGIS: COME CREARE UN ATLAS);
    1. seguire tutti i passi spiegati nell’articolo e in più:
    2. nella TOC spegnere tutti i layer;
    3. nel pannello ‘proprietà oggetto’ della mappa 0 (nel compositore di stampe) apportare la seguente modifica (che è il fulcro di tutto il quesito e che rappresenta la novità della QGIS 2.12):
  4. atlas8
    screenshot modifica proprietà mappa 0
  5. stringa da digitare: ‘reg2011_g_’ ||  “ini” || ‘|’ || ‘reg2011_g’;
    1. la prima parte della stringa (‘reg2011_g_’ ||  “ini”) sarebbe sufficiente per risolvere il quesito, la seconda parte visualizza sullo sfondo l’Italia;
    2. fine.
  6. Link al video dimostrativo – Fine!
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 )

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 )

Google+ photo

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

Connessione a %s...