QGIS costruzione di un atlas avanzato

Quesito su gruppo Facebook GIS Italia:

Buongiorno a tutti volevo chiedere un’informazione.
Sto cercando di fare un report con QGIS 3.2, in cui per ogni pagina siano presenti più geometrie “a scorrimento”, basate quindi sull’ID.

Ad esempio:
pagina 1 geometria 1 sopra, geometria 2 sotto. 
Pagina 2 geometria 3 sopra e 4 sotto.
E avanti così per tutti gli ID dello shpfile.

Purtroppo fino a che tratto una geometria per pagina e spunto la voce “controlled by report” non c’è alcun problema, il pdf generato è sequenziale e perfetto, quando invece inserisco la seconda mappa per pagina, ovviamente non incrementa l’ID (sulla seconda geometria, ma la ripete).

Ho fatto alcune prove con variabili di sistema, mappa e layout ma senza risultati. Qualcuno ne sa qualcosa?

Il quesito è parecchio interessante, vediamo come risolverlo creando un atlante (QGIS 3.2).

Unico layer, circoscrizioni di Palermo:

Immagine 12
Circoscrizioni – unico layer – QGIS 3.2

duplico il layer ed applico un filtro: al primo, un filtro per ottenere solo gli ID (nel mio caso si chiama fid) pari e nel layer duplicato un filtro per gli ID dispari:

Immagine 13
applico filtro – primo screen caso per ID dispari

tematizzo i due layer (originale e duplicato) tramite una regola:

Immagine 16
tematizzo

questa tematizzazione serve a far vedere una feature;

creo due viste:

Immagine 18
viste

la vista ‘prima‘ la memorizzo con tutti i layer spenti tranne il primo (circoscrizione); la ‘seconda’ la memorizzo con tutti i layer spenti tranne il layer duplicato; la terza mi serve per la panoramica.

Creo un atlante:

Immagine 19
creo atlante

per le due mappe utilizzo lo stesso vettore di copertura, il layer ‘circoscrizioni’, solo la prima mappa la faccio controllare dall’altante, la seconda no; per la seconda mappa modifichiamo le ‘estensioni mappa‘:

Immagine 21
configuro mappa 2

espressione da usare:

x_min( geometry(get_feature_by_id( ‘circoscrizioni’, @atlas_featureid +1) ) )

questa funzione va ripetuta per x_max, y_min e y_max, cambiando solo la prima funzione.

Attivare l’atlante e …

Webp.net-gifmaker
animazione

 


NOTE FINALI: questo esempio è parecchio complesso in quanto si utilizzano molte caratteristiche di QGIS (filtri, viste, tematizzazione tramite regole, modifica estensioni, funzioni che richiamano altri layer, ecc..); il testo originale chiedeva di realizzare un report, ma credo sia più opportuno creare un atlas.


 

Per le funzioni utilizzate nel costruttore di stringhe e espressioni vedasi HfcQGIS

Buon lavoro!!!

progetto .qgz

dati geopackage

scaricate entrambi i file e metteteli in una cartella e poi avviare progetto!!!

8 pensieri su “QGIS costruzione di un atlas avanzato

  1. buongiorno,
    sempre riguardo alla creazione di atlanti, non riesco più a trovare il plugin che permettevadi generare reticoli basati sul formato di layout. La versione di Qgis è la 3.x

    Grazie e complimenti
    Edmondo

    Piace a 1 persona

    1. Ciao,
      il passaggio da 2.x a 3.x ha modificato le API e la versione di python che passa alla 3.
      Non tutti i plugin sono stati aggiornati (porting) quindi occorre aspettare oppure chiedere direttamente allo sviluppatore del plugin , magari facendo una raccolta fondi.
      saluti

      "Mi piace"

Lascia un commento

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.