4.2. Lesson: Creare un layout di stampa dinamico¶
Ora che hai imparato a creare un layout di base per la mappa facciamo un passo in avanti e creiamo un layout che si adatta dinamicamente all’estensione della nostra mappa ed alle proprietà della pagina, p. e. quando si cambia la dimensione della pagina. Inoltre, anche la data di creazione di adatterà dinamicamente.
4.2.1. Follow Along: Creare l’area della mappa dinamica¶
Carica i dataset ESRI
protected_areas.shp
,places.shp
,rivers.shp
ewater.shp
nell’area mappa ed adatta le proprietà a tua preferenza.Dopo che tutto è disegnato e simbolizzato a tuo piacimento, clicca sull’icona Nuovo Layout di Stampa nella barra oppure scegli . Ti verrà chiesto di scegliere un titolo per il nuovo layout di stampa.
Vogliamo creare un layout consistente in un’intestazione e una mappa della regione vicino Swellendam, South Africa. Il layout dovrebbe avere un margine di 7,5 mm e l’intestazione dovrebbe essere alta 36 mm.
Crea un elemento chiamato
main map
sull’area e vai al pannello Layout. Scorri verso il basso alla sezione Variabili e trova la parte Layout. Qui imposteremo alcune variabili che puoi usare su tutto il layout dinamico. Vai al pannello Layout e scorri verso il basso alla sezione Variables. La prima variabile definirà il margine. Premi il pulsante e scrivi il nomesw_layout_margin
. Imposta il valore di7,5
. Premi il pulsante di nuovo e scrivi il nomesw_layout_height_header
. Imposta il valore36
.Ora sei pronto per creare automaticamente la dimensione e posizione dell’area di mappa in base alle variabili. Assicurati che il tuo elemento mappa sia selezionato, vai al pannello Proprietà dell’oggetto, scorri verso il basso e apri la sezione Posizione e Dimensione. Clicca su Sovrascrittura definita dai dati per X e dalla voce Variabile, scegli
@sw_layout_margin
.Clicca Sovrascrittura definita dai dati per Y, scegli Modifica… e scrivi la formula:
to_real(@sw_layout_margin) + to_real(@sw_layout_height_header)
Puoi creare la dimensione dell’elemento mappa usando le variabili per Larghezza e Altezza. Clicca Sovrascrittura definita dai dati per Larghezza e scegli Modifica … di nuovo. Inserisci la formula:
@layout_pagewidth - @sw_layout_margin * 2
Click the Sovrascrittura definita dai dati per Altezza e scegli Modifica …. Qui inserisci la formula:
@layout_pageheight - @sw_layout_height_header - @sw_layout_margin * 2
Creeremo anche un reticolo contenente le coordinate dell’estensione dell’area mappa. Vai di nuovo su Proprietà dell’oggetto e scegli la sezione Reticoli. Inserisci un reticolo cliccando sul pulsante . Clicca su Modifica Reticolo … ed imposta Intervallo per X, Y e Offset in base alla scala della mappa che hai scelto nell’area mappa in QGIS. Il Tipo Reticolo Croce è adatto ai nostri scopi.
4.2.2. Follow Along: Creare l’intestazione dinamica¶
Inserisci il rettangolo che conterrà l’intestazione con il pulsante Aggiungi Forma. Nel pannello Oggetti inserisci il nome
header
.Di nuovo, vai in Proprietà dell’oggetto ed apri la sezione Position and Size. Usando Sovrascrittura definita dai dati, scegli la variabile
sw_layout_margin
per X come per Y. Larghezza sarà definita dall’espressione:@layout_pagewidth - @sw_layout_margin * 2
e Altezza dalla variabile
sw_layout_height_header
.Inseriremo una linea orizzontale e due linee verticali per dividere l’intestazione in sezioni usando Aggiungi Nodo. Crea una linea orizzontale e due linee verticali e chiamale
Horizontal line
,Vertical line 1
Vertical line 2
.Per la linea orizzontale:
Imposta X alla variabile
sw_layout_margin
Imposta l’espressione per Y a:
@sw_layout_margin + 8
Imposta l’espressione per Width a:
@layout_pagewidth - @sw_layout_margin * 3 - 53.5
Per la prima linea verticale:
Imposta l’espressione per Width a:
@layout_pagewidth - @sw_layout_margin * 2 - 53.5
Imposta Y alla variabile
sw_layout_margin
L’altezza deve essere la stessa dell’intestazione creata, quindi imposta Altezza alla variabile
sw_layout_height_header
.
La seconda linea verticale è piazzata a sinistra della prima.
Imposta l’espressione per Width a:
@layout_pagewidth - @sw_layout_margin * 2 - 83.5
Imposta Y alla variabile
sw_layout_margin
L’altezza dovrà essere la stessa dell’altra linea verticale, quindi imposta Altezza alla variabile
sw_layout_height_header
.
La figura seguente mostra la struttura del nostro layout dinamico. Riempiremo le aree create dalla linea con alcuni elementi.
4.2.3. Follow Along: Creare etichette per l’intestazione dinamica¶
Il titolo del nostro progetto QGIS può essere incluso automaticamente. Il titolo è impostato in Proprietà Progetto. Inserisci un’etichetta con il pulsante Aggiungi Etichetta e chiamala
project title (variable)
. In Proprietà Principali del pannello Proprietà dell’oggetto inserisci l’espressione:[%@project title%]
Imposta la posizione dell’etichetta.
Per X, usa l’espressione:
@sw_layout_margin + 3
Per Y, usa l’espressione:
@sw_layout_margin + 0.25
Per Width, usa l’espressione:
@layout_pagewidth - @sw_layout_margin *2 - 90
Inerisci
11,25
per Altezza
Sotto Aspetto imposta la dimensione del carattere a 16 pt.
La seconda etichetta includerà una descrizione della mappa che hai creato. Di nuovo, inserisci un’etichetta e chiamala
map description
. In Proprietà Principali inserisci il testomap description
. In Proprietà Principali includeremo anche:printed on: [%format_date(now(),'dd.MM.yyyy')%]
Qui abbiamo usato due funzioni di
Data e Ora
(now
eformat_date
).Imposta la posizione dell’etichetta.
Per X, usa l’espressione:
@sw_layout_margin + 3
Per Y, usa l’espressione:
@sw_layout_margin + 11.5
La terza etichetta includerà informazioni sulla tua azienda. Prima crea alcune variabili nel menu Variabili di Proprietà dell’oggetto. Vai la menu Layout, clicca sul pulsante ogni volta ed inserisci i nomi
o_department
,o_name
,o_adress
eo_postcode
. Nella seconda riga inserisci le informazioni della tua azienda. Useremo queste variabili nella sezione Proprietà Principali.In Proprietà Principali inserisci:
[% @o_name %] [% @o_department %] [% @o_adress %] [% @o_postcode %]
Imposta la posizione dell’etichetta.
Per X, usa l’espressione:
@layout_pagewidth - @sw_layout_margin - 49.5
Per Y, usa l’espressione:
@sw_layout_margin + 15.5
Per Larghezza, usa
49,00
Per Altezza, usa l’espressione:
@sw_layout_height_header - 15.5
4.2.4. Follow Along: Aggiungere immagini all’intestazione dinamica¶
Usa il pulsante Aggiungi Immagine per inserire un’immagine sopra l’etichetta
organisation information
. Dopo aver inserito il nomeorganisation logo
definisci la posizione e dimensione del logo:Per X, usa l’espressione:
@layout_pagewidth - @sw_layout_margin * 2 - 78
Per Y, usa l’espressione:
@sw_layout_margin + 3.5
Per Larghezza, usa
39,292
Per Altezza, use
9,583
Per includere un logo della tua azienda devi salvare il logo nella tua cartella principale ed inserire il percorso in
.Il nostro layout ha ancora bisogno di una freccia per il nord. Questa sarà inserita usando Aggiungi Freccia Nord. Useremo la freccia nord predefinita. Definisci la posizione:
Per X, usa l’espressione:
@layout_pagewidth - @sw_layout_margin * 2 - 78
Per Y, usa l’espressione:
@sw_layout_margin + 9
Per Larghezza, usa
21,027
Per Altezza, usa
21,157
4.2.5. Follow Along: Creare la barra di scala per l’intestazione dinamica¶
Per inserire una barra di scala nell’intestazione clicca su Aggiungi Barra di Scala e posizionala nel rettangolo sopra la freccia nord. In Mappa sotto Proprietà Principali scegli
main map(Map 1)
. Questo significa che la scala cambierà automaticamente a seconda che hai scelto nell’area di disegno principale di QGIS. Scegli lo Stile Numerico. Questo significa che inseriremo una semplice scala senza barra. La scala necessita ancora di una posizione e dimensione.Per X, usa l’espressione:
@layout_pagewidth - @sw_layout_margin * 2 - 78
Per Y, usa l’espressione:
@sw_layout_margin + 1
Per Larghezza, usa
25
Per Altezza, use
8
Posiziona il
Punto di riferimento
al centro.
Congratulazioni! Hai creato il tuo primo layout di mappa dinamico. Dai uno sguardo al layout e controlla se tutto appare come vuoi! Il layout di mappa dinamico reagisce automaticamente quando cambi le Priprietà pagina. Per esempio, se cambi la dimensione della pagina da DIN A4 a DIN A3, clicca sul pulsante Aggiorna vista e la struttura della pagina viene adattata.
4.2.6. What’s Next?¶
Nella prossima pagina, ti sarà dato un compito da completare. Questo ti permetterà di fare pratica con le tecniche che hai appena appreso.