14.1. Proprietà dei vettori

La finestra di dialogo Proprietà…. fornisce le impostazioni generali per gestire l’aspetto degli oggetti del layer nella mappa (simbologia, etichettatura, diagrammi), l’interazione con il mouse (azioni, suggerimenti per la mappa). Fornisce anche informazioni sul layer.

Per accedere alla finestra di dialogo Proprietà….:

  • Nel pannello Layer, fai doppio clic sul layer o fai clic con il tasto destro del mouse e seleziona Proprietà…. dal menu pop-up;

  • Vai a:menuseleziona::Layer –> Layer Proprietà… menu quando il layer è selezionato.

La finestra di dialogo sul vettore Proprietà vettore ha le seguenti sezioni:

metadata Information

system Source

symbology Symbology[1]

labeling Labels[1]

diagram Diagrams

3d 3D View[1]

sourceFields Fields

formView Attributes Form

join Joins

auxiliaryStorage Auxiliary Storage

action Actions

display Display

rendering Rendering

expression Variables

editMetadata Metadata

dependencies Dependencies

legend Legend

overlay QGIS Server

digitizing Digitizing

External plugins[2] tabs

[1] Also available in the Layer styling panel

[2] External plugins you install can optionally add tabs to this dialog. Those are not presented in this document. Refer to their documentation.

Suggerimento

Condividere completamente o in parte le proprietà degli stili dei layer

Il menu Stile nella parte inferiore della finestra di dialogo consente di importare o esportare queste proprietà o parte di esse da/per diverse destinazioni (file, appunti, database). Vedi Gestione stili personalizzati.

Nota

Poiché le proprietà (simbologia, etichetta, azioni, valori predefiniti, moduli …) di layer incorporati (vedi Progetti nidificati) sono ricavate dal file di progetto originale per evitare modifiche che potrebbero alterare questo comportamento, la finestra di dialogo delle proprietà dei layer non è disponibile per questi layer.

14.1.1. Proprietà Informazioni

La scheda metadata Informazioni è di sola lettura e rappresenta un posto interessante per avere rapidamente informazioni e metadati di sintesi sul layer corrente. Le informazioni fornite sono:

  • basate sulla fonte dati del layer (formato di memorizzazione, percorso, tipo di geometria, codifica sorgente dati, estensione….);

  • ricavato da filled metadata (accesso, link, contatti, cronologia….);

  • o in base alla sua geometria (estensione spaziale, SR…..) o ai suoi attributi (numero di campi, caratteristiche di ciascuno….).

14.1.2. Proprietà Sorgente

system Usa questa scheda per gestire le impostazioni generali di un layer vettoriale.

../../../_images/vector_source_menu.png

Fig. 14.1 Finestra di dialogo scheda Generale Proprietà Layer

Oltre l’impostazione del Nome vettore come visualizzato nel pannello Layer, le opzioni disponibili includono:

14.1.2.1. Sistema di Riferimento delle Coordinate

  • Displays the layer’s Coordinate Reference System (CRS). You can change the layer’s CRS, selecting a recently used one in the drop-down list or clicking on setProjection Select CRS button (see Scelta del sistema di riferimento delle coordinate). Use this process only if the CRS applied to the layer is a wrong one or if none was applied. If you wish to reproject your data into another CRS, rather use layer reprojection algorithms from Processing or Save it into another layer.

  • Crea indice spaziale (solo per formati supportati da OGR).

  • Aggiorna estensione del vettore.

14.1.2.2. Costruttore di interrogazioni

La finestra di dialogo Costruttore di interrogazioni è accessibile attraverso il pulsante eponimo in fondo alla scheda Sorgente nella finestra di dialogo Proprietà vettore, sotto il gruppo Filtro delle geometrie della sorgente dati.

Il Costruttore di interrogazioni fornisce un’interfaccia che permette di definire un sottoinsieme delle geometrie del layer utilizzando una clausola SQL-like WHERE e di visualizzare il risultato nella finestra principale. Finché la query è attiva, nel progetto sono disponibili solo le geometrie corrispondenti al suo risultato.

Puoi utilizzare uno o più attributi del layer per definire il filtro nel Costruttore di interrogazioni`. L’uso di più di un attributo è mostrato in Figure_vector_querybuilder. Nell’esempio, il filtro combina gli attributi

  • toa (DateTime field: cast("toa" as character) > '2017-05-17' and cast("toa" as character) < '2019-12-24T18:00:00'),

  • name (String field: "name" > 'S') and

  • FID (Integer field: FID > 10)

utilizzando gli operatori AND, OR e NOT e le parentesi. Questa sintassi (incluso il formato DateTime per il campo toa) funziona per i set di dati GeoPackage.

Il filtro viene creato a livello della fonte dati (OGR, PostgreSQL, MSSQL …). Quindi la sintassi dipende dalla fonte dati (DateTime ad esempio non è supportato per il formato Shapefile ESRI). L’espressione completa:

cast("toa" as character) > '2017-05-17' AND
cast("toa" as character) < '2019-12-24T18:00:00' AND
NOT ("name" > 'S' OR FID > 10)
../../../_images/queryBuilder.png

Fig. 14.2 Costruttore di interrogazioni

Puoi anche aprire la finestra di dialogo Costruttore di interrogazioni utilizzando l’opzione Filtro… dal menu Layer o dal menu contestuale del layer. Le sezioni Campi, Valori e Operatori nella finestra di dialogo ti aiutano a costruire la query di tipo SQL visualizzata nella casella Espressioni filtro specifiche del gestore.

L’elenco Campi contiene tutti i campi del layer. Per aggiungere una colonna attributo al campo della condizione SQL WHERE, fai doppio click sul suo nome o semplicemente digitalo nel box SQL.

Il riquadro Valori elenca i valori del campo attualmente selezionato. Per elencare tutti i valori unici di un campo, fai clic sul pulsante Tutto. Per elencare invece i primi 25 valori univoci della colonna, fai clic sul pulsante Campione. Per aggiungere un valore al campo della clausola SQL WHERE, fai doppio clic sul suo nome nella lista Valori. Puoi utilizzare la casella di ricerca nella parte superiore del riquadro Valori per sfogliare e trovare facilmente i valori degli attributi nella lista.

La sezione Operatori elenca tutti gli operatori che puoi usare. Per aggiungere un operatore nella casella delle clausole SQL WHERE, clicca sul pulsante appropriato. Sono disponibili operatori relazionali (=, >, …), operatori per confrontare stringhe di testo (LIKE) ed operatori logici (AND, OR, …).

Il pulsante Test ti aiuta a controllare la tua richiesta e visualizza una casella messaggio con il numero di geometrie che soddisfano la richiesta corrente. Utilizza il pulsante Pulisci per cancellare la query SQL e ripristinare il layer al suo stato originale (cioè, caricare completamente tutte le geometrie).

Quando viene applicato un filtro, QGIS tratta il sottoinsieme risultante agisce come se fosse l’intero layer. Per esempio, se applichi il filtro di cui sopra per “Borough” ("TYPE_2" = 'Borough'), non puoi visualizzare, interrogare, salvare o modificare Anchorage, perché questo è una “Municipality” e quindi non fa parte del sottoinsieme.

Suggerimento

I Layer filtrati sono evidenziati nel Pannello Layer

Nel pannello Layer, il layer filtrato è elencato con una icona indicatorFilter Filter accanto ad esso che indica la query utilizzata quando il mouse passa sopra il pulsante. Facendo doppio clic sull’icona si apre la finestra di dialogo Costruttore di interrogazioni per la modifica.

14.1.3. Proprietà Simbologia

symbology La Scheda Simbologia ti fornisce uno strumento completo per la visualizzazione e la simbologia dei dati vettoriali. Puoi utilizzare gli strumenti che sono comuni a tutti i dati vettoriali, così come gli strumenti simbolo speciale che sono stati progettati per i diversi tipi di dati vettoriali. Tuttavia tutti i tipi condividono la seguente struttura della finestra di dialogo: nella parte superiore, disponi di un widget che ti consente di impostare il tipo simbolo e la classificazione per le geometrie e nella parte inferiore il widget Visualizzazione del layer.

Suggerimento

Scorri rapidamente tra le diverse rappresentazioni del layer

Utilizzando il menu Stile ▶ Aggiungi… in fondo alla finestra di dialogo Proprietà Layer, è puoi salvare tutti gli stili di cui hai bisogno. Uno stile è la combinazione di tutte le proprietà che desideri per un layer (come la simbologia, l’etichettatura, il diagramma, la forma dei campi, le azioni….). Quindi, basta passare da uno stile all’altro dal menu contestuale del layer in Pannello layer per ottenere automaticamente rappresentazioni diverse dei tuoi dati.

Suggerimento

Esporta simbologia vettore

Hai la possibilità di esportare la simbologia del vettore da QGIS nei file Google *.kml, *.dxf e MapInfo *.tab. Semplicemente, clicca con il tasto destro sul vettore per aprire il menu contestuale e clicca su Salva con nome… per specificare il nome del file in uscita e il suo formato. Nella finestra di dialogo, usa il menu Esporta simbologia per salvare la simbologia o come Simbologia elementi ▶ o come Simbologia simboli del vettore ▶. Se hai utilizzato dei simboli, si consiglia di utilizzare la seconda impostazione.

14.1.3.1. Visualizzazione delle geometrie

Il visualizzatore è responsabile della visualizzazione di una geometria insieme al simbolo corretto. Indipendentemente dal tipo di geometria del vettore, esistono quattro tipologie comuni di visualizzatori: simbolo singolo, categorizzato, graduato e tramite regole. Per vettori di punti, sono disponibili i visualizzatori spostamento punto e mappa di concentrazione, mentre i vettori di poligoni possono essere visualizzati anche con il visualizzatore invertito e il visualizzatore 2.5 D.

Il visualizzatore a colorazione continua non c’è perché è a tutti gli effetti un caso speciale del visualizzatore graduato. I visualizzatori categorizzato e graduato possono essere modificati con simboli specifici e con scale di colore personalizzate - i colori per i simboli saranno realizzati in modo appropriato. Per ogni tipo di vettori (punti, linee e poligoni), sono disponibili tipi di simboli. A seconda del visualizzatore selezionato, la finestra di dialogo offre diverse sezioni aggiuntive.

Nota

Se cambi il tipo di visualizzatore mentre imposti lo stile di un vettore, le impostazioni effettuate per il simbolo saranno mantenute. Questo funziona solo per un cambiamento. Se si ripete la modifica del tipo di visualizzatore le impostazioni per il simbolo saranno perse.

14.1.3.1.1. Visualizzatore Simbolo Singolo

Il Visualizzatore singleSymbol Simbolo Singolo rappresenta tutti gli elementi di un layer tramite un unico simbolo definito dall’utente. Vedi Il Selettore dei Simboli per informazioni aggiuntive sulla rappresentazione del simbolo.

../../../_images/singlesymbol_ng_line.png

Fig. 14.3 Finestra di dialogo Simbolo singolo

14.1.3.1.2. Visualizzatore Senza Simboli

Il visualizzatore nullSymbol Senza Simboli è un caso di utilizzo speciale della visualizzazione a Simbolo Singolo in quanto applica la stessa rappresentazione a tutti gli oggetti. Utilizzando questa tipologia di visualizzazione, nessuna simbologia verrà disegnata sulle caratteristiche geometriche (sulla rappresentazione del punto o della linea o del poligono), ma l’etichettatura, eventuali diagrammi e altre parti non-simbologia geometrica saranno ancora visualizzate.

Le selezioni possono ancora essere effettuate sul layer in mappa e le geometrie selezionate verranno visualizzate con un simbolo predefinito. Verranno mostrate anche le geometrie modificate.

Questo è inteso come una comoda scorciatoia per i layer per i quali vuoi mostrare solo le etichette o i diagrammi evitando di dover rendere totalmente trasparente la simbologia per raggiungere questo obiettivo.

14.1.3.1.3. Visualizzatore Categorizzato

The categorizedSymbol Categorized renderer is used to render the features of a layer, using a user-defined symbol whose aspect reflects the discrete values of a field or an expression.

../../../_images/categorysymbol_ng_line.png

Fig. 14.4 Finestra di dialogo Simbologia Categorizzata

Per usare simbologia categorizzata per un layer:

  1. Select the Value of classification: it can be an existing field or an expression you can type in the box or build using the associated expression button. Using expressions for categorizing avoids the need to create an ad hoc field for symbology purposes (eg, if your classification criteria are derived from one or more attributes).

    The expression used to classify features can be of any type; eg, it can:

    • be a comparison. In this case, QGIS returns values 1 (True) and 0 (False). Some examples:

      myfield >= 100
      $id = @atlas_featureid
      myfield % 2 = 0
      within( $geometry, @atlas_geometry )
      
    • combine different fields:

      concat( field_1, ' ', field_2 )
      
    • be a calculation on fields:

      myfield % 2
      year( myfield )
      field_1 + field_2
      substr( field_1, -3 )
      
    • be used to transform linear values to discrete classes, e.g.:

      CASE WHEN x > 1000 THEN 'Big' ELSE 'Small' END
      
    • combine several discrete values into a single category, e.g.:

      CASE
      WHEN building IN ('residence', 'mobile home') THEN 'residential'
      WHEN building IN ('commercial', 'industrial') THEN 'Commercial and Industrial'
      END
      

    Suggerimento

    Sebbene puoi utilizzare qualsiasi tipo di espressione per categorizzare le geometrie, per alcune espressioni complesse potrebbe essere più semplice utilizzare la rule-based rendering.

  2. Configure the Symbol, which will be used as base symbol for all the classes;

  3. Indicate the Color ramp, ie the range of colors from which the color applied to each symbol is selected.

    Besides the common options of the color ramp widget, you can apply a unchecked Random Color Ramp to the categories. You can click the Shuffle Random Colors entry to regenerate a new set of random colors if you are not satisfied.

  4. Then click on the Classify button to create classes from the distinct values of the provided field or expression.

  5. Apply the changes if the live update is not in use and each feature on the map canvas will be rendered with the symbol of its class.

    By default, QGIS appends an all other values class to the list. While empty at the beginning, this class is used as a default class for any feature not falling into the other classes (eg, when you create features with new values for the classification field / expression).

Further tweaks can be done to the default classification:

  • You can signPlus Add new categories, signMinus Remove selected categories or Delete All of them.

  • A class can be disabled by unchecking the checkbox to the left of the class name; the corresponding features are hidden on the map.

  • Drag-and-drop the rows to reorder the classes

  • To change the symbol, the value or the legend of a class, double click the item.

Right-clicking over selected item(s) shows a contextual menu to:

  • Copy Symbol and Paste Symbol, a convenient way to apply the item’s representation to others

  • Change Color… of the selected symbol(s)

  • Change Opacity… of the selected symbol(s)

  • Change Output Unit… of the selected symbol(s)

  • Change Width… of the selected line symbol(s)

  • Change Size… of the selected point symbol(s)

  • Change Angle… of the selected point symbol(s)

  • Merge Categories: Groups multiple selected categories into a single one. This allows simpler styling of layers with a large number of categories, where it may be possible to group numerous distinct categories into a smaller and more manageable set of categories which apply to multiple values.

    Suggerimento

    Since the symbol kept for the merged categories is the one of the topmost selected category in the list, you may want to move the category whose symbol you wish to reuse to the top before merging.

  • Unmerge Categories that were previously merged

The Advanced menu gives access to options to speed classification or fine-tune the symbols rendering:

  • Match to saved symbols: Using the symbols library, assigns to each category a symbol whose name represents the classification value of the category

  • Match to symbols from file…: Provided a file with symbols, assigns to each category a symbol whose name represents the classification value of the category

  • Symbol levels… to define the order of symbols rendering.

Suggerimento

Edit categories directly from the Layers panel

When a layer symbology is based on a categorized, graduated or rule-based symbology mode, you can edit each of the categories from the Layers Panel. Right-click on a sub-item of the layer and you will:

  • toggleAllLayers Toggle items visibility

  • showAllLayers Show all items

  • hideAllLayers Hide all items

  • Modify the symbol color thanks to the color selector wheel

  • Edit symbol… from the symbol selector dialog

  • Copy symbol

  • Paste symbol

14.1.3.1.4. Visualizzatore Graduato

Il graduatedSymbol Visualizzatore graduato è usato per visualizzare tutte le geometrie di un layer, utilizzando un simbolo definito dall’utente il cui colore o dimensione riflettono la classificazione in classi dell’attributo scelto.

Come il Visualizzatore Categorizzato, quello Graduato ti permette di impostare la rotazione e la dimensione della scala in base a valori presenti in colonne specifiche.

Inoltre, analogamente al Visualizzatore Categorizzato, ti permette di selezionare:

  • The value (using the fields listbox or the expression Set value expression function)

  • Il simbolo (utilizzando la finestra di dialogo Selettore simbolo)

  • Il formato legenda e la precisione

  • Il metodo da usare per cambiare il simbolo: colore e dimensione

  • I colori (usando la Scala di colori) se il metodo per il colore è selezionato

  • La dimensione (utilizzando il dominio di dimensioni e la sua unità)

Quindi puoi utilizzare la scheda Istogramma che mostra un istogramma interattivo dai valori del campo assegnato o dalla espressione. Le interruzioni di classe possono essere spostate o aggiunte utilizzando il widget istogramma.

Nota

Puoi usare il pannello Sintesi delle Statistiche per ottenere maggiori informazioni sul tuo vettore. Vedi Pannello Statistiche.

Tornando alla scheda Classi, puoi specificare il numero di classi e anche la modalità per classificare le geometrie all’interno delle classi (utilizzando l’elenco in Modo). Le modalità disponibili sono:

  • Intervallo uguale: ogni classe ha la stessa dimensione ( per esempio valori da 0 a 16 e quattro classi, ogni classe ha dimensione 4).

  • Quantile: ogni classe avrà lo stesso numero di elementi all’interno (l’idea di una scatola a baffi).

  • Natural Breaks (Jenks): la varianza all’interno di ogni classe è minima, mentre quella tra le classi è massima;

  • Deviazione standard: le classi sono costruite in funzione della deviazione standard dei valori.

  • Pretty Breaks: Computes a sequence of about n+1 equally spaced nice values which cover the range of the values in x. The values are chosen so that they are 1, 2 or 5 times a power of 10. (based on pretty from the R statistical environment https://astrostatistics.psu.edu/datasets/R/html/base/html/pretty.html)

La parte centrale della scheda Simbologia elenca le classi insieme ai relativi intervalli, etichette e simboli che verranno sottoposti a visualizzazione.

Clicca sul pulsante Classifica per creare la classi usando il metodo scelto. Ogni classe può essere disabilitata spuntando la casella a sinistra del nome della classe.

Per cambiare simbolo, valore e/o etichetta della classe, semplicemente fai doppio click sull’oggetto che vuoi cambiare.

Right-clicking over selected item(s) shows a contextual menu to:

  • Copy Symbol and Paste Symbol, a convenient way to apply the item’s representation to others

  • Change Color… of the selected symbol(s)

  • Change Opacity… of the selected symbol(s)

  • Change Output Unit… of the selected symbol(s)

  • Change Width… of the selected line symbol(s)

  • Change Size… of the selected point symbol(s)

  • Change Angle… of the selected point symbol(s)

The example in figure_graduated_symbology shows the graduated rendering dialog for the major_rivers layer of the QGIS sample dataset.

../../../_images/graduatedsymbol_ng_line.png

Fig. 14.5 Finestra di dialogo Simbologia Graduata

Suggerimento

Mappe tematiche usando un’espressione

Puoi creare mappe tematiche categorizzate o graduate usando il risultato di un’espressione. Nella finestra di dialogo delle proprietà del vettore il selettore degli attributi viene esteso con una funzione expression Imposta funzione espressione colonna. Non hai quindi più bisogno di creare una nuova colonna nella tabella degli attributi di un vettore se desideri che l’attributo di classificazione sia composto da più campi o da un qualche tipo di formula.

14.1.3.1.5. Simboli Proporzionali e Analisi Multivariata

Il Simbolo Proporzionale e l’Analisi Multivariata non sono tipologie di visualizzazione disponibili nell’elenco a discesa dello stile. Tuttavia con le opzioni data-defined override applicate a qualsiasi delle precedenti opzioni di Visualizzazione, QGIS ti consente di visualizzare i dati di punti e linee con tale rappresentazione.

Creare simboli proporzionali

Per applicare una rappresentazione proporzionale:

  1. Per prima cosa applica al layer il single symbol renderer.

  2. Quindi imposta il simbolo da applicare alle geometrie.

  3. Seleziona la voce al livello superiore dell’albero dei simboli, e usa il pulsante button dataDefined Sovrascrittura definita dai dati accanto all’opzione Dimensione (per layer puntuale) o Larghezza (per layer lineare).

  4. Seleziona un campo o inserisci un’espressione e, per ogni geometria, QGIS applicherà il valore di output alla proprietà e ridimensionerà proporzionalmente il simbolo nell’area di disegno della mappa.

    Se necessario, utilizza l’opzione Assistente…. del menu dataDefined per applicare alcune trasformazioni (esponenziale, flannery….) al ridimensionamento della dimensione del simbolo (vedi Usare l’interfaccia assistente definizione dati per maggiori dettagli).

Puoi scegliere di visualizzare i simboli proporzionali nel pannello Layers: apri l’elenco a discesa Avanzato in fondo alla finestra di dialogo principale della scheda Simbologia e seleziona Dimensione legenda definita dai dati… per configurare le voci della leggenda (vedi Dimensione legenda definita dai dati per i dettagli).

../../../_images/proportional_symbols.png

Fig. 14.6 Classificare gli aeroporti in base all’altitudine dell’aeroporto

Creazione di analisi multivariata

Una visualizzazione con analisi multivariata ti consente di valutare la relazione tra due o più variabili ad esempio, una può essere rappresentata da una scala di colori mentre l’altra è rappresentata da una dimensione.

Il modo più semplice per creare analisi multivariate in QGIS è quello di:

  1. Per prima cosa applica una rappresentazione categorizzata o graduata su un layer, usando lo stesso tipo di simbolo per tutte le classi.

  2. Poi, applica una simbologia proporzionale alle classi:

    1. Clicca sul pulsante Cambia sopra il riquadro di classificazione: si apre la finestra di dialogo simbolo-selettore.

    2. Ridimensiona la dimensione o la larghezza del simbolo del layer usando il widget dataDefined data defined override come visto sopra.

Come il simbolo proporzionale, la simbologia in scala può essere aggiunta all’albero dei layer, nella parte superiore dei simboli delle classi categorizzate o graduate usando la funzione data defined size legend. Ed entrambe le rappresentazioni sono disponibili nella voce della legenda del layout di stampa.

../../../_images/multivariate_example.png

Fig. 14.7 Esempio di analisi multivariata con legenda a scalare

14.1.3.1.6. Visualizzazione basata su Regole

Il visualizzatore ruleBasedSymbol Tramite regole viene utilizzato per eseguire la visualizzazione di un layer, utilizzando simboli basati su regole il cui aspetto rispecchia l’assegnazione dell’attributo di una geometria selezionata a una classe. Le regole sono basate su istruzioni SQL e possono essere annidiate. La finestra di dialogo consente di definire le regole per filtrare il raggruppamento o condizionare la visualizzazione alla scala e tu puoi decidere se vuoi cambiare l’ordine gerarchico o utilizzare la prima regola proposta.

Per creare una regola:

  1. Attiva una riga esistente facendo doppio clic su di essa (per impostazione predefinita, QGIS aggiunge un simbolo senza una regola quando la modalità di visualizzazione è abilitata) oppure fai clic sul pulsante projectProperties Modifica regola o signPlus Aggiungi regola.

  2. Nella finestra di dialogo Modifica regola che si apre, puoi definire una etichetta per aiutarti a identificare ogni regola. Questa è l’etichetta che verrà visualizzata nel pannello Layer e anche nella legenda del layout di stampa.

  3. Inserisci manualmente una espressione nella casella di testo accanto all’opzione radioButtonOn Filtro oppure premi il pulsante expression accanto ad essa per aprire la finestra di dialogo del costruttore di stringhe di espressione.

  4. Usa le funzioni fornite e gli attributi del layer per costruire un’espressione expression per filtrare le caratteristiche che vorresti selezionare. Premi il pulsante Prova per controllare il risultato della query.

  5. Puoi digitare un’etichetta più lunga per rendere più completa la descrizione della regola.

  6. Puoi utilizzare l’opzione checkbox Intervallo di scala per impostare le scale alle quali applicare la regola.

  7. Infine, configura il simbolo simbolo da usare per queste geometrie.

  8. E premi OK.

Una nuova riga che riassume la regola viene aggiunta alla finestra di dialogo Proprietà Layer. Puoi creare tutte le regole necessarie seguendo i passaggi precedenti o copiare incollandola una regola esistente. Trascina e rilascia le regole una sopra l’altra per annidarle e perfezionare le funzionalità delle regole superiori nelle sottoclassi.

Selezionando una regola, puoi anche organizzare le sue funzionalità in sottoclassi usando il menu a discesa Refine selected rules. L’affinamento automatico delle regole può essere basato su:

Le classi perfezionate appaiono come sotto-voci della regola, in una gerarchia ad albero e come sopra, puoi impostare la simbologia di ogni classe.

Nella finestra di dialogo Modifica regola, puoi evitare di scrivere tutte le regole e utilizzare l’opzione radioButtonOff Altrimenti per rilevare tutte le geometrie che non corrispondono a nessuna delle altre regole, nello stesso layer. Questo può anche essere ottenuto scrivendo Altrimenti nella colonna Regola della finestra di dialogo Proprietà Layer ▶ Simbologia ▶ Basata su regole.

Right-clicking over selected item(s) shows a contextual menu to:

  • Copy and Paste, a convenient way to create new item(s) based on existing item(s)

  • Copy Symbol and Paste Symbol, a convenient way to apply the item’s representation to others

  • Change Color… of the selected symbol(s)

  • Change Opacity… of the selected symbol(s)

  • Change Output Unit… of the selected symbol(s)

  • Change Width… of the selected line symbol(s)

  • Change Size… of the selected point symbol(s)

  • Change Angle… of the selected point symbol(s)

  • Refine Current Rule: open a submenu that allows to refine the current rule with scales, categories (categorized renderer) or Ranges (graduated renderer).

Le regole create appaiono anche in una gerarchia ad albero nella legenda della mappa. Fai doppio clic sulle regole nella legenda della mappa e viene visualizzata la scheda Simbologia delle proprietà del layer che mostra la regola che è di riferimento al simbolo nell’albero.

L’esempio in figure_rule_based_symbology mostra la finestra di dialogo visualizzazione basata su regole per il layer dei fiumi majrivers del DataSet di esempio QGIS.

../../../_images/rulesymbol_ng_line.png

Fig. 14.8 Opzioni Simboli definiti Tramite regole

14.1.3.1.7. Visualizzatore Spostamento Punto

Il visualizzatore pointDisplacementSymbol Spostamento punto permette di visualizzare gli elementi di un layer di punti anche se hanno la stessa posizione. Per ottenere questo, il visualizzatore prende i punti che cadono in un data Distanza di tolleranza l’uno dall’altro e li posiziona intorno al loro baricentro seguendo diversi Metodi di posizionamento:

  • Anello: posiziona tutti i punti su un cerchio il cui raggio dipende dal numero di punti da visualizzare.

  • Anelli concentrici: utilizza una serie di cerchi concentrici per mostrare i punti.

  • Reticolo: genera un reticolo regolare con un simbolo puntuale ad ogni intersezione.

Il widget Simbolo centrale ti aiuta a personalizzare il simbolo e il colore del punto centrale. Per i simboli dei punti distribuiti, puoi applicare Senza simboli, Simbolo singolo, Categorizzato, Graduato o Basato su regole utilizzando l’elenco a discesa Visualizzatore e personalizzarli utilizzando il pulsante Impostazioni Visualizzatore….

Mentre la spaziatura minima di Linee di spostamento dipende dal simbolo del punto, puoi ancora personalizzare alcune delle sue impostazioni come Spessore tratto, Colore tratto e Rettifica dimensione (ad esempio, per aggiungere più spaziatura tra i punti visualizzati).

Utilizza le opzioni del gruppo Etichette per eseguire l’etichettatura sui punti: le etichette sono posizionate vicino alla posizione del simbolo, e non nella posizione reale del punto. Oltre a Attributo dell’etichetta, Carattere dell’etichetta e Colore dell’etichetta, puoi impostare la Scala minima della mappa per visualizzare le etichette.

../../../_images/poi_displacement.png

Fig. 14.9 Finestra di dialogo Spostamento punti

Nota

Il visualizzatore Spostamento punto non altera la geometria dei punti, il che significa che i punti non vengono spostati dalla loro posizione. Si trovano ancora al loro posto iniziale. Le modifiche sono solo visive, a scopo di visualizzazione. Utilizza invece l’algoritmo di Processing Points displacement se vuoi generare punti spostati.

14.1.3.1.8. Visualizzatore Gruppo di punti

A differenza della visualizzazione pointDisplacementSymbol Spostamento punto che fa spostare il punto più vicino o sovrapposto, il pointClusterSymbol Gruppo di punti raggruppa la visualizzazione di punti vicini in un unico simbolo. Sulla base di una determinata Distanza, i punti che tra loro vicini vengono fusi in un unico simbolo. L’aggregazione dei punti viene fatta in base al gruppo più vicino che si sta formando, piuttosto che assegnando loro il primo gruppo all’interno della distanza di ricerca.

Dalla finestra di dialogo principale, puoi:

  • imposta il simbolo per rappresentare l’insieme di punti in Cluster symbol; la visualizzazione predefinita mostra il numero di punti aggregati grazie al @cluster_size variable sul carattere del simbolo del layer.

  • utilizza l’elenco a discesa Visualizzatore per applicare uno qualsiasi degli altri tipi di visualizzazione degli oggetti al layer (singolo, categorizzato, basato su regole…..). Poi, premi il pulsante Impostazioni Visualizzatore… per configurare la simbologia dei punti come al solito. Nota che questa funzionalità è visibile solo su geometrie che non sono raggruppate. Inoltre, quando il colore del simbolo è lo stesso per tutti i punti all’interno di un cluster, quel colore imposta la variabile @cluster_color del cluster.

../../../_images/cluster_symbol.png

Fig. 14.10 Finestra di dialogo Gruppo di punti

Nota

Il visualizzatore Spostamento Gruppo non altera la geometria dei punti, il che significa che i punti non vengono spostati dalla loro posizione. Si trovano ancora al loro posto iniziale. Le modifiche sono solo visive, a scopo di rendering. Utilizza invece l’algoritmo di Processing Points displacement se vuoi generare punti basati su cluster.

14.1.3.1.9. Visualizzatore Poligoni Invertiti

La visualizzazione invertedSymbol Poligoni invertiti consente all’utente di definire un simbolo al di fuori dei poligoni del layer. Come sopra puoi selezionare le altre visualizzazioni, ovvero Simbolo singolo, Graduato, Categorizzato, Basato su regole o Visualizzazione 2.5D.

../../../_images/inverted_polygon_symbol.png

Fig. 14.11 Finestra di dialogo Poligoni invertiti

14.1.3.1.10. Visualizzatore Mappa di Concentrazione

Con la visualizzazione heatmapSymbol Mappa di concentrazione puoi creare mappe di concentrazione dinamiche per layers puntuali e multi-puntuali. Puoi specificare il raggio di concentrazione in millimetri, punti, pixel, unità di mappa o pollici, scegliere e modificare una scala di colore per lo stile di concentrazione e utilizzare un cursore per selezionare un compromesso tra la velocità di visualizzazione e la qualità. Inoltre puoi definire un valore limite massimo e dare un peso ai punti utilizzando un campo o una espressione. Quando si aggiunge o si rimuove una geometria, il visualizzatore Mappa di concentrazione aggiorna automaticamente lo stile.

../../../_images/heatmap_symbol.png

Fig. 14.12 Finestra di dialogo Mappa di concentrazione

14.1.3.1.11. Visualizzatore 2.5D

Utilizzando la visualizzazione 25dSymbol 2.5D è possibile creare un effetto 2.5D sulle geometrie del tuo layer. Inizia scegliendo un valore di Altezza (in unità di mappe). Per questo puoi utilizzare un valore fisso, uno dei campi del tuo layer o un’espressione. È inoltre devi scegliere un Angolo (in gradi) per ricreare la posizione del visualizzatore (0 ° significa ovest, crescente in senso antiorario). Usa le opzioni avanzate di configurazione per impostare il Colore tetto e Colore muro. Se vuoi simulare la radiazione solare sulle pareti delle caratteristiche, assicurati di scegliere l’opzione Ombra muri basata sull’aspetto. Puoi anche simulare la presenza di un’ombra impostando un Colore e una Dimensione (in unità di mappa).

../../../_images/2_5dsymbol.png

Fig. 14.13 Finestra di dialogo mappa 2.5D

Suggerimento

Utilizzare l’effetto 2.5D con altre visualizzazioni

Una volta che hai finito di impostare lo stile di base nella visualizzazione 2.5D, puoi convertirlo in un altra tipologia di visualizzazione (Singolo, Categorizzato, Graduato). Gli effetti 2.5D verranno mantenuti e tutte le altre opzioni di visualizzazione saranno disponibili per essere o meno confermate (in questo modo puoi avere, ad esempio, simboli categorizzati con una bella rappresentazione 2.5D o aggiungere un certo stile aggiuntivo ai tuoi simboli 2.5D). Per assicurarti che l’ombra e l“«edificio» non interferiscano con altre geometrie vicine, potrebbe essere necessario attivare i Livelli dei simboli ( Avanzate ▶ Livelli dei Simboli…). I valori di altezza e angolo 2.5D vengono salvati nelle variabili del layer, quindi puoi modificarla successivamente nella scheda variabili della finestra di dialogo delle proprietà del layer

14.1.3.2. Visualizzazione del layer

Nella scheda Stile puoi anche impostare alcune opzioni che agiscono contemporaneamente su tutte le geometrie del layer:

  • Trasparenza del layer slider: Con questo strumento è possibile rendere visibile il layer sottostante della mappa. Usa il cursore per adattare la visibilità del tuo layer vettoriale alle tue esigenze. Puoi anche definire con precisione la percentuale di visibilità nel menu accanto al cursore.

  • Modalità fusione layer e Modalità fusione elementi: puoi ottenere effetti speciali di visualizzazione con questi strumenti che potresti già aver avuto a disposizione con programmi specializzati per la elaborazione di immagini. I pixel dei tuoi layer in sovrapposizione e di geometria sovrapposte vengono mischiati tramite le impostazioni descritte in Metodi di fusione.

  • Applica paint effects su tutte le geometrie del layer con il pulsante Personalizza effetti.

  • Controllo ordine di visualizzazione ti permette, utilizzando gli attributi delle geometrie, di definire in quale ordine z vengono visualizzati. Attiva la casella di controllo e fai click sul pulsante accanto sort. Ottiene quindi la finestra di dialogo Definisci l’ordine in cui:

    1. Scegli un campo o crea un’Espressione da applicare alle geometrie del layer.

    2. Imposta con quale sequenza le geometrie coinvolte devono essere ordinate, quindi se scegli ordine Crescente, le geometrie con valore inferiore vengono visualizzate sotto quelle con valore superiore.

    3. Definisci se le geometrie che hanno per il campo scelto valore NULL devono essere visualizzati per Prime o per Ultime.

    4. Ripeti i passaggi precedenti per tutte le regole che vuoi utilizzare.

    La prima regola viene applicata a tutte le geometrie del layer, ordinandole in base al valore z restituito. Quindi, per ciascun gruppo di geometrie con lo stesso valore (compresi quelli con valore NULL) e quindi dello stesso livello z, viene applicata la regola successiva per ordinare i propri elementi tra di loro. E così via…

../../../_images/layer_rendering_options.png

Fig. 14.14 Opzioni di visualizzazione del layer

14.1.3.3. Altre impostazioni

14.1.3.3.1. Livelli simbolo

Per i visualizzatori che permettono layer di simbolo sovrapposti (solo la mappa di concentrazione non lo permette) c’è un’opzione per controllare l’ordine di visualizzazione di ciascun livello del simbolo.

Nella maggior parte delle visualizzazioni puoi accedere all’opzione livelli dei simboli facendo clic sul pulsante Avanzato al di sotto dell’elenco dei simboli salvati e scegliendo Livelli simbolo…. Nell’opzione Visualizzazione basata su Regole è direttamente disponibile tramite il pulsante Livelli simbolo…, mentre nella visualizzazione Visualizzatore Spostamento Punto lo stesso pulsante si trova all’interno della finestra di dialogo Impostazioni di visualizzazione.

Per attivare i livelli dei simboli, selezionare checkbox Abilita livelli simbolo. Ogni riga mostrerà un piccolo campione del simbolo combinato, la sua etichetta e il singolo livello di simbolo diviso in colonne con un numero accanto ad esso. I numeri rappresentano l’ordine di visualizzazione con cui verrà prelevato il livello di simbolo. I livelli di valori inferiori vengono tracciati prima, rimanendo in basso, mentre i valori più alti vengono tracciati per ultimi, sopra agli altri.

../../../_images/symbol_levels.png

Fig. 14.15 Finestra di dialogo dei livelli simbolo

Nota

Se i livelli simbolo sono disattivati, saranno mostrati i simboli completi secondo il rispettivo ordine delle geometrie. I simboli sovrapposti copriranno quelli al di sotto di essi. Inoltre, simboli simili non si «uniranno» gli uni con gli altri.

../../../_images/symbol_levels_examples.png

Fig. 14.16 Differenza tra i livelli simboli attivati (A) e disattivati (B)

14.1.3.3.2. Dimensione legenda definita dai dati

Quando un layer è rappresentato con il simbolo proporzionale o il rendering multivariato o quando al layer viene applicato un diagramma scaled size diagram, puoi abilitare la visualizzazione dei simboli scalati sia nel Layers panel che nel print legend layout.

Per abilitare la finestra di dialogo Dimensioni della Legenda Definita dai Dati… per attivare la simbologia, seleziona l’opzione del pulsante Avanzato sotto l’elenco dei simboli salvati. Per i diagrammi, l’opzione è disponibile sotto la scheda Legenda. La finestra di dialogo fornisce le seguenti opzioni per:

  • seleziona il tipo di legenda: radioButtonOn Legenda non attivata, radioButtonOff Oggetti della legenda separati e radioButtonOff Legenda racchiusa. Per quest’ultima opzione, puoi selezionare se gli elementi della legenda sono allineati In Basso o Al Centro;

  • imposta il :ref:`simbolo da usare <symbol-selector>`per la rappresentazione della legenda;

  • inserire il titolo nella legenda;

  • ridefinisci le classi da utilizzare: per impostazione predefinita, QGIS fornisce una legenda di cinque classi (basata sulle pause naturali), ma puoi applicare la tua classificazione utilizzando l’opzione checkbox Classi personalizzate. Usa i pulsanti signPlus e signMinus per impostare i valori e le etichette delle classi personalizzate.

Un’anteprima della legenda viene visualizzata nel pannello destro della finestra di dialogo e aggiornata quando si impostano i parametri. Per le legende collassate, viene tracciata una linea di separazione dal centro orizzontale del simbolo al testo della legenda corrispondente.

../../../_images/data_defined_size_legend.png

Fig. 14.17 Impostazione delle dimensioni in scala delle legenda

Nota

Attualmente, la dimensione della legenda definita dai dati per la simbologia dei layer può essere applicata solo al layer di punti utilizzando la simbologia singola, categorizzata o graduata.

14.1.3.3.3. Effetti disegno

Al fine di migliorare la rappresentazione dei vettori ed evitare (o perlomeno ridurre) il ricorso ad altri software per la rappresentazione finale delle mappe, QGIS fornisce un’altra potente funzionalità: l’opzione paintEffects Effetti Disegno, che aggiunge effetti grafici per personalizzare la visualizzazione di vettori.

L’opzione è disponibile nella finestra di dialogo Proprietà vettore –> Simbologia, all’interno del gruppo Layer rendering (si applica all’intero layer) oppure in symbol layer properties (si applica alla geometria corrispondente). Puoi combinare entrambi gli usi.

Gli effetti disegno possono essere attivati selezionando l’opzione checkbox Effetti disegno e facendo click sul pulsante paintEffects Personalizza effetti che apre la finestra di dialogo Proprietà Effetti (vedi figure_effects_source). Sono disponibili i seguenti Tipo effetto, con opzioni personalizzabili:

  • Sorgente: Mostra lo stile originale della geometria in accordo alla configurazione delle proprietà del vettore. La Trasparenza dello stile può essere regolata così come lal Blend mode e la Draw mode. Queste sono proprietà comuni per tutti i tipi di effetti.

    ../../../_images/source.png

    Fig. 14.18 Finestra di dialogo Effetti di disegno

  • Sfumatura: aggiunge un effetto di sfumatura sul layer vettoriale. Le opzioni di personalizzazione che puoi scegliere sono Tipo di sfumatura (Stack blur (fast) o Gaussian blur (quality)) e Grado di sfumatura.

    ../../../_images/blur.png

    Fig. 14.19 Effetti di disegno: finestra di dialogo Sfumatura

  • Colorazione: Questo effetto può essere utilizzato per creare una versione dello stile utilizzando una singola tinta. La base del simbolo avrà sempre una versione in scala di grigi e puoi:

    • Usare selectString Scala di grigi per selezionare come crearlo: le opzioni sono “Per brillantezza”, “Per luminosità”, “Per media” e “Spento”.

    • Se viene selezionato checkboxColora, sarà possibile mescolare un altro colore e scegliere quanto deve essere forte.

    • Controllare i livelli di Brillantezza, Contrasto e Saturazione del simbolo risultante.

    ../../../_images/colorise.png

    Fig. 14.20 Effetti di disegno: finestra di dialogo Colorazione

  • Ombreggiatura: utilizzando questo effetto si aggiunge un’ombra sulla geometria, che sembra aggiungere una dimensione aggiuntiva. Questo effetto può essere personalizzato modificando l’angolo di Offset e la distanza, determinando dove verso dove si sposta l’ombra e la prossimità dell’oggetto sorgente. Ombreggiatura ha anche l’opzione di modificare Raggio di sfocatura e il Colore.

    ../../../_images/drop_shadow.png

    Fig. 14.21 Effetti di disegno: finestra di dialogo Ombreggiatura

  • Ombreggiatura interna: questo effetto è simile all’effetto Ombreggiatura, ma aggiunge l’effetto ombra all’interno dei bordi della geometria. Le opzioni disponibili per la personalizzazione sono le stesse dell’effetto Ombreggiatura.

    ../../../_images/inner_shadow.png

    Fig. 14.22 Effetti di disegno: finestra di dialogo Ombreggiatura interna

  • Luminescenza interna: aggiunge un effetto di incandescenza all’interno della geometria. Questo effetto può essere personalizzato regolando la Diffusione (larghezza) del bagliore o il Raggio di sfumatura. Quest’ultima specifica la vicinanza dal margine della geometria alla quale si vuole che si verifichi la sfumatura. Inoltre, esistono opzioni per personalizzare il colore del bagliore, utilizzando un Singolo colore o una Scala di colori.

    ../../../_images/inner_glow.png

    Fig. 14.23 Effetti di disegno: finestra di dialogo Ombreggiatura interna

  • Luminescenza esterna: questo effetto è simile all’effetto Luminescenza interna, ma aggiunge l’effetto di incandescenza all’esterno dei bordi della geometria. Le opzioni disponibili per la personalizzazione sono le stesse dell’effetto Luminescenza interna.

    ../../../_images/outer_glow.png

    Fig. 14.24 Effetti di disegno: finestra di dialogo Ombreggiatura esterna

  • Trasformazione: aggiunge la possibilità di trasformare la forma del simbolo. Le prime opzioni disponibili per la personalizzazione sono Rifletti orizzontalmente e Rifletti verticalmente che creano una rotazione sugli assi orizzontali e / o verticali. Le altre opzioni sono:

    • Tagliare X,Y: Allinea la geometria lungo l’asse X e/o Y.

    • Ridimensiona X,Y: ingrandisce o rimpicciolisce la geometria lungo l’asse X e/o Y per la percentuale data,

    • Rotazione: Ruota la geometria intorno al punto centrale.

    • e Trasla modifica la posizione dell’oggetto in base a una distanza data sull’asse X e/o sull’asse Y.

    ../../../_images/transform.png

    Fig. 14.25 Effetti di disegno: finestra di dialogo Trasformazione

Uno o più effetti di disegno possono essere usati contemporaneamente. Puoi attivare/disattivare un effetto utilizzando la relativa casella di controllo nell’elenco degli effetti. Puoi modificare il tipo di effetto selezionato utilizzando l’opzione selectString Tipo effetto . Puoi riordinare gli effetti utilizzando i pulsanti arrowUp Sposta in alto e arrowDown Sposta in basso e anche aggiungere o rimuovere gli effetti utilizzando i pulsanti signPlus Aggiungi nuovo effetto e signMinus Rimuovi effetto.

Ci sono alcune opzioni comuni disponibili per tutti i tipi di effetti. Le opzioni Trasparenza e Modalità di fusione operano in modo simile a quelle descritte in Visualizzazione del layer e possono essere utilizzate in tutti gli effetti di disegno, tranne che per la Trasformazione.

C’è anche un’opzione selectString Modalità disegno disponibile per ogni effetto, e puoi scegliere se visualizzare e/o modificare il simbolo, seguendo alcune regole:

  • Visualizza gli effetti dall’alto verso il basso.

  • la modalità Visualizza solamente significa che l’effetto sarà visibile.

  • la modalità Modifica solamente significa che l’effetto non sarà visibile ma i cambiamenti che applica saranno passati all’effetto successivo (quello immediatamente sotto).

  • La modalità Visualizza e modifica renderà visibile l’effetto e passerà tutte le modifiche all’effetto successivo. Se l’effetto si trova in cima alla lista degli effetti o se l’effetto immediatamente precedente non è in modalità modifica, allora utilizzerà il simbolo originale dalle proprietà dei layer (simile al sorgente).

14.1.4. Proprietà etichette

The labeling Labels properties provides you with all the needed and appropriate capabilities to configure smart labeling on vector layers. This dialog can also be accessed from the Layer Styling panel, or using the labeling Layer Labeling Options button of the Labels toolbar.

Il primo passo è quello di scegliere il metodo di etichettatura dall’elenco a discesa. I metodi disponibili sono:

  • labelingNone Non mostrare le etichette: il valore predefinito, che non mostra alcuna etichetta per il layer.

  • labeling Single labels: Show labels on the map using a single attribute or an expression

  • labelingRuleBased Rule-based labeling

  • e labelingObstacle Blocco in corso: ti permette di impostare un layer come un ostacolo per le etichette degli altri layer senza che vengano visualizzate le relative etichette.

The next steps assume you select the labeling Single labels option, opening the following dialog.

../../../_images/label_menu_text.png

Fig. 14.26 Layer labeling settings - Single labels

At the top of the dialog, a Value drop-down list is enabled. You can select an attribute column to use for labeling. By default, the display field is used. Click expression if you want to define labels based on expressions - See Definire le etichette tramite espressioni.

Below are displayed options to customize the labels, under various tabs:

Description of how to set each property is exposed at Impostare una etichetta.

14.1.4.1. Impostazioni sistema di posizionamento automatico

You can use the automated placement settings to configure a global and automated behavior of the labels. In the top right corner of the Labels tab, click the autoPlacement Automated placement settings (applies to all layers) button, opening a dialog with the following options:

../../../_images/placement_engine.png

Fig. 14.27 Il motore di posizionamento automatico delle etichette

  • The Number of candidates controls how many label placement candidates should be generated for each feature type. The more candidates generated, the better the labeling will be - but at a cost of rendering speed. Smaller number of candidates results in less labels placed but faster redraws.

  • Text rendering: sets the default value for label rendering widgets when exporting a map canvas or a layout to PDF or SVG. If Always render labels as text is selected then labels can be edited in external applications (e.g. Inkscape) as normal text. BUT the side effect is that the rendering quality is decreased, and there are issues with rendering when certain text settings like buffers are in place. That’s why Always render labels as paths (recommended) which exports labels as outlines, is recommended.

  • checkbox Allow truncated labels on edges of map: controls whether labels which fall partially outside of the map extent should be rendered. If checked, these labels will be shown (when there’s no way to place them fully within the visible area). If unchecked then partially visible labels will be skipped. Note that this setting has no effects on labels” display in the layout map item.

  • unchecked Show all labels for all layers (i.e. including colliding objects). Note that this option can be also set per layer (see Rendering tab)

  • unchecked Show unplaced labels: allows to determine whether any important labels are missing from the maps (e.g. due to overlaps or other constraints). They are displayed using a customizable color.

  • unchecked Show candidates (for debugging): controls whether boxes should be drawn on the map showing all the candidates generated for label placement. Like the label says, it’s useful only for debugging and testing the effect different labeling settings have. This could be handy for a better manual placement with tools from the label toolbar.

14.1.4.2. Etichettatura tramite regole

Con Etichettatura tramite regole le etichette possono essere definite e applicate selettivamente sulla base di filtri tramite espressioni e di intervalli di scala, come nella Rule-based rendering.

Per creare una regola, seleziona l’opzione Etichettatura tramite regole nell’elenco a discesa principale dalla scheda Etichette e fai click sul pulsante signPlus nella parte inferiore della finestra di dialogo. Poi inserisci nella nuova finestra di dialogo una descrizione e un’espressione che consente di selezionare le geometrie. Puoi anche impostare un Intervallo di scala in cui deve essere applicata la regola per le etichette. Le altre opzioni disponibili in questa finestra di dialogo sono le common settings viste in precedenza.

../../../_images/label_rule_settings.png

Fig. 14.28 Modifica regola

Un riepilogo delle regole esistenti è mostrato nella finestra di dialogo principale (vedi figure_labels_rule_based). Puoi aggiungere più regole, riordinarle o sovrapporle con un drag-and-drop. Puoi anche rimuoverle con il pulsante signMinus o modificarle con il pulsante projectProperties o con un doppio click.

../../../_images/label_rules_panel.png

Fig. 14.29 Pannello etichettatura tramite regole

14.1.4.3. Definire le etichette tramite espressioni

Sia che tu scelga il tipo di etichettatura singola o basata su regole, QGIS consente di utilizzare le espressioni per l’etichettatura di elementi.

Assuming you are using the Single labels method, click the expression button near the Value drop-down list in the labeling Labels tab of the properties dialog.

In figure_labels_labels_expression, vedi un’esempio di espressione per etichettare il layer alaska trees con il tipo di albero e l’area, basato sul campo “VEGDESC”, qualche testo descrittivo, e la funzione $area in combinazione con format_number() per renderlo più bello.

../../../_images/label_expression.png

Fig. 14.30 Uso di espressioni per l’etichettatura

L’etichettatura a base di espressioni è facile da gestire. Tutto quello che devi fare è che:

  • Potresti avere necessità di combinare tutti gli elementi (stringhe, campi e funzioni) con una funzione di concatenamento stringa come concat, + or ||. Ricorda che in alcune situazioni (quando sono coinvolti null o valori numerici), non tutti questi strumenti sono adatti alle tue esigenze.

  • Le stringhe sono scritte tra “singoli apici”.

  • I campi sono scritti tra «apici doppi» o senza alcun apice.

Guarda alcuni esempi:

  1. Etichetta basata su due campi “nome” e “luogo” con una virgola come separatore:

    "name" || ', ' || "place"
    

    Risulta:

    John Smith, Paris
    
  2. Etichetta basata su due campi “nome” e “luogo” con altri testi:

    'My name is ' + "name" + 'and I live in ' + "place"
    'My name is ' || "name" || 'and I live in ' || "place"
    concat('My name is ', name, ' and I live in ', "place")
    

    Risulta:

    My name is John Smith and I live in Paris
    
  3. Etichetta basata su due campi “nome” e “luogo” con altri testi che combinano diverse funzioni di concatenazione:

    concat('My name is ', name, ' and I live in ' || place)
    

    Risulta:

    My name is John Smith and I live in Paris
    

    Oppure, se il campo “luogo” è NULL, restituisce:

    My name is John Smith
    
  4. Etichetta a più righe basata su due campi “nome” e “luogo” con un testo descrittivo:

    concat('My name is ', "name", '\n' , 'I live in ' , "place")
    

    Risulta:

    My name is John Smith
    I live in Paris
    
  5. Etichetta basata su un campo e la funzione $area per mostrare il nome del luogo e la sua superficie arrotondata in una unità convertita:

    'The area of ' || "place" || ' has a size of '
    || round($area/10000) || ' ha'
    

    Risulta:

    The area of Paris has a size of 10500 ha
    
  6. Creare una condizione CASE ELSE. Se il valore della popolazione nel campo “popolazione” è <= 50000 è una town, altrimenti è una city:

    concat('This place is a ',
    CASE WHEN "population" <= 50000 THEN 'town' ELSE 'city' END)
    

    Risulta:

    This place is a town
    
  7. Visualizza il nome della città e nessuna etichetta per le altre voci (per il caso della «città», vedi esempio sopra):

    CASE WHEN "population" > 50000 THEN "NAME" END
    

    Risulta:

    Paris
    

Come puoi vedere nel costruttore di espressioni, puoi creare espressioni semplici o molto complesse con tantissime funzioni utili, per etichettare i tuoi dati in QGIS. Vedi il capitolo Espressioni per ulteriori esempi e informazioni sulle espressioni.

14.1.4.4. Etichettare in funzione dei dati

Con la funzione dataDefined Sovrascrittura definita dai dati, le impostazioni per l’etichettatura sono sovrascritte dalle voci della tabella degli attributi o da espressioni basate su di essi. Questa funzione può essere usata per impostare i valori per la maggior parte delle opzioni di etichettatura sopra descritte.

Per esempio, usando il set di dati campione QGIS dell’Alaska, etichettiamo il layer airports con il loro nome, in base al loro USE militare, cioè se l’aeroporto è accessibile a:

  • personale militare, allora mostralo in grigio, dimensione 8;

  • altri, allora mostralo in blu, dimensione 10.

Per ottenere ciò, dopo aver abilitato l’etichettatura sul campo NAME del layer (vedi Impostare una etichetta):

  1. Attiva la scheda Testo.

  2. Fai clic sull’icona dataDefined accanto alla proprietà Dimensioni.

  3. Seleziona Modifica… e digita:

    CASE
      WHEN "USE" like '%Military%' THEN 8 -- because compatible values are 'Military'
                                          -- and 'Joint Military/Civilian'
      ELSE 10
    END
    
  4. Premi OK per convalidare. La finestra di dialogo si chiude e il pulsante dataDefined diventa dataDefineExpressionOn il che significa che una regola è in esecuzione.

  5. Quindi fai clic sul pulsante accanto alla proprietà colore, digita l’espressione sottostante e convalida:

    CASE
      WHEN "USE" like '%Military%' THEN '150, 150, 150'
      ELSE '0, 0, 255'
    END
    

Allo stesso modo, puo personalizzare qualsiasi altra proprietà dell’etichetta, nel modo desiderato. Vedi maggiori dettagli sulla descrizione e manipolazione del widget dataDefined Sovrascrittura definita dai dati nella sezione Impostazione Sovrascrittura definita dai dati.

../../../_images/label_attribute_data_defined.png

Fig. 14.31 Le etichette degli aeroporti sono formattate in base ai loro attributi

Suggerimento

Use the data-defined override to label every part of multi-part features

There is an option to set the labeling for multi-part features independently from your label properties. Choose the render Rendering, Feature options, go to the dataDefined Data-define override button next to the checkbox unchecked Label every part of multipart-features and define the labels as described in Impostazione Sovrascrittura definita dai dati.

14.1.4.4.1. Barra delle etichette

The Label Toolbar provides some tools to manipulate labeling label or diagram diagram properties.

../../../_images/diagram_toolbar.png

Fig. 14.32 La barra degli strumenti etichetta

Mentre per la leggibilità è stato usato etichetta per descrivere la barra degli strumenti etichette, nota che quando menzionati nel loro nome, gli strumenti funzionano quasi nello stesso modo con i diagrammi:

  • showPinnedLabels Highlight Pinned Labels and Diagrams. If the vector layer of the label is editable, then the highlighting is green, otherwise it’s blue.

  • showUnplacedLabel Toggles Display of Unplaced Labels: Allows to determine whether any important labels are missing from the maps (e.g. due to overlaps or other constraints). They are displayed with a customizable color (see Impostazioni sistema di posizionamento automatico).

  • pinLabels Pin/Unpin Labels and Diagrams. By clicking or draging an area, you pin label(s). If you click or drag an area holding Shift, label(s) are unpinned. Finally, you can also click or drag an area holding Ctrl to toggle the pin status of label(s).

  • showHideLabels Show/Hide Labels and Diagrams. If you click on the labels, or click and drag an area holding Shift, they are hidden. When a label is hidden, you just have to click on the feature to restore its visibility. If you drag an area, all the labels in the area will be restored.

  • moveLabel Moves a Label or Diagram. You just have to drag the label to the desired place.

  • rotateLabel Rotates a Label. Click the label and move around and you get the text rotated.

  • changeLabelProperties Change Label Properties. It opens a dialog to change the clicked label properties; it can be the label itself, its coordinates, angle, font, size, multiline alignment … as long as this property has been mapped to a field. Here you can set the option to checkbox Label every part of a feature.

Avvertimento

Gli strumenti di etichetta sovrascrivono i valori del campo corrente

L’utilizzo di Barra degli strumenti di etichetta per personalizzare l’etichetta effettivamente scrive il nuovo valore della proprietà nel campo mappato. Quindi, presta attenzione a non sostituire inavvertitamente i dati che ti potrebbero essere necessari in seguito!

Nota

Il meccanismo Proprietà Dati Ausiliari può essere utilizzato per personalizzare l’etichettatura (posizione e così via) senza modificare la fonte dati sottostante.

14.1.4.4.2. Personalizza le etichette nella mappa

In combinazione con la Barra delle etichette, l’impostazione di sovrascrittura definita dai dati ti aiuta a manipolare le etichette nella mappa (spostare, modificare, ruotare). Ora descriviamo un esempio usando la funzione di sovrascrittura definita dai dati per la funzione moveLabelMove label (vedi figure_labels_coordinate_data_defined).

  1. Importa il lakes.shp dall’insieme di dati di esempio di QGIS.

  2. Fai doppio clic sul layer per aprire le proprietà del layer. Clicca su Etichette e Posizionamento. Seleziona radioButtonOn Offset dal centride.

  3. Cercare la voce Definito in funzione dei dati. Fai clic sull’icona dataDefined per definire il tipo campo per Coordinata. Scegli xlabel per X e ylabel per Y. Le icone sono ora evidenziate in giallo.

    ../../../_images/label_coordinate_data_defined.png

    Fig. 14.33 Etichettatura di vettori poligonali sovrascritti in funzione dei dati

  4. Fai zoom su un lago

  5. Imposta come modificabile il layer utilizzando il pulsante toggleEditing Attiva modifiche

  6. Vai sulla Barra delle etichette e fai clic sull’icona moveLabel. Adesso puoi spostare manualmente l’etichetta in un’altra posizione (vedi figure_labels_move). La nuova posizione dell’etichetta viene salvata nelle colonne xlabel e ylabel della tabella degli attributi.

  7. Utilizzando The Geometry Generator con l’espressione sottostante, puoi anche aggiungere un layer di simboli di linea per collegare ciascun lago alla sua etichetta spostata:

    make_line( centroid( $geometry ), make_point( "xlabel", "ylabel" ) )
    
    ../../../_images/move_label.png

    Fig. 14.34 Spostamento etichette

Nota

Il meccanismo Proprietà Dati Ausiliari può essere utilizzato con proprietà definite dai dati senza avere una fonte di dati modificabile.

14.1.5. Proprietà Diagrammi

diagram La scheda Diagrammi ti consente di aggiungere una sovrapposizione grafica a un layer vettoriale (vedi figure_diagrams_attributes).

Attualmente le tipologie di diagrammi supportati sono:

  • diagramNone Nessun diagramma: il valore di default senza visualizzazione di diagrammi sulle geometrie;

  • piechart Grafico a torta, un grafico statistico a forma di cerchio diviso in fette per illustrare le proporzioni numeriche. La lunghezza dell’arco di ogni fetta è proporzionale alla quantità che rappresenta;

  • text Diagramma testo, un cerchio diviso orizzontalmente che mostra i valori statistici al suo interno;

  • e histogram Istogramma.

Nell’angolo in alto a destra della scheda Diagrammi, il pulsante autoPlacement Impostazioni di posizionamento automatico (si applica a tutti i layer) fornisce gli strumenti per controllare il diagramma posizione delle etichette sulla visualizzazione mappa.

Suggerimento

Passare rapidamente tra tipi di diagrammi

Dato che le impostazioni sono quasi comuni ai diversi tipi di diagrammi, nella progettazione del diagramma è possibile modificare facilmente il tipo di diagramma e verificare quale è più appropriato ai tuoi dati senza perdita delle impostazioni e dei dati.

Per ogni tipo di diagramma, le proprietà sono suddivise in più schede:

14.1.5.1. Attributi

Attributi definisce quali variabili da visualizzare nel diagramma. Utilizza il pulsante signPlus Aggiungi elemento per selezionare i campi desiderati nel pannello «Attributi assegnati». Possono essere utilizzati anche gli attributi generati con le Espressioni.

Puoi spostarti su e giù in qualsiasi riga con il clic e trascina, ordinando come vengono visualizzati gli attributi. Puoi inoltre modificare l’etichetta nella colonna «Legenda» o nel colore dell’attributo facendo doppio clic sull’elemento.

Questa etichetta è il testo predefinito visualizzato nella legenda del layout di stampa o dell’albero dei layer.

../../../_images/diagram_tab.png

Fig. 14.35 Proprietà Diagrammi – Scheda Attributi

14.1.5.2. Visualizzazione

Aspetto definisce come appare il diagramma. Fornisce impostazioni generali che non interferiscono con i valori statistici quali:

  • la trasparenza grafica, lo spessore e il colore del contorno

  • e, a seconda del tipo di diagramma:

    • la larghezza della barra in caso di istogramma;

    • il colore di sfondo del cerchio in caso di diagramma di testo e il carattere utilizzato per i testi;

    • l’orientamento della linea sinistra della prima fetta rappresentata nel grafico a torta. Si noti che le fette sono visualizzate in senso orario.

in questa scheda, puoi anche gestire e ottimizzare la visibilità del diagramma con diverse opzioni:

  • Livello del diagramma (z-index): controlla come i diagrammi sono disegnati uno sopra l’altro e sopra le etichette. Un diagramma con un alto indice viene disegnato sopra diagrammi ed etichette;

  • checkbox Mostra tutti i diagrammi: mostra tutti i diagrammi anche se si sovrappongono tra loro;

  • Mostra diagramma: permette di visualizzare solo diagrammi specifici;

  • Mostra sempre: seleziona diagrammi specifici da visualizzare sempre, anche quando si sovrappongono ad altri diagrammi o a etichette delle mappe;

  • impostando Visibilità dipendente dalla scala ;

  • Evitare che i diagrammi e le etichette si sovrappongano alle geometrie: definisce le geometrie da considerare come ostacoli, cioè QGIS cercherà di non posizionare diagrammi o etichette su queste geometrie.

../../../_images/diagram_tab_appearance.png

Fig. 14.36 Proprietà Diagramma – Scheda Visualizzazione

14.1.5.3. Dimensione

Dimensione è la scheda principale per impostare come vengono rappresentate le statistiche selezionate. Le unità di misura del diagramma possono essere “Millimetro”, “Punti”, Pixel, “Unità di mappa” o “Pollici”. Puoi usare:

  • Dimensione fissa, una dimensione unica per rappresentare l’immagine di tutti gli elementi, ad eccezione della visualizzazione di istogrammi

  • o Dimensione scalata, basata su un’espressione che utilizza gli attributi del layer.

../../../_images/diagram_tab_size.png

Fig. 14.37 Proprietà Diagrammi – Scheda Dimensione

14.1.5.4. Posizionamento

Posizionamento aiuta a disegnare la posizione del diagramma. Secondo il tipo di geometria del layer, offre diverse opzioni per il posizionamento:

  • “Sopra il punto” o “Intorno al punto” per la geometria puntuale. Quest’ultima variabile richiede l’assegnazione di una distanza.

  • “Sopra la linea” o “Intorno alla linea” per la geometria lineare. Come per la geometria punto, l’ultima variabile richiede una distanza da rispettare e l’utente può specificare il posizionamento del diagramma relativo alla funzione (“sopra”, “su” e / o “sotto” la linea) È possibile selezionare più opzioni contemporaneamente. In questo caso, QGIS cercherà la posizione ottimale del diagramma. Ricorda che qui puoi anche utilizzare l’orientamento della linea per la posizione del diagramma.

  • “Sopra il centroide”, “Intorno al centroide” (con una impostazione di distanza), “Perimetro” e comunque “Dentro il poligono” sono le opzioni per le geometrie poligonali.

Il diagramma può anche essere posizionato utilizzando i dati della geometria con i campi X e Y delle coordinate.

Il posizionamento dei diagrammi può interferire con l’etichettatura, perciò puoi rilevare e risolvere i conflitti di posizione tra diagrammi ed etichette impostando il valore del cursore Priorità.

../../../_images/diagram_tab_placement.png

Fig. 14.38 Finestra di dialogo proprietà vettori con Proprietà Diagrammi, Scheda Posizionamento

14.1.5.5. Opzioni

La scheda Opzioni ha impostazioni solo in caso di istogramma. Puoi scegliere se l’orientamento della barra sia “Su”, “Giù”, “Destra” e “Sinistra”.

14.1.5.6. Legenda

Dalla scheda Legenda, puoi scegliere di visualizzare gli elementi del diagramma in Pannello dei Layer, e in print layout legend, accanto alla simbologia dei layer:

  • seleziona Mostra legenda degli attributi del diagramma per visualizzare nelle legende le proprietà Colore e Legenda, come precedentemente assegnato nella scheda Attributi;

  • e, quando per i diagrammi viene utilizzata una dimensione scaled size, premi il pulsante Legend Entries for Diagram Size…. per configurare l’aspetto del simbolo del diagramma nelle legende. Questo apre la finestra di dialogo Dimensione legenda definita dai dati le cui opzioni sono descritte in Dimensione legenda definita dai dati.

Quando sono impostate, le voci della legenda del diagramma (attributi con colore e dimensioni del diagramma) sono visualizzate anche nella legenda del layout di stampa, accanto alla simbologia dei layer.

14.1.5.7. Argomenti di studio

Mostreremo un esempio mostrando una sovrapposizioni di un layer vettoriale dei dati climatici di temperatura sul layer del confine Alaska. Entrambi i layers vettoriali fanno parte del set di dati del campione QGIS (vedi la sezione Dati campione).

  1. Innanzitutto, fai clic sull’icona addOgrLayer Aggiungi Vettore, esegui la ricerca nella cartella dei dataset di esempio di QGIS e carica i due layers vettoriali in formato shapefile alaska.shp e climate.shp.

  2. Fai doppio click sul vettore climate nella legenda per aprire la finestra di dialogo Proprietà layer.

  3. Fai click sulla scheda Diagrammi e dalla casella combinata di scelta del Tipo Diagramma selectString seleziona «Diagramma testo».

  4. Nella scheda Aspetto scegli un blu chiaro come colore di sfondo e nella scheda Dimensione imposta 18 mm come dimensione fissa.

  5. Nella scheda Posizione scegli “Intorno al punto” come posizionamento.

  6. Nel diagramma, vogliamo visualizzare i valori delle tre colonne T_F_JAN, T_F_JUL e T_F_MEAN. Quindi, nella scheda Attributi, prima seleziona T_F_JAN e fai click sul pulsante signPlus quindi ripeti con T_F_JUL e infine T_F_MEAN.

  7. Ora clicca su Applica per visualizzare il diagramma nella finestra principale di QGIS.

  8. Puoi adattare la dimensione del grafico nella scheda Dimensioni. Attiva radioButtonOn Dimensione scalata e imposta la dimensione dei diagrammi in base al Valore massimo di un attributo e l’opzione Dimensioni. Se i diagrammi appaiono troppo piccoli sullo schermo, puoi attivare la casella di controllo checkbox Aumenta la dimensione dei diagrammi piccoli e definire la dimensione minima dei diagrammi.

  9. Modifica i colori degli attributi facendo doppio click sui valori di colore nel campo Attributi assegnati. Figure_diagrams_mapped dà un’idea del risultato.

  10. Infine, clicca OK.

../../../_images/climate_diagram.png

Fig. 14.39 Diagrammi di temperatura sovrapposti su una mappa

Ricordati che puoi usare anche l’opzione Posizione definita da attributo per posizionare i diagrammi. Inoltre puoi anche impostare la visibilità dei diagrammi in funzione di determinate scale dalla scheda Aspetto.

La dimensione e gli attributi possono anche essere un’espressione. Utilizza il pulsante expression per aggiungere un’espressione. Per ulteriori informazioni ed esempi vedi il capitolo Espressioni.

14.1.5.8. Utilizzo di sovrascrittura definita dei dati

Come ricordato sopra, puoi utilizzare alcuni modi di definizione dati per affinare la visualizzazione dei diagrammi:

  • posizione tramite il riempimento dei campi X e Y nella scheda Posizionamento

  • visibilità nella scheda Aspetto tramite il riempimento del campo Visibilità

Vedi Etichettare in funzione dei dati per maggiori informazioni.

14.1.6. 3D View Properties

3d The 3D View tab provides settings for vector layers that should be depicted in the 3D Map view tool.

To display a layer in 3D, select from the combobox at the top of the tab, either:

  • Single symbol: features are rendered using a common symbol whose properties can be data-defined or not

  • Rule-based: multiple symbol configurations can be defined and applied selectively based on expression filters and scale range. More details on how-to at Rule-based rendering.

Depending on the layer geometry type, various properties are available for 3D rendering.

../../../_images/3d_view_properties.png

Fig. 14.40 3D properties of a polygon layer

14.1.6.1. Point Layers

  • You can define different simple 3D shapes like Sphere, Cylinder, Cube, Cone, Plane and Torus defined by their Radius, Size or Length. The unit of size of the 3D shapes refers to the CRS of the project.

  • The shading of the 3D shapes can be defined by the menus Diffuse, Ambient, Specular and Shininess (see https://en.wikipedia.org/wiki/Phong_reflection_model#Description)

  • If you choose 3D Model, the location will be determined by a simple point coordinate.

  • For visualizing 3D point clouds you can use Billboard Shapes defined by the Billboard Height, Billboard symbol and Altitude clamping. The symbol will have a stable size.

  • Altitude clamping can be set to Absolute, Relative or Terrain. The Absolute setting can be used when height values of the 3d vectors are provided as absolute measures from 0. Relative and Terrain add given elevation values to the underlying terrain elevation.

  • Translation can be used to move objects in x, y and z axis.

  • You can define a Scale factor for the 3D shape as well as a Rotation around the x-, y- and z-axis.

14.1.6.2. Line layers

  • Beneath the Width and Height settings you can define the Extrusion of the vector lines. If the lines do not have z-values, you can define the 3d volumes with this setting.

  • With the Altitude clamping you define the position of the 3D lines relative to the underlying terrain surface, if you have included raster elevation data or other 3D vectors.

  • The Altitude binding defines how the feature is clamped to the terrain. Either every Vertex of the feature will be clamped to the terrain or this will be done by the Centroid.

  • It is possible to checkboxRender as simple 3D lines.

  • The shading can be defined in the menus Diffuse, Ambient, Specular and Shininess.

14.1.6.3. Polygon Layers

  • As for the other ones, Height can be defined in CRS units.

  • Again, Extrusion is possible for missing z-values.

  • The Altitude clamping, Altitude binding can be defined as explained above.

  • There is an additional option to checkboxAdd back faces and checkboxInvert normals.

  • You can define checkboxEdges by Width and Color.

14.1.6.4. Application example

To go through the settings explained above you can have a look at https://public.cloudmergin.com/projects/saber/luxembourg/tree.

14.1.7. Fields Properties

sourceFields The Fields tab provides information on fields related to the layer and helps you organize them.

Puoi rendere modificabile il layer usando toggleEditing Attiva/disattiva modalità modifica. A questo punto puoi modificarne la struttura usando i pulsanti newAttribute Nuovo campo e deleteAttribute Elimina campo.

Puoi anche rinominare i campi facendo doppio clic sul nome. Questa opzione è supportata solo per le sorgenti dati come PostgreSQL, Oracle, Memory layer e qualche layer OGR a seconda del formato e della versione dei dati OGR.

Se è impostato nella sorgente dati o nelle forms properties, viene visualizzato anche l’alias del campo. Un alias è un nome di campo leggibile dall’uomo che puoi usare nel modulo delle geometrie o nella tabella degli attributi. Gli alias vengono salvati nel file di progetto.proprietà

A seconda della sorgente dati, puoi associare un commento a un campo, ad esempio al momento della sua creazione. Questa informazione viene recuperata e mostrata nella colonna Commento e viene poi visualizzata nel modulo della geometria quando si passa sopra l’etichetta del campo.

Other than the fields contained in the dataset, virtual fields and Auxiliary Storage included, the Fields tab also lists fields from any joined layers. Depending on the origin of the field, a different background color is applied to it.

Per ogni campo elencato, la finestra di dialogo elenca anche caratteristiche di sola lettura come il suo Tipo, Nome, Lunghezza e Precisione. Quando si usano layer come WMS o WFS, si può anche controllare qui quali campi possono essere ricavati.

../../../_images/fields_properties.png

Fig. 14.41 Fields properties tab

14.1.8. Proprietà Modulo Attributi

formView La scheda Modulo Attributi ti aiuta a impostare il modulo da visualizzare quando si creano nuove geometrie o si interrogano quelle esistenti. Puoi definire:

  • lo stile e il comportamento di ogni campo nel modulo delle geometrie o nella tabella degli attributi (etichetta, widget, vincoli….);

  • la struttura del modulo (personalizzata o autogenerata):

  • logica extra in Python per gestire l’interazione con i widget del modulo o dei campi.

In alto a destra della finestra di dialogo, puoi impostare se il modulo viene aperto in maniera predefinita quando si creano nuove funzioni. Puoi configurarlo per layer o globalmente con l’opzione Non aprire il modulo dopo la creazione di ogni geometria nel menu Impostazioni ▶ Opzioni ▶ Digitalizzazione.

14.1.8.1. Personalizzare un modulo per i tuoi dati

Per impostazione predefinita, quando clicchi su una geometria con lo strumento identifyInformazione elementi o apri la tabella degli attributi nella modalità vista modulo, QGIS visualizza un modulo base con widget predefiniti (generalmente caselle a tendina e caselle di testo — ogni campo è rappresentato su una riga dedicata dalla sua etichetta accanto al widget). Se sono configurate relazioni del layer, i campi dei layer di riferimento sono mostrati in una cornice incorporata nella parte inferiore del modulo, seguendo la stessa struttura di base.

Questa visualizzazione è il risultato del valore predefinito Genera automaticamente dell’impostazione Configurazione dell’editor degli attributi nella scheda Proprietà vettore ▶ Modulo attributi. Questa proprietà contiene tre diversi valori:

  • Genera automaticamente: mantiene la struttura di base di «una riga - un campo» per il modulo, ma permette di personalizzare ogni widget corrispondente.

  • Crea maschera di inserimento: oltre alla personalizzazione del widget, la struttura del modulo può essere resa più complessa, ad esempio, con widget incorporati in gruppi e schede.

  • Fornisci file ui: permette di utilizzare un file di Qt designer, quindi un modello potenzialmente più complesso e completo, come modulo per le geometrie.

14.1.8.1.1. Il modulo generato automaticamente

Quando l’opzione Genera automaticamente è attivata, il pannello Widgets disponibili ti mostra le liste di campi (del layer e delle sue relazioni) che verranno mostrati nel modulo. Seleziona un campo e puoi configurare il suo aspetto e il suo comportamento nel pannello di destra:

14.1.8.1.2. Editor clicca e trascina

The drag and drop designer allows you to create a form with several containers (tabs or groups) to present the attribute fields, as shown for example in figure_fields_form.

../../../_images/resulting_feature_form.png

Fig. 14.42 Modulo personalizzato con schede e gruppi distinti

  1. Choose Drag and drop designer from the Select attribute layout editor combobox. This enables the Form Layout panel next to the Available widgets panel, filled with existing fields. The selected field displays its properties (that you can customize) in a third panel.

  2. Select fields you do not want to use in your Form Layout panel and hit the signMinus button to remove them. Drag and drop fields from the other panel to re-add them. The same field can be added multiple times.

  3. Drag and drop fields within the Form Layout panel to reorder their position.

  4. Add containers (tab or group frames) to associate fields that belong to the same category and better structure the form.

    1. The first step is to use the signPlus icon to create a tab in which fields and groups will be displayed

    2. Then set the properties of the container, ie:

      • the name

      • the type, ie a tab or a group in container (a group inside a tab or another group)

      • and the number of columns the embedded fields should be distributed over

      ../../../_images/attribute_editor_layout.png

      Fig. 14.43 Dialog to create containers with the Attribute editor layout

      These, and other properties can later be updated by selecting the item and, from the third panel:

      • hide or show the container’s label

      • display the container as a group box (only available for tabs).

      • rename the container

      • set the number of columns

      • enter an expression to control the container’s visibility. The expression will be re-evaluated every time values in the form change, and the tab or group box shown/hidden accordingly

      • add a background color

    3. You can create as many containers as you want; press the signPlus icon again to create another tab or a group frame under an existing tab.

  5. The next step is to assign the relevant fields to each container, by simple drag and drop. Groups and tabs can also be moved in the same way.

  6. In case the layer is involved in a one or many to many relation, drag-and-drop the relation name from the Available widgets panel to the Form Layout panel. The associated layer attribute form will be embedded at the chosen place in the current layer’s form. As for the other items, select the relation label to configure some properties:

    • hide or show the relation label

    • show the link button

    • show the unlink button

  7. Apply the layer’s properties dialog

  8. Open a feature attribute form (eg, using the identify Identify features tool) and it should display the new form.

14.1.8.1.3. Utilizzare file-ui personalizzato

L’opzione Fornisci file UI ti permette di usare finestre di dialogo complesse fatte con Qt-Designer. L’utilizzo di un file UI consente una grande libertà nella creazione di una finestra di dialogo. Nota che, per collegare gli oggetti grafici (casella di testo, casella combinata …) ai campi del livello, è necessario assegnare loro lo stesso nome.

Usa Modifica UI per definire il percorso del file da utilizzare.

UI-files can also be hosted on a remote server. In this case, you provide the URL of the form instead of the file path in Edit UI.

You’ll find some example in the Creating a new form lesson of the Manuale di Formazione di QGIS. For more advanced information, see https://woostuff.wordpress.com/2011/09/05/qgis-tips-custom-feature-forms-with-python-logic/.

14.1.8.1.4. Migliora il tuo modulo con funzioni personalizzate

I moduli QGIS possono avere una funzione Python chiamata quando viene aperta la finestra di dialogo. Usa questa funzione per aggiungere ulteriori comandi alle tue finestre di dialogo. Il codice del modulo può essere specificato in tre modi diversi:

  • Carica dall'ambiente: utilizza una funzione, ad esempio in startup.py` o da un plugin installato.

  • load from an external file: a file chooser will let you select a Python file from your filesystem or enter a URL for a remote file.

  • Fornisci il codice in questa finestra: apparirà un editor Python dove puoi digitare direttamente la funzione da usare.

In tutti i casi devi inserire il nome della funzione che verrà chiamata (open nell’esempio sotto).

Un esempio è (nel modulo MyForms.py):

def open(dialog,layer,feature):
    geom = feature.geometry()
    control = dialog.findChild(QWidged,"My line edit")

Riferimento in Python Init Function in questo modo: open

14.1.8.2. Configurare il comportamento dei campi

La parte principale della scheda Modulo Attributi ti aiuta a impostare il tipo di widget utilizzato per riempire o visualizzare i valori del campo, nella tabella degli attributi o nel modulo geometrie: puoi definire come l’utente interagisce con ogni campo e i valori o la gamma di valori che possono essere aggiunti a ciascuno.

../../../_images/edit_widgets_dialog.png

Fig. 14.44 Finestra di dialogo per modificare un campo

14.1.8.2.1. Impostazioni comuni

Indipendentemente dal tipo di widget applicato al campo, ci sono alcune proprietà comuni che puoi impostare per controllare se e come un campo può essere modificato.

14.1.8.2.1.1. Widget display

Show label: indicates whether the field name should be displayed in the form.

14.1.8.2.1.2. Opzioni generali
  • Alias: un nome comprensibile da usare per i campi. Gli alias saranno visualizzati nel modulo geometrie, nella tabella degli attributi o nel pannello Visualizzatore risultati. Può anche essere usato come sostituto del nome del campo in Costruttore di espressioni 1, facilitando la comprensione delle espressioni e delle verifiche. Gli alias sono salvati nel file di progetto.

  • Comment: displays the field’s comment as shown in the Fields tab, in a read-only state. This information is shown as tooltip when hovering over the field label in a feature form.

  • checkbox Modificabile: deseleziona questa opzione per impostare il campo in sola lettura (non modificabile manualmente) anche quando il layer è in modalità di modifica. Nota che il controllo di questa impostazione non prevale su qualsiasi altra limitazione di modifica da parte del fornitore dati.

  • checkbox Etichetta in alto: posiziona il nome del campo sopra o accanto al widget nel modulo delle geometrie.

14.1.8.2.1.3. Valori predefiniti
  • Valore predefinito: per nuove geometrie, popola automaticamente il campo con un valore predefinito o un valore expression-based one 1. Per esempio, puoi:

    • utilizzare $x, $length, $area per popolare automaticamente un campo con la coordinata X dell’elemento, la lunghezza, l’area o qualsiasi informazione geometrica alla sua creazione;

    • incrementare un campo di 1 per ogni nuova geometria usando maximum("field")+1;

    • salvare la data e l’ora di creazione della geometria usando now();

    • usare variables nelle espressioni, rendendo più facile, ad esempio, inserire il nome dell’operatore (@user_full_name`), il percorso del file del progetto (@project_path), ….

    Un’anteprima del conseguente valore predefinito viene visualizzata nella parte inferiore del widget.

    Nota

    L’opzione Valore predefinito ignora i valori in ogni altro campo della geometria creata, quindi non sarà possibile utilizzare un’espressione che combina uno qualsiasi di questi valori, ad esempio utilizzando un’espressione come concat(field1, field2) potrebbe non funzionare.

  • checkbox Applica valore predefinito all’aggiornamento: ogni volta che l’attributo della geometria o la geometria viene modificata, il valore predefinito viene ricalcolato. Questo potrebbe essere utile per salvare valori come modificati dall” ultimo utente, l’ultima volta che è stato modificato…..

14.1.8.2.1.4. Vincoli

Puoi vincolare il valore da inserire nel campo. Questo vincolo può essere:

  • checkbox Non nullo: richiede che l’utente fornisca un valore;

  • checkbox Univoco: per garantire che il valore inserito sia unico in ogni campo;

  • basato su un’espressione personalizzata: ad esempio regexp_match(col0,'A-Za-z') per assicurare che il valore del campo col0 contenga solo lettere dell’alfabeto.

Ogni volta che un valore viene aggiunto o modificato in un campo, viene sottoposto ai vincoli esistenti e:

  • se soddisfa tutti i requisiti, un segno di spunta verde viene mostrato accanto al campo nel modulo;

  • se non soddisfa tutti i requisiti, in prossimità del campo viene visualizzata una croce gialla o rossa. È possibile passare sopra la croce per ricordarsi quali vincoli sono applicati al campo e correggere il valore:

    • Una croce gialla appare quando il vincolo non soddisfatto è un vincolo non obbligatorio e non impedisce di salvare le modifiche con i valori «sbagliati»;

    • Una croce rossa non può essere ignorata e non consente di salvare le modifiche fino a quando non vengono rispettati i vincoli. Appare quando l’opzione checkbox Fai rispettare il vincolo espressione è selezionata.

14.1.8.2.2. Widgets disponibili

In base al tipo di campo, QGIS determina e assegna automaticamente un tipo di widget predefinito. È quindi possibile sostituire il widget con qualsiasi altro compatibile con il tipo di campo. I widget disponibili sono:

  • Casella di controllo: Visualizza una casella di controllo il cui stato definisce il valore da inserire.

  • Classificazione: Disponibile solo quando un categorized symbology è applicato al layer, visualizza una casella combinata con i valori delle classi.

  • Colore: Visualizza un color widget che permette di selezionare un colore; il valore del colore è memorizzato come notazione html nella tabella degli attributi.

  • Data/ora: Visualizza un campo che può aprire un widget di calendario per inserire una data, un tempo o entrambi. Il tipo di colonna deve essere testo. Puoi selezionare un formato personalizzato, aprire un calendario, ecc.

  • Numerazione: Apre una combo box con valori predefiniti provenienti dal database. Questo è attualmente supportato solo da PostgreSQL, per campi di tipo enum.

  • Allegato: utilizza una finestra di dialogo «Apri file» per memorizzare il percorso del file in modalità relativa o assoluta. Può anche essere utilizzato per visualizzare un collegamento ipertestuale (per il percorso del documento), un’immagine o una pagina web.

  • Nascosto: rende invisibile la colonna, quindi non potrai vederne il contenuto.

  • Chiave/Valore: Visualizza una tabella a due colonne per memorizzare insiemi di coppie chiave/valore in un unico campo. Questo è attualmente supportato da PostgreSQL, per campi di tipo hstore.

  • Lista: Visualizza una tabella a colonna singola per aggiungere valori diversi all’interno di un singolo campo. Questo è attualmente supportato da PostgreSQL, per campi di tipo array.

  • Intervallo: ti permette di impostare dei valori di un preciso intervallo numerico. Il widget può apparire come un cursore o come un campo modificabile.

  • Riferimento della relazione: questo widget ti consente di incorporare il modulo della geometria del layer di riferimento nel modulo della geometria del layer attivo. Vedi Creare una relazione uno a molti o molti a molti.

  • Modifica testo (impostazione predefinita): consente di aprire un campo di modifica del testo che consente di utilizzare testi semplici testi o a più righe. Se scegli più righe puoi anche scegliere contenuto html.

  • Valori univoci: puoi selezionare uno dei valori già utilizzati nella tabella degli attributi. Se è attivato “Modifica”, viene visualizzata una scelta in linea con il supporto di autocompletamento, altrimenti viene visualizzato un menu a tendina.

  • Generatore UUID: genera un campo UUID (Universally Unique Idetifiers) di sola lettura, se il campo è vuoto.

  • Mappa valore: un menu a tendina con elementi predefiniti. Il valore viene memorizzato nell’attributo, la descrizione viene visualizzata nel menu a tendina. Puoi definire i valori manualmente oppure caricarli da un layer o da un file CSV.

  • Relazione valore: offre valori da una tabella correlata in caselle combinate. Puoi selezionare layer, colonna chiave e colonna valore. Sono disponibili diverse opzioni per modificare i comportamenti standard: consentire il valore nullo, l’ordine per valore, consentire più selezioni e utilizzare l’autocompletamento. Le maschere visualizzeranno un elenco a discesa o un elemento di modifica in linea quando la casella di controllo autocompletamento è abilitata.

Suggerimento

Percorso relativo nel widget allegato

Se il percorso selezionato con il browser file si trova nella stessa directory del file di progetto .qgs o in cartella sottostante, i percorsi vengono convertiti in percorsi relativi. Ciò aumenta la portabilità di un progetto .qgs con le informazioni multimediali allegate.

14.1.9. Proprietà Join

join The Joins tab allows you to associate features of the current layer (called Target layer) to features from another loaded vector layer (or table). The join is based on an attribute that is shared by the layers. The layers can be geometryless (tables) or not but their join attribute should be of the same type.

To create a join:

  1. Click the signPlus Add new join button. The Add vector join dialog appears.

  2. Select the Join layer you want to connect with the target vector layer

  3. Specify the Join field and the Target field that are common to both the join layer and the target layer

  4. Press OK and a summary of selected parameters is added to the Join panel.

../../../_images/join_attributes.png

Fig. 14.45 Unisci una tabella di attributi ad un layer vettoriale

The steps above will create a join, where ALL the attributes of the first matching feature in the join layer is added to the target layer’s feature. QGIS provides more options to tweak the join:

  • checkbox Cache join layer in virtual memory: allows you to cache values in memory (without geometries) from the joined layer in order to speed up lookups.

  • unchecked Create attribute index on the join field

  • unchecked Dynamic form: helps to synchronize join fields on the fly, according to the Target field. This way, constraints for join fields are also correctly updated. Note that it’s deactivated by default because it may be very time consuming if you have a lot of features or a myriad of joins.

  • If the target layer is editable, then some icons will be displayed in the attribute table next to fields, in order to inform about their status:

    • joinNotEditable: il layer di join non è configurato per essere modificabile. Se vuoi essere in grado di modificare le geometrie in join dalla tabella degli attributi di destinazione, allora devi spuntare l’opzione ||checkbox| Layer di unione modificabile.

    • joinedLayerNotEditable: il layer di join è ben configurato per essere modificabile, ma il suo stato attuale è in sola lettura.

    • joinHasNotUpsertOnEdit: the join layer is editable, but synchronization mechanisms are not activated. If you want to automatically add a feature in the join layer when a feature is created in the target layer, then you have to check the option checkbox Upsert on edit. Symmetrically, the option checkbox Delete cascade may be activated if you want to automatically delete join features.

  • unchecked Joined fields: instead of adding all the fields from the joined layer, you can specify a subset.

  • unchecked Custom field name prefix for joined fields, in order to avoid name collision

QGIS currently has support for joining non-spatial table formats supported by OGR (e.g., CSV, DBF and Excel), delimited text and the PostgreSQL provider.

14.1.10. Proprietà Dati Ausiliari

Il modo consueto per personalizzare lo styling e l’etichettatura è quello di utilizzare proprietà definite dai dati come descritto in Impostazione Sovrascrittura definita dai dati. Tuttavia, potrebbe non essere possibile se i dati sottostanti sono di sola lettura. Inoltre, la configurazione di queste proprietà definite dai dati può richiedere molto tempo o non essere auspicabile! Per esempio, se si desidera utilizzare completamente gli strumenti della mappa con Barra delle etichette, è necessario aggiungere e configurare più di 20 campi nella sorgente dati originale (posizioni X e Y, angolo di rotazione, stile del carattere, colore e così via).

Il meccanismo Dati Ausiliari fornisce la soluzione a queste limitazioni e complesse configurazioni. I campi ausiliari sono un modo alternativo per gestire e memorizzare automaticamente queste proprietà definite dai dati (etichette, diagrammi, simbologia….) in un database SQLite grazie a collegamenti modificabili. Questo permette di memorizzare proprietà per layer che non sono modificabili.

Una scheda è disponibile nella finestra di dialogo delle proprietà del layer vettoriale per gestire la memoria ausiliaria:

../../../_images/auxiliary_storage_tab.png

Fig. 14.46 Scheda Dati Ausiliari

14.1.10.1. Etichettatura

Considerando che l’origine dati può essere personalizzata grazie alle proprietà definite dai dati senza essere modificabile, gli strumenti di etichettatura della mappa descritti in Barra delle etichette sono sempre disponibili non appena l’etichettatura viene attivata.

In realtà, il sistema di archiviazione ausiliario ha bisogno di un layer ausiliario per memorizzare queste proprietà in un database SQLite (vedi Database Dati Ausiliari). Il suo processo di creazione viene eseguito la prima volta che si clicca sulla mappa mentre uno strumento di etichettatura della mappa è attualmente attivato. Poi, viene visualizzata una finestra che permette di selezionare la chiave primaria da utilizzare per l’unione (per assicurarsi che le geometrie siano univocamente identificate):

../../../_images/auxiliary_storage_key.png

Fig. 14.47 Finestra di dialogo Layer Ausiliario

Non appena viene configurato un layer ausiliario come fonte di dati corrente, puoi recuperare le sue informazioni nella scheda:

../../../_images/auxiliary_storage_tabkey.png

Fig. 14.48 Chiave layer ausiliario

Il layer ausiliario ha ora queste caratteristiche:

  • la chiave primaria è ID,

  • ci sono 0 geometrie che utilizzano un campo ausiliario,

  • ci sono 0 campi ausiliari.

Ora che il layer ausiliario è stato creato, puoi modificare le etichette del layer. Clicca su un’etichetta mentre è attivato lo strumento changeLabelProperties Change Label strumenti mappa, poi puoi aggiornare le proprietà di stile come dimensioni, colori e così via. Le corrispondenti proprietà definite dai dati vengono create e possono essere recuperate:

../../../_images/auxiliary_storage_fields.png

Fig. 14.49 Campi ausiliari

Come puoi vedere nella figura sopra, i campi 21``vengono automaticamente creati e configurati per l'etichettatura. Per esempio, il tipo di campo ausiliario ``FontStyle è uno String ed è chiamato labeling_fontstyle nel database SQLite sottostante. C’è anche la geometria 1 che attualmente utilizza questi campi ausiliari.

Notare che l’icona dataDefineOn è visualizzata nella scheda Etichette proprietà che indica che le opzioni di sovrapposizione dei dati definiti sono impostate correttamente:

../../../_images/auxiliary_storage_dd.png

Fig. 14.50 Proprietà definite dai dati create automaticamente

Otherwise, there’s another way to create an auxiliary field for a specific property thanks to the dataDefined data-defined override button. By clicking on Store data in the project, an auxiliary field is automatically created for the Opacity field. If you click on this button and the auxiliary layer is not created yet, a window (Fig. 14.47) is first displayed to select the primary key to use for joining.

14.1.10.2. Simbologia

Come il metodo sopra descritto per la personalizzazione delle etichette, i campi ausiliari possono essere usati anche per stilizzare simboli e diagrammi. Per fare questo, clicca su dataDefined Sovrascrittura definita dai dati e seleziona Salva Dati nel Progetto per una proprietà specifica. Per esempio, il campo Colore di riempimento:

../../../_images/auxiliary_storage_symbol.png

Fig. 14.51 Menu definizione proprietà per i simboli

Ci sono diversi attributi per ogni simbolo (es. stile di riempimento, colore di riempimento, colore di riempimento, colore del tratto, ecc….), quindi ogni campo ausiliario che rappresenta un attributo richiede un nome unico per evitare conflitti. Dopo aver selezionato Salva Dati nel Progetto, si apre una finestra che visualizza Tipo del campo e richiede di inserire un nome univoco per il campo ausiliario. Ad esempio, quando si crea un campo ausiliario Colore di riempimento si apre la seguente finestra:

../../../_images/auxiliary_storage_symbol_name.png

Fig. 14.52 Nome del campo ausiliario di un simbolo

Una volta creato, il campo ausiliario può essere richiamato nella scheda dati ausiliari:

../../../_images/auxiliary_storage_symbol_field.png

Fig. 14.53 Simbolo campo ausiliario

14.1.10.3. Tabella degli attributi e widget

I campi ausiliari possono essere modificati utilizzando la attributo table. Tuttavia, non tutti i campi ausiliari sono inizialmente visibili nella tabella degli attributi.

I campi ausiliari che rappresentano gli attributi della simbologia, dell’etichettatura, dell’aspetto o dei diagrammi di un layer appariranno automaticamente nella tabella degli attributi. L’eccezione sono gli attributi che possono essere modificati usando la Label Toolbar che sono nascosti per impostazione predefinita. I campi ausiliari che rappresentano un Colore hanno un widget Colore impostato di default, mentre i campi ausiliari sono predefiniti dal widget Testo Modifica.

I campi ausiliari che rappresentano gli attributi che possono essere modificati utilizzando la barra degli strumenti Label toolbar per impostazione predefinita sono Nascosti nella tabella degli attributi. Per rendere visibile un campo, aprire la scheda Attribute Form properties tab e cambiare il valore di un campo ausiliario Tipo Widget da Nascosto ad un altro valore pertinente. Per esempio, cambiare auxiliary_storage_labeling_size in Modifica testo o cambiare auxiliary_storage_labeling_color nel widget Colore. Questi campi saranno ora visibili nella tabella degli attributi.

I campi ausiliari nella tabella degli attributi appariranno come nell” immagine seguente:

../../../_images/auxiliary_storage_widgets.png

Fig. 14.54 Modulo con campi ausiliari

14.1.10.4. Gestione

Il menu Dati Ausiliari permette di gestire i campi ausiliari:

../../../_images/auxiliary_storage_actions.png

Fig. 14.55 Gestione layer ausiliario

La prima voce Crea in questo caso è disabilitata perché il layer ausiliario è stato già creato. Ma nel caso di un lavoro nuovo, puoi usare questa azione per creare un layer ausiliario. Come spiegato in Etichettatura, sarà necessaria una chiave primaria.

L’azione Pulisci permette di mantenere tutti i campi ausiliari, ma di rimuoverne il contenuto. In questo modo, il numero di funzioni che utilizzano questi campi scenderà a 0.

L’azione Elimina rimuove completamente il layer ausiliario. In altre parole, la tabella corrispondente viene cancellata dal database SQLite sottostante e la personalizzazione delle proprietà viene persa.

Infine, l’azione Esporta permette di salvare il livello ausiliario come un new vector layer. Si noti che le geometrie non sono memorizzate in una memoria ausiliaria. Tuttavia, in questo caso, anche le geometrie vengono esportate dall’origine dati originale.

14.1.10.5. Database Dati Ausiliari

Quando salvi il tuo progetto con il formato .qgs, il database SQLite utilizzato per i dati ausiliari viene salvato nello stesso posto ma con l’estensione .qgd.

Per comodità, un archivio invece può essere utilizzato invece grazie al formato .qgz. In questo caso, i file .qgd e .qgs sono entrambi incorporati nell’archivio.

14.1.11. Proprietà Azioni

La scheda action ti offre la possibilità di creare azioni sulla base degli attributi associati ai singoli elementi del vettore. Potrai cosi creare un grande numero di azioni, per esempio, avviare un programma con argomenti come gli attributi di un vettore o inviare parametria una applicazione di rete.

../../../_images/action_dialog.png

Fig. 14.56 Panoramica della finestra di dialogo Azioni con esempi

Le azioni sono utili quando vuoi avviare un’applicazione esterna oppure aprire una pagina web sulla base di uno o più valori associati al vettore. Ci sono sei tipologie di azioni che puoi usare nel seguente modo:

  • Le azioni Generic, Mac, Windows e Unix avviano un processo esterno.

  • Le azioni python eseguono un’espressione python,

  • Le azioni generic e python sono visibili ovunque.

  • Le azioni Mac, Windows e Unix sono visibili solo sulle rispettive piattaforme (cioè puoi definire le azioni, ma sarai in grado di vedere i risultati solamente sulla piattaforma dalla quale è stato lanciato l’editor).

Ci sono diversi esempi inclusi nella finestra di dialogo. Puoi caricarli cliccando su Crea Azioni Predefinite. Per modificare uno qualsiasi degli esempi, fare doppio clic sulla sua riga. Un esempio è l’esecuzione di una ricerca basata su un valore di un attributo. Questo concetto è usato nella seguente discussione.

checkbox Mostra nella tabella degli attributi permette di visualizzare nella finestra di dialogo della tabella degli attributi le azioni selezionate, sia come Combo Box o come Pulsanti separati (vedi Configurare le colonne).

14.1.11.1. Definire le azioni

Per definire un’azione di attributo, apri la finestra di dialogo Proprietà e fai click sulla scheda Azioni. Nella scheda Azioni fai click su signPlus Aggiunge una nuova azione per aprire la finestra di dialogo Aggiunge nuova azione.

Seleziona Tipo e fornisci un nome descrittivo per l’azione. L’azione stessa deve contenere il nome dell’applicazione che verrà eseguita quando viene richiamata l’azione. Puoi aggiungere uno o più valori del campo attributo come argomenti all’applicazione. Quando viene richiamata l’azione, qualsiasi gruppo di caratteri che inizia con un % seguito dal nome di un campo verrà sostituito dal valore di quel campo. I caratteri speciali %% verranno sostituiti dal valore del campo selezionato dalla opzione di identificazione dei risultati o dalle tabella attributi (vedi using_actions_below). Le virgolette doppie possono essere utilizzate per raggruppare il testo come un unico argomento al programma, allo script o al comando. Le virgolette doppie saranno ignorate se precedute dal carattere .

Ambiti Azione permette di definire dove l’azione dovrebbe essere disponibile. Hai 4 diverse scelte:

  1. Ambito Elemento: l’azione è disponibile quando si clicca con il tasto destro del mouse nella cella all’interno della tabella degli attributi.

  2. Ambito Campo: l’azione è disponibile quando si clicca con il tasto destro del mouse nella cella all’interno della tabella degli attributi, nel modulo delle geometrie e nel pulsante di azione predefinito della barra degli strumenti principale.

  3. Ambito Layer: l’azione è disponibile nel pulsante azione nella barra degli strumenti della tabella degli attributi. Da notare che questo tipo di azione coinvolge l’intero layer e non le singole geometrie.

  4. Mappa: l’azione è disponibile nel pulsante azione principale nella barra degli strumenti.

Se sono presenti nomi di campi che possono essere interpretati come sotto-stringhe di altri nomi di campi (ad es. col1 e col10) devi racchiudere il nome (e il carattere %) tra parentesi quadre (es. [%col10]). Questo impedirà che il nome di campo %col10 possa essere confuso con %col1 con uno 0 alla fine. Le virgolette saranno rimosse da QGIS mano che inserirai i valori del campo. Se vuoi che i campi sostituiti vengano racchiusi entro parentesi quadre, aggiungi una seconda coppia di parentesi quadre: [[%col10]].

La finestra di dialogo Informazione sui risultati che compare quando usi lo strumento Informazioni elementi ha una voce (Derivato) che contiene informazioni che dipendono dal tipo di vettore interrogato. Puoi accedere ai valori di questa voce in modo simile a come accedi ad altri campi della tabella attributi anteponendo al nome del campo (Derivato). Per esempio un vettore di punti ha due campi, X e Y, e puoi usare il loro valore nell’azione con l’espressione %(Derivato).X e %(Derivato).Y. Gli attributi derivati sono disponibili solo nella finestra Informazione sui risultati e non nella finestra Tabella degli attributi.

Due esempi di azioni sono di seguito mostrati:

  • konqueror https://www.google.com/search?q=%nam

  • konqueror https://www.google.com/search?q=%%

Nel primo esempio, verrà lanciato il browser konqueror che aprirà un URL. L’URL crea una ricerca Google sul valore del campo nam nel vettore. Il programma o lo script richiamato dall’azione deve essere nel path delle variabili d’ambiente altrimenti dovrai specificare il percorso completo del programma. Il primo esempio infatti è accessibile anche con /opt/kde3/bin/konqueror http://www.google.com/search?q=%nam. In questo modo sei sicuro che l’applicazione konqueror verrà eseguita quando si richiama l’azione..

Nel secondo esempio viene usata la notazione %% che non si basa su un particolare campo per il suo valore. Quando richiami l’azione, il %% sarà rimpiazzato dal valore del campo selezionato nella finestra Informazioni risultati o nella tabella degli attributi.

14.1.11.2. Uso delle azioni

QGIS offre molti modi per eseguire le azioni che hai attivato su un layer. A seconda delle loro impostazioni, possono essere disponibili:

  • nel menu a discesa di actionRun Avvia azione sull’element dalla finestra di dialogo Barra degli strumenti relativa agli attributi o dalla Tabella degli Attributi;

  • quando si clicca con il tasto destro del mouse su una geometria con lo strumento identify Informazioni Elementi (vedi Informazione Elementi per maggiori informazioni);

  • dal pannello Informazioni Risultati, sotto la sezione Azioni;

  • come elementi di una colonna Azioni nella finestra di dialogo Tabella degli Attributi.

Se stai richiamando un’azione che usa l’annotazione %%, fai click con il tasto destro sul valore del campo nella finestra Informazioni risultati oppure dalla finestra Tabella attributi e scegli l’applicazione o lo script da assegnare.

In questo altro esempio viene mostrato come estrarre dati da un vettore per inserirli in un file usando il terminale e il comando echo (quindi funzionerà su nix e forse su osx). Il vettore in questione ha i seguenti campi nella tabella attributi: nome della specie taxon_name, latitudine lat e longitudine long. Vuoi eseguire una selezione spaziale delle specie (taxon) presenti in determinate posizioni, esportando i risultati in un file di testo (evidenziate in giallo sulla mappa di QGIS ). Ecco l’azione giusta per questo scopo:

bash -c "echo \"%taxon_name %lat %long\" >> /tmp/species_localities.txt"

Selezionando solo alcune posizioni, l’esecuzione dell’azione precedente genera un file di output fatto così:

Acacia mearnsii -34.0800000000 150.0800000000
Acacia mearnsii -34.9000000000 150.1200000000
Acacia mearnsii -35.2200000000 149.9300000000
Acacia mearnsii -32.2700000000 150.4100000000

Come esercizio puoi creare un’azione che lancia una ricerca su Google in base al vettore lakes. Prima di tutto devi impostare l’URL necessario per eseguire una ricerca basata su una parola chiave. Questo è facile da fare andando su Google e facendo una semplice ricerca, poi acquisendo l’URL dalla barra degli indirizzi del tuo browser. Da questo semplice tentativo, vediamo che il formato è https://www.google.com//search?q=QGIS, dove QGIS è il termine di ricerca. Sulla base di queste informazioni, possiamo procedere:

  1. Assicurarti di aver caricato il vettore lakes.

  2. Apri la finestra di dialogo Proprietà layer facendo doppio click sul vettore o cliccandoci sopra con il tasto destro del mouse e scegliendo Proprietà dal menu contestuale.

  3. Clic sulla scheda Azioni.

  4. Clic signPlus Aggiungi nuova azione.

  5. Scegli il tipo di azione Apri,

  6. Inserisci un nome descrittivo per l’azione, ad esempio Ricerca Google.

  7. Inoltre puoi aggiungere un Descrizione breve o anche un Icona.

  8. Scegli l’azione in Ambiti Azione. Vedi Definire le azioni per ulteriori informazioni. Lascia le impostazioni predefinite per questo esempio.

  9. Devi fornire il nome del programma esterno, in questo caso Firefox. Se il programma non è presente nel tuo path, devi inserire il path assoluto.

  10. Dopo il nome dell’applicazione esterna, aggiungi l’URL della ricerca di Google, senza includere il termine della ricerca:http://google.com/search?q=

  11. A questo punto il testo nel campo Azioni dovrebbe apparire così: firefox http://google.com/search?q=

  12. Clicca sul menu a tendina che contiene i nomi dei campi del vettore lakes. E” posizionato immediatamente a sinistra del pulsante Inserisci.

  13. Dal menu a tendina, seleziona ‘NAMES’ e clicca sul pulsante Inserisci.

  14. Il testo dell’azione dovrebbe ora apparire come segue:

    https://www.google.com//search?q=[%NAMES%]

  15. Per concludere e aggiungere l’azione, clicca sul pulsante OK.

../../../_images/add_action_edit.png

Fig. 14.57 Esempio finestra di dialogo di definizione di un azione

Questo ultimo passo completa l’azione che è ora pronta per essere usata. Il testo finale dell’azione dovrebbe apparire così:

https://www.google.com//search?q=[%NAMES%]

A questo punto puoi usare l’azione. Chiudi la finestra Proprietà layer e usa lo zoom su un’area a scelta. Assicurati che il vettore lakes sia attivo ed identifica con l’apposito strumento un lago qualsiasi. Nella finestra risultante dovrebbe essere visibile l’azione:

../../../_images/action_identifyaction.png

Fig. 14.58 Seleziona un elemento e scegli un’azione

Cliccando sull’azione, verrà lanciato Firefox all’URL http://www.google.com/search?q=Tustumena. Puoi anche aggiungere altri campi all’azione, aggiungendo un + alla fine della stringa che definisce l’azione, selezionando quindi un altro campo e cliccando sul pulsante Inserisci. Nel nostro esempio non c’è alcun altro campo sul quale avrebbe senso fare una ricerca.

Puoi definire più di un’azione per ogni vettore, ognuna delle quali verrà mostrata nella finestra di dialogo Informazioni Risultati.

Puoi anche richiamare le azioni dalla tabella degli attributi selezionando una riga e cliccando col tasto destro, allora puoi scegliere un’azione dal menu a tendina.

Puoi creare tantissimi tipi di azione. Per esempio se hai un vettore di punti che fa riferimento alle posizioni dove sono state scattate foto o immagini, insieme al nome stesso del file, puoi creare un’azione per avviare un programma che visualizzerà l’immagine. Puoi usare le azioni anche per lanciare report sul web per uno o più campi della tabella degli attributi, definendole allo stesso modo dell’esempio per la ricerca con Google.

Ci sono esempi anche molto più complicati, per esempio usando le azioni Python.

Di solito, quando creiamo un’azione per aprire un file con un’applicazione esterna, possiamo usare percorsi assoluti, o eventualmente relativi. Nel secondo caso, il percorso è relativo alla posizione del file eseguibile del programma esterno. Ma cosa succede se abbiamo bisogno di usare percorsi relativi, relativi al layer selezionato (uno layer basato su file, come Shapefile o SpatiaLite)? Il codice seguente servirà allo scopo:

command = "firefox"
imagerelpath = "images_test/test_image.jpg"
layer = qgis.utils.iface.activeLayer()
import os.path
layerpath = layer.source() if layer.providerType() == 'ogr'
  else (qgis.core.QgsDataSourceURI(layer.source()).database()
    if layer.providerType() == 'spatialite' else None)
path = os.path.dirname(str(layerpath))
image = os.path.join(path,imagerelpath)
import subprocess
subprocess.Popen( [command, image ] )

Ricordati che l’azione è del tipo Python, quindi devi cambiare le variabili command e imagerelpath.

E se il percorso relativo deve essere relativo al file di progetto (salvato)? Il codice per l’azione Python diventa:

command = "firefox"
imagerelpath = "images/test_image.jpg"
projectpath = qgis.core.QgsProject.instance().fileName()
import os.path
path = os.path.dirname(str(projectpath)) if projectpath != '' else None
image = os.path.join(path, imagerelpath)
import subprocess
subprocess.Popen( [command, image ] )

Un altro esempio di azione python è quello che ti permette di aggiungere nuovi layer al progetto. In questo esempio aggiungeremo sia un vettore che un raster. Il nome dei file da aggiungere al progetto e il nome da assegnare ai layer è specificato dai dati (filename e layname sono nomi di colonne della tabella dagli attributi del vettore dove l’azione è stata creata):

qgis.utils.iface.addVectorLayer('/yourpath/[% "filename" %].shp',
  '[% "layername" %]', 'ogr')

Per aggiungere un raster (in questo caso un’immagine TIF), diventa:

qgis.utils.iface.addRasterLayer('/yourpath/[% "filename" %].tif',
  '[% "layername" %]')

14.1.12. Proprietà Suggerimenti

display La scheda Suggerimenti ti aiuta a configurare i campi da utilizzare per l’identificazione degli elementi:

  • Il Nome visualizzato: basato su un campo o su un espressione. Questo è:

    • l’etichetta mostrata sulla parte superiore delle informazioni della geometria nel risultato di in Identify tool;

    • il campo utilizzato nella locator bar quando si cercano geometrie in tutti i layer;

    • l’identificatore della geometria nella tabella degli attributi form view;

    • geometria del layer attivo con l’icona mapTips Mostra suggerimenti mappa. Applicabile quando HTML Map Tip è impostato a no.

  • HTML Map Tip è stato creato appositamente per i suggerimenti della mappa: si tratta di un testo HTML più complesso e completo che mescola campi, espressioni e tag html (multilinea, font, immagini, immagini, collegamenti ipertestuali…..).

../../../_images/display_html.png

Fig. 14.59 Codice HTML per suggerimento mappa

Per attivare Suggerimenti mappa, seleziona l’opzione di menu Visualizza ▶ Mostra Suggerimenti mappa o fai clic sull’icona mapTips Mostra Suggerimenti mappa. Suggerimenti mappa è una funzionalità di cross-session che, una volta attivata, rimane attiva e si applica a qualsiasi layer impostato in qualsiasi progetto, anche nelle future sessioni di QGIS finché non viene disattivato.

../../../_images/map_tip.png

Fig. 14.60 Suggerimento mappa realizzato con codice HTML

14.1.13. Proprietà Visualizzazione

14.1.13.1. Visibilità dipendente dalla scala

Puoi impostare la scala Massimo (incluso) e quella Minimo (escluso), definendo un intervallo di valori di scala in cui le geometrie saranno visibili. Fuori di questo intervallo sono nascoste. Il pulsante mapIdentification Imposta alla scala corrente dell’estensione della mappa ti consente di utilizzare la scala corrente della mappa come limite di visibilità.

14.1.13.2. Semplifica geometria

QGIS offre il supporto per la generalizzazione delle geometrie on-the-fly. Ciò può migliorare i tempi di visualizzazione quando si disegnano molteplici oggetti complessi a piccole scale. Questa funzionalità può essere abilitata o disattivata nelle impostazioni del layer utilizzando l’opzione checkbox Semplifica geometrie. Esiste anche un’impostazione globale che consente la generalizzazione per impostazione predefinita per i nuovi layer aggiunti (per ulteriori informazioni, vedi global simplification)

../../../_images/simplify_rendering.png

Fig. 14.61 Finestra di dialogo vettore Semplifica geometrie

Nota

La generalizzazione delle geometrie può in alcuni casi presentare artefatti nel tuo output di visualizzazione. Questi possono includere slivers tra poligoni e visualizzazioni imprecise quando si utilizzano layers di simboli basati su offset.

Durante la visualizzazione di layers estremamente dettagliati (ad esempio, layers poligonali con un numero enorme di nodi), ciò può far sì che le esportazioni delle composizioni di stampa in formato PDF/SVG siano enormi in quanto tutti i nodi sono inclusi nei file esportati. Questo può anche rendere i file risultanti molto lenti per funzionare con/aprire in altri programmi.

Con l’opzione checkbox Forza la visualizzazione del vettore come raster si impone per questi layer una rasterizzazione in modo che i file esportati non dovranno includere tutti i nodi contenuti in questi layers e quindi rendere più rapida la visualizzazione.

Puoi anche farlo obbligando il layout ad esportare come raster, ma è una soluzione tutto o niente, dato che la rasterizzazione viene applicata a tutti i layer.

Aggiorna i layer a intervalli (secondi): imposta un timer per aggiornare automaticamente i singoli layeri ad un intervallo corrispondente. Gli aggiornamenti delle mappee sono posticipati per evitare di aggiornare più volte se più di un layer ha impostato un intervallo di aggiornamento automatico.

A seconda del fornitore di dati (ad es. PostgreSQL), le notifiche possono essere inviate a QGIS quando vengono applicate modifiche all’origine dati, da QGIS. Utilizza checkbox Livello di aggiornamento sulla notifica per attivare un aggiornamento. Puoi anche limitare l’aggiornamento del layer ad un messaggio specifico impostato nella casella di controllo checkbox Solo se il messaggio è casella di testo .

14.1.14. Scheda Variabili

expression La scheda Variabili elenca tutte le variabili disponibili a livello di layer (che include tutte le variabili globali e di progetto).

Consente inoltre all’utente di gestire le variabili a livello di layer. Fai click sul pulsante signPlus per aggiungere una nuova variabile a livello di layer personalizzato. Allo stesso modo, seleziona una variabile a livello di layer personalizzato dall’elenco e fai click sul pulsante signMinus per rimuoverla.

Ulteriori informazioni sull’utilizzo delle variabili nella sezione Memorizzazione valori nelle Variabili.

14.1.15. Scheda Metadati

editMetadata La scheda Metadata ti propone delle opzioni per creare e modificare un report di metadati sul tuo layer. Le informazioni da inserire riguardano:

  • Identificazione: attributi di base del dataset (genitore, identificatore, titolo, abstract, lingua….);

  • Categorie a cui appartengono i dati. Accanto alle categorie ISO, è possibile aggiungere categorie personalizzate;

  • Parole chiave per recuperare i dati e i concetti associati seguendo un vocabolario standard;

  • il Accesso al dataset (licenze, diritti, tariffe e vincoli);

  • l” Estensione del dataset, sia spaziale (SR, estensione della mappa, altitudini) che temporale;

  • il Contatti del proprietario(i) del dataset;

  • i Collegamenti alle risorse ausiliarie e alle relative informazioni;

  • lo Storico del dataset.

Una sintesi delle informazioni compilate è fornito nella scheda Validazione e ti aiuta a identificare potenziali problemi relativi al modulo. Puoi quindi correggerli o ignorarli.

Metadata are currently saved in the project file. They can also be saved in a .qmd file alongside file based layers or in a local .sqlite database for remote layers (e.g. PostGIS).

14.1.16. Proprietà Dipendenze

dependencies La scheda Dipendenze permette di stabilire le dipendenze dei dati tra i layer. Una dipendenza dai dati si verifica quando una modifica dei dati in un layer, non tramite manipolazione diretta da parte dell’utente, può modificare i dati di altri layer. Questo è il caso per esempio quando la geometria di un layer è aggiornata da un trigger di database o da uno scripting PyQGIS personalizzato dopo la modifica della geometria di un altro layer.

Nella scheda Dipendenze, puoi selezionare tutti i layer che possono alterare esternamente i dati del layer corrente. Specificare correttamente i livelli dipendenti permette a QGIS di invalidare le cache per questo layer quando i layer dipendenti vengono alterati.

14.1.17. Proprietà Legenda

legend La scheda proprietà Legenda ti fornisce impostazioni avanzate per il Layers panel e/o la print layout legend. Queste opzioni includono:

  • checkboxTesto sui simboli: In alcuni casi può essere utile aggiungere informazioni aggiuntive ai simboli nella legenda. Con questa finestra, puoi applicare ai simboli utilizzati nella simbologia dei layer un testo che viene visualizzato sopra il simbolo, sia nel pannello Layer che nella legenda del layout di stampa. Questa mappatura viene eseguita digitando ogni testo accanto al simbolo nel widget della tabella o riempiendo la tabella usando il pulsante Imposta etichette da espressione. L’aspetto del testo viene gestito attraverso i widget di selezione dei caratteri e dei colori del pulsante Formato Testo.

../../../_images/text_legend_symbols.png

Fig. 14.62 Impostazione testo sui simboli (a sinistra) e sua visualizzazione nel pannello Layer (destra)

  • un elenco di widget che puoi incorporare all’interno dell’albero dei layer nel pannello dei layer. L’idea è quella di avere un modo per accedere rapidamente ad alcune azioni che sono spesso usate con il layer (configurazione trasparenza, filtraggio, selezione, stile o altre impostazioni….).

    Per impostazione predefinita, QGIS fornisce widget di trasparenza, ma questo può essere esteso da plugin che registrano i propri widget e assegnano azioni personalizzate ai layers che gestiscono.

14.1.18. Proprietà Server QGIS

metadata La scheda QGIS Server ha le sezioni: Descrizione, Attribuzione, URL Metadati e LegendUrl.

Puoi aggiungere o modificare un titolo e un abstract per il layer nella sezione Descrizione. Puoi qui definire anche una Lista delle parole chiave. Queste liste di parole chiave può essere utilizzata in un catalogo di metadati. Se vuoi utilizzare un titolo da un file di metadati XML, devi immettere un collegamento nel campo URL Dati.

Utilizza Attribuzione per ottenere i dati di attributo da un catalogo di metadati in formato XML.

In URL Metadati, puoi definire il percorso generale del catalogo metadati XML. Queste informazioni verranno salvate nel file di progetto QGIS per le sessioni successive e verranno utilizzate per il server QGIS.

Nella sezione LegendUrl puoi fornire l’URL di un’immagine per la legenda nel campo URL. È possibile utilizzare le opzioni del menu a discesa su Formato per applicare il formato appropriato dell’immagine. Attualmente sono supportati i formati di immagine png, jpg e jpeg.

../../../_images/vector_server_properties.png

Fig. 14.63 Scheda Server QGIS nella finestra di dialogo delle proprietà dei layer vettoriali

14.1.19. Proprietà Digitalizzazione

|digitizing|la scheda Digitalizzazione dà accesso a opzioni che aiutano a garantire la qualità delle geometrie digitalizzate.

../../../_images/vector_digitizing_properties.png

Fig. 14.64 Scheda Digitalizzazione QGIS nella finestra di dialogo delle proprietà dei layer vettoriali

14.1.19.1. Correzioni automatiche

Le opzioni nella sezione Correzioni Automatiche influenzano direttamente i vertici di qualsiasi geometria aggiunta o modificata. Se l’opzione checkbox Rimuovi nodi duplicati è selezionata, tutte le coppie di vertici successivi con le stesse coordinate saranno rimosse. Se è impostata l’opzione Precisione delle geometrie, tutti i vertici saranno arrotondati al multiplo più vicino alla precisione geometrica configurata. L’arrotondamento avverrà nel sistema di riferimento delle coordinate del layer. I valori Z e M non vengono arrotondati. Con molti strumenti, una griglia viene mostrata sulla mappa durante la digitalizzazione.

14.1.19.2. Controlli geometria

Nella sezione Controlli geometria possono essere attivate ulteriori convalide per geometria. Immediatamente dopo ogni modifica della geometria, gli errori di questi controlli sono segnalati all’utente nel pannello di convalida della geometria. Fino a che un controllo fallisce, non è possibile salvare il layer. La casella di controllo checkbox Is valid eseguirà controlli di validità di base come l’intersezione automatica delle geometrie.

14.1.19.3. Controlli topologici

Nella sezione Controlli topologici possono essere attivati ulteriori controlli di convalida della topologia. I controlli topologici saranno eseguiti quando l’utente salva il layer. Gli errori a seguito del controllo saranno riportati nel pannello di validazione della geometria. Finché gli errori di validazione sono presenti, il layer non può essere salvato. I controlli di topologia vengono eseguiti nell’area del rettangolo di delimitazione delle geometrie modificate. Poiché altre geometrie possono essere presenti nella stessa area, vengono riportati gli errori topologici relativi a queste geometrie e gli errori introdotti nella sessione di modifica corrente.

Opzione verifica topologica

Illustrazione

La verifica checkbox Gap controllerà la presenza di spazi vuoti tra i poligoni adiacenti.

../../../_images/gapcheck.png

checkbox Overlap controllerà le sovrapposizioni tra i poligoni vicini.

../../../_images/overlapcheck.png

checkboxMissing Vertex controlla i confini condivisi dei poligoni vicini quando un confine manca di un vertice presente sull’altro.

../../../_images/missingvertexcheck.png

14.1.19.3.1. Gap check exceptions

Sometimes it is desirable to keep gaps inside an area in a polygon layer that otherwise is fully covered by polygons. For example, a land use layer may have acceptable holes for lakes. It is possible to define areas that are ignored in the gap check. Since gaps inside these areas are allowed, we will refer to them as Allowed Gaps areas.

In the options for the gap checks under Allowed Gaps, an Allowed Gaps layer can be configured.

Whenever the gap check is executed, gaps which are covered by one or more polygons in the Allowed Gaps Layer are not reported as topology errors.

It is also possible to configure an additional Buffer. This buffer is applied to each polygon on the Allowed Gaps Layer. This makes it possible to make the tests less susceptible to small changes in the outlines at the borders of gaps.

When Allowed Gaps are enabled, an additional button (Add Allowed Gap) for detected gap errors is available in the geometry validation dock, where gaps are reported during digitizing. If the Add Allowed Gap button is pushed, a new polygon with the geometry of the detected gap is inserted into the Allowed Gaps Layer. This makes it possible to quickly flag gaps as allowed.