17. Lavorare con i dati Mesh

17.1. Cos’è una mesh?

Una mesh è una griglia non strutturata di solito con componenti temporali e altre componenti. La componente spaziale contiene un insieme di vertici, bordi e/o facce, nello spazio 2D o 3D:

  • vertici - punti XY(Z) (nel sistema di riferimento delle coordinate del layer)

  • bordi - collegano coppie di vertici

  • Facce - una faccia è un insieme di bordi che formano una forma chiusa - tipicamente un triangolo o un poligono a quattro lati (quadrilatero), raramente poligoni con più vertici.

In base a quanto detto sopra, i layer mesh possono quindi avere diversi tipi di struttura:

  • Mesh 1D: sono costituite da vertici e bordi. Un bordo collega due vertici e può contenere dati assegnati (scalari o vettori). La rete mesh 1D può essere utilizzata, ad esempio, per la modellazione di un sistema di drenaggio urbano.

  • Mesh 2D: sono costituite da facce con triangoli, quadrilateri regolari o non strutturati.

  • Mesh 3D stratificate: consistono in più mesh 2D non strutturate impilate, ciascuna estrusa in direzione verticale (livelli) per mezzo di una coordinata verticale. I vertici e le facce hanno la stessa topologia in ogni livello verticale. La definizione della mesh (estrusione dei livelli verticali) può in generale cambiare nel tempo. I dati sono solitamente definiti in base ai centri di volume o a qualche funzione parametrica.

../../../_images/mesh_grid_types.png

Fig. 17.1 Differenti tipologie di dati mesh

Mesh contiene le informazioni sulla struttura spaziale. Inoltre, la mesh può avere set di dati (gruppi) che assegnano un valore ad ogni vertice. Ad esempio, avere una mesh triangolare con vertici numerati come mostrato nell’immagine seguente:

../../../_images/triangual_grid_with_numered_vertices.png

Fig. 17.2 Griglia triangolare con vertici numerati

Ogni vertice può memorizzare insiemi di dati diversi (tipicamente quantità multiple), e questi insiemi di dati possono anche avere una dimensione temporale. Pertanto un singolo file può contenere insiemi di dati multipli.

La tabella seguente dà un’idea delle informazioni che possono essere memorizzate nei set di dati delle mesh. Le colonne della tabella rappresentano gli indici dei vertici delle mesh, ogni riga rappresenta un set di dati. I set di dati possono avere diversi tipi di dati. In questo caso, memorizza la velocità del vento a 10m in momenti particolari (t1, t2, t3).

In modo simile, il set di dati della mesh può anche memorizzare valori vettoriali per ogni vertice. Ad esempio, il vettore della direzione del vento in corrispondenza degli orari indicati:

Velocità del vento a 10 metri

1

2

3

Velocità del vento a 10 metri al tempo=t1

17251

24918

32858

Velocità del vento a 10 metri al tempo=t2

19168

23001

36418

Velocità del vento a 10 metri al tempo=t3

21085

30668

17251

Direzione del vento a 10 metri al tempo=t1

[20,2]

[20,3]

[20,4.5]

Direzione del vento a 10 metri al tempo=t2

[21,3]

[21,4]

[21,5.5]

Direzione del vento a 10 metri al tempo=t3

[22,4]

[22,5]

[22,6.5]

Possiamo visualizzare i dati assegnando i colori ai valori (analogamente a come viene fatto con visualizzazione raster Singleband pseudocolor) e interpolando i dati tra i vertici secondo la topologia della mesh. Generalmente alcune grandezze sono vettori 2D piuttosto che semplici valori scalari (ad esempio direzione del vento). Per tali quantità è utile visualizzare le frecce che indicano le direzioni.

../../../_images/mesh_visualisation.png

Fig. 17.3 Possibile visualizzazione di dati mesh

17.2. Formati supportati

QGIS accede ai dati mesh utilizzando i driver MDAL e supporta nativamente una varietà di formati. La possibilità per QGIS di modificare un layer mesh dipende dal formato e dal tipo di struttura mesh.

Per caricare un set di dati mesh in QGIS, usa la scheda addMeshLayer Mesh nella finestra di dialogo Gestore della Sorgenti Dati. Leggi Caricare un layer mesh per maggiori dettagli.

17.3. Proprietà del Dataset Mesh

La finestra di dialogo Proprietà del layer per un layer mesh fornisce le impostazioni generali per gestire i gruppi di dati del layer e la loro visualizzazione (gruppi di dati attivi, simbologia, visualizzazione 2D e 3D). Fornisce inoltre informazioni sul layer.

Per accedere alla finestra di dialogo Proprietà del layer:

  • Nel pannello Layer, fai doppio clic sul layer o fai clic con il pulsante destro del mouse e seleziona Proprietà… dal menu a comparsa;

  • Vai al menu Layer ► Proprietà… quando il layer è selezionato.

La finestra di dialogo della mesh Proprietà Layer contiene le seguenti sezioni:

Metadati Information

Sorgente Source

Simbologia Symbology[1]

Vista 3d 3D View[1]

Temporale Temporal

Visualizzazione Rendering

editMetadata Metadata

[1] Disponibile anche nel Layer styling panel

Nota

La maggior parte delle proprietà di un layer mesh può essere salvata o caricata da un .qml usando il menu Stile in fondo alla finestra di dialogo. Maggiori dettagli in Gestione stili personalizzati.

17.3.1. Proprietà Informazioni

../../../_images/mesh_info_properties.png

Fig. 17.4 Proprietà Informazioni sul layer mesh

La scheda |metadati| Informazioni è di sola lettura e rappresenta un luogo interessante per ottenere rapidamente informazioni sintetiche e metadati sul layer corrente. Le informazioni fornite sono:

  • di tipo generale, come il nome nel progetto, il percorso del sorgente, l’elenco dei file ausiliari, l’ora e la dimensione dell’ultimo salvataggio, il provider utilizzato.

  • in base al fornitore del layer: estensione, vertice, faccia, bordi e/o conteggio dei gruppi di dati

  • il sistema di riferimento delle coordinate: nome, unità, metodo, precisione, riferimento (cioè se è statico o dinamico)

  • estratti da metadata: accesso, estensioni, link, contatti, storia…

17.3.2. Proprietà Sorgente

La scheda Sorgente Sorgente visualizza le informazioni di base sulla mesh selezionata, tra cui:

../../../_images/mesh_source.png

Fig. 17.5 Proprietà Sorgente del layer mesh

  • il nome del layer da visualizzare nel pannello Layer.

  • impostazione del sistema di riferimento delle coordinate: Visualizza il Assigned Coordinate Reference System (CRS) del layer. Puoi modificare il SR del layer selezionandone uno usato di recente nell’elenco a discesa o facendo clic sul pulsante Seleziona SR (vedi Scelta del sistema di riferimento delle coordinate). Utilizza questa procedura solo se il SR applicato al layer è sbagliato o se non ne è stato applicato nessuno.

  • Il riquadro Dataset disponibili elenca tutti i gruppi (e sottogruppi) di dataset nel layer mesh, con il loro tipo e la loro descrizione in una vista ad albero. Sono elencati sia i dataset regolari (cioè i cui dati sono memorizzati nel file) sia i dataset virtuali (che sono calculated on the fly).

    • Usa il pulsante add Assegna Extra Dataset a Mesh per aggiungere altri gruppi al layer della mesh corrente.

    • collapseTree Racchiudi Tutto” e |expandTree| :guilabel:`Espandi Tutto l’albero dei dataset, in caso di gruppi incorporati

    • Se sei interessato a pochi dataset, puoi deselezionare gli altri e renderli non disponibili nel progetto.

    • Facendo doppio clic su un nome puoi rinominare il dataset.

    • |Ripristina ai Valori Predefiniti: controlla tutti i gruppi e li rinomina con il loro nome originale del provider.

    • Facendo clic con il tasto destro del mouse su un gruppo di dataset virtuali, puoi:

      • Rimuovi gruppo di dati dal progetto

      • Salva il gruppo di dataset come… un file su disco, in qualsiasi formato supportato. Il nuovo file viene mantenuto assegnato al layer mesh corrente del progetto.

  • Selezionando il gruppo unchecked Tratta come un Dataset Statico puoi ignorare le proprietà di navigazione temporale della mappa durante la visualizzazione del layer mesh. Per ogni gruppo di dataset attivo (come selezionato nella scheda Simbologia Simbologia ► generale Dataset), puoi:

    • imposta su :guilabel: Nessuno: il gruppo di dati non viene visualizzato affatto.

    • Display dataset: ad esempio, per il dataset «bed elevation» che non è basato sul tempo

    • estrarre una data e un’ora particolari: il dataset corrispondente all’ora fornita viene reso e rimane fisso durante la navigazione della mappa.

17.3.3. Proprietà Simbologia

Fai clic sul pulsante Simbologia Simbologia per attivare la finestra di dialogo. Le proprietà della simbologia sono suddivise in diverse schede:

17.3.3.1. Dataset

La scheda generale Dataset è il luogo principale per controllare e impostare quali dataset saranno utilizzati per il layer. Presenta le seguenti sezioni:

  • Gruppi disponibili nel dataset della mesh, con l’indicazione se forniscono o meno:

    • meshcontoursoff dataset scalari

    • o meshvectorsoff dataset vettoriale: per impostazione predefinita, ogni dataset vettoriale ha un dataset scalare che rappresenta la sua ampiezza generata automaticamente.

    Fai clic sull’icona accanto al nome del dataset per selezionare il gruppo e il tipo di dati da rappresentare.

  • Metadati del(i) gruppo di dati selezionato, con dettagli su:

    • il tipo di mesh: bordi o facce

    • il tipo di dati: vertici, bordi, facce o volume

    • se è di tipo vettoriale o no

    • il nome originale nel layer mesh

    • l’unità, se applicabile

  • blending mode disponibile per i dataset selezionati.

../../../_images/mesh_symbology_datasets.png

Fig. 17.6 Dataset Layer Mesh

Puoi applicare la simbologia al gruppo vettoriale e/o scalare selezionato utilizzando le schede successive.

17.3.3.2. Simbologia delle curve di livello

Nota

La scheda meshcontours Contours può essere attivata solo se nella scheda generale Dataset è stato selezionato un set di dati scalari.

Nella scheda meshcontours Contours puoi vedere e modificare le opzioni di visualizzazione corrente delle curve di livello per il gruppo selezionato, come mostrato in Fig. 17.7 qui di seguito:

../../../_images/mesh_symbology_contours.png

Fig. 17.7 Stile dei contorni in un layer Mesh

  • Per le mesh 1D, imposta la Larghezza del tratto dei bordi. Questa può essere una dimensione fissa per l’intero set di dati o variare lungo la geometria (maggiori dettagli con il interpolated line renderer).

  • Usa il cursore o la casella di selezione per impostare la Opacità del gruppo corrente, se di tipo mesh 2D.

  • Inserisci l’intervallo di valori che vuoi rappresentare nel gruppo corrente: usa refresh Carica per recuperare i valori minimi e massimi del gruppo corrente o inserisci valori personalizzati se vuoi escluderne alcuni.

  • Per le mesh 2D/3D, seleziona Metodo di ricampionamento per interpolare i valori sui vertici circostanti alle facce (o dalle facce circostanti ai vertici) usando il metodo Vicino Medio. A seconda che il set di dati sia definito sui vertici (o sulle facce), QGIS imposta per default il metodo Nessuno (o Vicino Medio) per utilizzare i valori sui vertici e mantenere la visualizzazione uniforme predefinita.

  • Classifica il dataset utilizzando la classificazione color ramp shader.

17.3.3.3. Simbologia Vettori

Nota

La scheda meshvectors Vettori può essere attivata solo se nella scheda generale Dataset è stato selezionato un set di dati vettoriali.

Nella scheda meshvectors Vettori puoi vedere e modificare le opzioni di visualizzazione corrente dei vettori per il gruppo selezionato, come mostrato in Fig. 17.8:

../../../_images/mesh_symbology_vectors.png

Fig. 17.8 Stilizzare i vettori in un layer mesh con frecce

I dataset vettoriali mesh possono essere stilizzati usando vari tipi di Simbologia:

  • Frecce: i vettori vengono rappresentati con frecce nello stesso punto in cui sono definiti nel dataset grezzo (cioè sui nodi o al centro degli elementi) o su una griglia definita dall’utente (quindi, sono distribuiti uniformemente). La lunghezza della freccia è proporzionale alla grandezza della freccia come definita nei dati grezzi, ma può essere dimensionata con vari metodi.

  • Streamlines: i vettori sono rappresentati con linee di flusso che partono da punti iniziali. I punti di partenza possono partire dai vertici della mesh, da una griglia utente o in modo casuale.

  • Tracce: un’animazione più raffinata delle linee di flusso, il tipo di effetto che si ottiene quando si getta a caso della sabbia nell’acqua e si vede dove gli elementi di sabbia scorrono.

Le proprietà disponibili dipendono dalla simbologia selezionata, come mostrato nella tabella seguente.

Etichetta

Descrizione e Proprietà

Freccia

Streamlines

Tracce

Spessore Linea

Larghezza della rappresentazione vettoriale

checkbox

checkbox

checkbox

Metodo di Colorazione

  • un Colore Singolo assegnato a tutti i vettori

  • o un colore variabile basato sull’ampiezza dei vettori, usando una Color ramp shader.

checkbox

checkbox

checkbox

Filtra per magnitudine

Vengono visualizzati solo i vettori la cui lunghezza per il dataset selezionato è compresa tra un intervallo :guilabel:`Min” e :guilabel:`Max

checkbox

checkbox

Visualizza su Reticolo Utente

Posiziona il vettore su una griglia con Spaziatura X e Spaziatura Y personalizzati e ne interpola la lunghezza in base ai vicini.

checkbox

checkbox

Opzioni Intestazione

Lunghezza e Larghezza della punta della freccia, in percentuale rispetto alla lunghezza dell’asta.

checkbox

Lunghezza della Freccia

  • Definito da Minimo e Massimo: puoi specificare la lunghezza minima e massima per le frecce, QGIS interpolerà la loro dimensione in base alla grandezza del vettore corrispondente.

  • Scalato a Magnitudine: la lunghezza della freccia è proporzionale alla magnitudine del relativo vettore.

  • Fisso: tutti i vettori sono mostrati con la stessa lunghezza

checkbox

Metodo di Semina delle Streamlines

  • Su mesh/griglia: si appoggia alla griglia dell’utente per visualizzare i vettori

  • Casuale: il posizionamento dei vettori avviene in modo casuale rispetto a una determinata densità

checkbox

Conteggio Particelle

La quantità di «sabbia» che vuoi immettere nella visualizzazione

checkbox

Massima lunghezza coda

Il tempo per la scomparsa delle particelle

checkbox

17.3.3.4. Visualizzazione

Nella scheda meshframe Visualizzazione, QGIS offre la possibilità di visualizzare e personalizzare la struttura della mesha. Larghezza linea e Colore linea possono essere impostati per rappresentare:

  • i bordi per le mesh 1D

  • Per le mesh 2D:

    • Visualizzazione Mesh Nativa: mostra le facce e i bordi originali del layer.

    • Visualizzazione Mesh Triangolare: aggiunge più bordi e visualizza le facce come triangoli.

../../../_images/mesh_symbology_grid.png

Fig. 17.9 Visualizzazione Mesh 2D

17.3.3.5. Metodo della media delle mesh impilate

Le mesh 3D stratificate sono costituite da più mesh 2D non strutturate impilate, ciascuna estrusa in direzione verticale (livelli) per mezzo di una coordinata verticale. I vertici e le facce hanno la stessa topologia in ogni livello verticale. I valori sono solitamente memorizzati sui volumi che sono regolarmente impilati sulla mesh 2d di base. Per poterli visualizzare su una superficie 2D, è necessario convertire i valori dei volumi (3d) in valori delle facce (2d) che possono essere visualizzati nel layer mesh. Il meshaveraging Metodo della media delle mesh impilate fornisce diversi metodi di mediazione/interpolazione per gestire questo aspetto.

Puoi selezionare il metodo per ricavare il dataset 2D e i parametri corrispondenti (indice livello, valori di profondità o di altezza). Per ogni metodo, nella finestra di dialogo viene mostrato un esempio di applicazione, ma puoi leggere ulteriori informazioni sui metodi sul sito https://fvwiki.tuflow.com/index.php?title=Depth_Averaging_Results.

17.3.4. Proprietà Visualizzazione 3D

I layer mesh possono essere utilizzati come terrain in a 3D map view in base ai valori Z dei loro vertici. Dalla scheda delle proprietà Vista 3d Vista 3D, è anche possibile rappresentare il set di dati del layer mesh nella stessa vista 3D. Pertanto, la componente verticale dei vertici può essere impostata uguale ai valori del set di dati (ad esempio, il livello della superficie dell’acqua) e la trama della maglia può essere impostata per rendere altri valori del set di dati con un’ombreggiatura a colori (ad esempio, la velocità).

../../../_images/mesh_3d.png

Fig. 17.10 Proprietà dataset Mesh 3D

Seleziona checkbox Abilita Visualizzatore 3D e puoi modificare le seguenti proprietà:

  • In Impostazioni Triangoli

    • Levigatura triangoli: Gli angoli tra triangoli consecutivi sono smussati per una migliore rappresentazione 3D.

    • Mostra wireframe di cui è possibile impostare Spessore linea e Colore.

    • Livello di dettaglio: Controlla quanto simplified deve essere il layer mesh da rappresentare. All’estrema destra, è la mesh di base e più si va a sinistra, più il livello è semplificato e viene rappresentato con meno dettagli. Questa opzione è disponibile solo se è attivata l’opzione Semplifica Mesh nella scheda Visualizzazione.

  • Impostazioni Verticali per controllare il comportamento della componente verticale.

    dei vertici dei triangoli rappresentati

    • Gruppo dataset per valore verticale: il gruppo di dataset che verrà utilizzato per la componente verticale della mesh.

    • ||unchecked|:guilabel:Valore dataset relativo al valore Z dei vertici: se considerare i valori del dataset come coordinate Z assolute o relative al valore Z nativo dei vertici.

    • Scala verticale: il fattore di scala da applicare ai valori Z del dataset.

  • Impostazione di Visualizzazione Colore con un Stile di visualizzazione che può essere basato sulla ombreggiatura a rampa di colore impostato in Simbologia delle curve di livello (Colore 2D ombreggiatura rampa colore) o come Colore singolo con un Colore della mesh collegato.

  • Mostra frecce: visualizza le frecce sull’entità 3D del dataset del layer mesh, basandosi sullo stesso gruppo di dataset vettoriali usato nel vector 2D rendering. Vengono visualizzate utilizzando l’impostazione del colore 2D. È anche possibile definire la Spaziatura freccia e, se è di Dimensione fissa o scalata sulla grandezza. Questa impostazione definisce anche la dimensione massima delle frecce, perché le frecce non possono sovrapporsi.

17.3.5. Proprietà Visualizzazione

Poiché i layer mesh possono avere milioni di facce, a volte la loro restituzione può essere molto lenta, soprattutto quando tutte le facce vengono visualizzate nella vista mentre sono troppo piccole per essere visualizzate. Per accelerare il processo di restituzione, puoi semplificare il layer mesh, ottenendo una o più mesh che rappresentano diversi levels of detail e selezionare a quale livello di dettaglio desideri che QGIS esegua il processo di restituzione del layer mesh. Nota che la mesh semplificata contiene solo facce triangolari.

Dalla scheda Visualizzazione Visualizzazione, seleziona checkbox Semplifica Mesh e imposta:

  • un Fattore di riduzione: Controlla la generazione di livelli successivi di mesh semplificate. Ad esempio, se la mesh di base ha 5M facce e il fattore di riduzione è 10, la prima mesh semplificata avrà circa 500 000 facce, la seconda 50 000 facce, la terza 5000,… Se un fattore di riduzione più alto porta rapidamente a maglie più semplici (cioè con triangoli di dimensioni maggiori), produce anche meno livelli di dettaglio.

  • Dimensione minima triangolo: la dimensione media (in pixel) dei triangoli che è consentito visualizzare. Se la dimensione media della mesh è inferiore a questo valore, viene attivata la visualizzazione di una mesh con un livello di dettaglio inferiore.

17.3.6. Proprietà Temporali

La scheda Temporale Temporale fornisce opzioni per controllare la visualizzazione del layer nel tempo. Permette di visualizzare dinamicamente i valori temporali dei gruppi di dati abilitati. Tale visualizzazione dinamica richiede che la temporal navigation sia abilitata sulla mappa.

../../../_images/mesh_temporal.png

Fig. 17.11 Proprietà Temporali Mesh

Impostazioni Layer Temporale

  • Ora di riferimento del gruppo di dati, come data assoluta. Per impostazione predefinita, QGIS analizza il layer di origine e restituisce la prima ora di riferimento valida nel gruppo di dati del layer. Se non è disponibile, il valore sarà impostato dall’intervallo di tempo del progetto o verrà riportato alla data corrente. I valori Ora di inizio e Ora finale da considerare sono quindi calcolati in base al timestamp interno del dataset.

    È possibile impostare una Ora di riferimento personalizzata (e poi l’intervallo di tempo) e ripristinare le modifiche usando il pulsante refresh Ricarica dal sorgente.

  • Metodo di corrispondenza del dataset: determina il dataset da visualizzare all’ora indicata. Le opzioni sono Trova il dataset più vicino prima dell’orario richiesto o Trova il dataset più vicino dall’ora richiesta (dopo o prima).

Impostazioni Tempo Sorgente

  • Unità di tempo estratta dai dati originali o definita dall’utente. Può essere usata per unformare la velocità del layer mesh con gli altri layer del progetto durante la navigazione temporale della mappa. Le unità supportate sono Secondi, Minuti, Ore e Giorni.

17.3.7. Proprietà Metadati

La scheda editMetadata Metadati fornisce le opzioni per creare e modificare un rapporto sui metadati del layer. Per ulteriori informazioni, vedi Metadati.

17.4. Modificare un layer mesh

QGIS consente di create a mesh layer da zero o sulla base di una esistente. Puoi creare/modificare le geometrie del nuovo layer a cui è possibile assegnare i set di dati in seguito. È anche possibile modificare un layer mesh esistente. Poiché l’operazione di modifica richiede un layer di soli telai, verrà chiesto di rimuovere prima tutti i dataset associati (assicurarsi di averli a disposizione se sono ancora necessari) o di creare una copia (solo geometrie) del layer.

Nota

QGIS non consente di digitalizzare i bordi sui layer mesh. Solo i vertici e le facce sono elementi della mesh che possono essere creati. Inoltre, non tutti i formati di mesh supportati possono essere modificati in QGIS (vedere permissions).

17.4.1. Panoramica sugli strumenti di digitalizzazione dei layer Mesh

Per interagire o modificare un elemento di base del layer mesh, sono disponibili i seguenti strumenti.

Tabella 17.1 Strumenti per la digitalizzazione della mesh

Etichetta

Scopo

Posizione

allEdits Modifiche correnti

Accesso al salvataggio, al rollback o all’annullamento delle modifiche in tutti i layer o in quelli selezionati simultaneamente

Barra degli strumenti Digitalizzazione

toggleEditing Attiva/disattiva modifica

Attivare/disattivare il layer in modo modifica

Barra degli strumenti Digitalizzazione

saveEdits Salva Modifiche

Salva le modifiche apportate al layer

Barra degli strumenti Digitalizzazione

undo Annulla

Annullare l’ultima(e) modifica - Ctrl+Z

Barra degli strumenti Digitalizzazione

redo Ripristina

Ripristinare l’ultima(e) azione annullata - Ctrl+Shift+Z

Barra degli strumenti Digitalizzazione

cad Abilita gli strumenti di digitalizzazione avanzata

Attiva/disattiva :ref:”Advanced Digitizing Panel <advanced_digitizing_panel>”

Barra degli strumenti Digitalizzazione avanzata

meshReindex Reindirizzare Facce e Vertici

Ricreare l’indice e rinumerare gli elementi della mesh per l’ottimizzazione

menu Mesh

meshDigitizing Digitalizzare Elementi della Mesh

Seleziona/Crea vertici e facce

Barra degli strumenti Digitalizzazione della Mesh

meshSelectPolygon Seleziona elementi della mesh tramite Poligono

Selezionare i vertici e le facce sovrapposte da un poligono disegnato

Barra degli strumenti Digitalizzazione della Mesh

meshSelectExpression :sup: Selezionare gli elementi della mesh tramite un’espressione.

Selezionare vertici e facce utilizzando un’espressione

Barra degli strumenti Digitalizzazione della Mesh

meshTransformByExpression Trasformare le Coordinate dei Vertici

Modificare le coordinate di una selezione di vertici

Barra degli strumenti Digitalizzazione della Mesh

meshEditForceByVectorLines Forza in base alle geometrie selezionate

Dividere le facce e vincolare il valore Z utilizzando una geometria lineare

Barra degli strumenti Digitalizzazione della Mesh

17.4.2. Esplorazione della logica di assegnazione del valore Z

Quando un layer mesh viene portato in modalità di modifica, si apre un widget :guilabel: Valore Z del vertice in alto a destra dell’area di disegno della mappa. Per impostazione predefinita, il suo valore corrisponde al Valore Z predefinito impostato nella scheda Impostazioni ► Opzioni ► Digitalizzazione. Quando ci sono vertici selezionati, il widget visualizza il valore Z medio dei vertici selezionati.

Durante la modifica, il Valore Z del vertice viene assegnato ai nuovi vertici. È anche possibile impostare un valore personalizzato: modificando il widget, premendo Enter si sovrascrive il valore predefinito e si utilizza questo nuovo valore nel processo di digitalizzazione. Fare clic sull’icona clearText del widget per ripristinare il valore predefinito delle opzioni.

17.4.2.1. Regole di assegnazione

Quando si crea un nuovo vertice, la definizione del suo valore Z può variare a seconda della selezione attiva nel layer mesh e della sua posizione. La tabella seguente mostra le varie combinazioni.

Tabella 17.2 Matrice di assegnazione del valore Z al nuovo vertice

Creazione vertice

Ci sono vertici selezionati nel layer mesh?

Sorgente di valore assegnato

Valore Z assegnato

vertice «libero» , non connesso ad altro

faccia o bordo di una faccia

No

Valore Z del vertice

Predefinito o definito dall’utente

Pannello di digitalizzazione avanzato (se il widget z è nello stato bloccato Bloccato)

widget z se in stato bloccato Bloccato

Si

Valore Z del vertice

Media dei vertici selezionati

Vertice su un bordo

Layer Mesh

Interpolato dai vertici del bordo

Vertice su una faccia

Layer Mesh

Interpolato dai vertici della faccia

Vertice agganciato a una feature vettoriale 2D

Valore Z del vertice

Predefinito o definito dall’utente

Vertice agganciato a una feature vettoriale 3D

Layer vettoriale

Vertice

Vertice agganciato a un segmento vettoriale 3D

Layer vettoriale

Interpolato lungo il segmento vettoriale

Nota

Il widget :guilabel: Valore Z del vertice” è disattivato se il :ref:`Pannello di digitalizzazione avanzata <advanced_digitizing_panel>” è abilitato e non è selezionato alcun elemento della mesh. Il widget :guilabel:`z di quest’ultimo regola quindi l’assegnazione del valore Z.

17.4.2.2. Modificare il valore Z di vertici esistenti

Per modificare il valore Z dei vertici, il metodo più semplice è:

  1. Seleziona uno o più vertici. Il widget :guilabel: Valore Z del vertice visualizzerà l’altezza media della selezione.

  2. Modificare il valore nel widget.

  3. Premere Enter. Il valore inserito viene assegnato ai vertici e diventa il valore predefinito dei vertici successivi.

Un altro modo per modificare il valore Z di un vertice è quello di spostarlo e fissarlo su un elemento del layer vettoriale con la possibilità di modificare il valore Z. Se sono selezionati più vertici, il valore Z non può essere modificato in questo modo.

La finestra di dialogo Transform mesh vertices fornisce anche i mezzi per modificare il valore Z di una selezione di vertici (insieme alle loro coordinate X o Y).

17.4.3. Selezionare elementi della mesh

17.4.3.1. Utilizzare Digitalizzazione elementi della mesh

Attivare lo strumento meshDigitizing :sup: Digitalizzazione elementi della mesh. Passando il mouse su un elemento, questo viene evidenziato e può essere selezionato.

  • Facendo clic su un vertice, questo viene selezionato.

  • Facendo clic sul quadratino al centro di una faccia o di un bordo, questo viene selezionato. Vengono selezionati anche i vertici collegati. Viceversa, selezionando tutti i vertici di un bordo o di una faccia, si seleziona anche l’elemento in questione.

  • Trascinare un rettangolo per selezionare elementi sovrapposti (una faccia selezionata viene fornita con tutti i suoi vertici). Premere il tasto Alt se si desidera selezionare solo gli elementi completamente contenuti.

  • Per aggiungere elementi a una selezione, premere Shift mentre li si seleziona.

  • Per rimuovere un elemento dalla selezione, premere Ctrl e riselezionarlo. Una faccia deselezionata deselezionerà anche tutti i suoi vertici.

17.4.3.2. Utilizzare Selezione elementi della mesh in tramite Poligono

Attivare lo strumento meshSelectPolygon :sup: Selezione elementi della mesh tramite Poligono e:

  • Disegna un poligono (fai clic con il tasto sinistro del mouse per aggiungere un vertice, Backspace per annullare l’ultimo vertice, Esc per annullare il poligono e fai clic con il tasto destro per convalidarlo) sulle geometrie della mesh. Verranno selezionati tutti i vertici e le facce parzialmente sovrapposti. Premi il tasto Alt durante il disegno se vuoi selezionare solo gli elementi completamente contenuti.

  • Fai clic con il pulsante destro del mouse sulla geometria di un elemento di un layer vettoriale, selezionalo nell’elenco che appare e tutti i vertici e le facce del layer mesh parzialmente sovrapposti verranno selezionati. Usa Alt durante il disegno per selezionare solo gli elementi completamente contenuti.

  • Per aggiungere elementi a una selezione, premere Shift mentre li si seleziona.

  • Per rimuovere un elemento dalla selezione, premi Ctrl durante il passaggio sul poligono di selezione.

17.4.3.3. Utilizzo di Selezione elementi della mesh tramite espressione

Un altro strumento per la selezione degli elementi della mesh è meshSelectExpression :sup: Selezione elementi della mesh tramite espressione. Quando viene premuto, lo strumento apre la finestra di dialogo expression selector dialog della mesh, dalla quale è possibile:

  1. Selezionare il metodo di selezione:

    • Select by vertices: applies the entered expression to vertices, and returns matching ones and their eventually associated edges/faces

    • Seleziona in base alle facce: applica l’espressione inserita alle facce e restituisce quelle corrispondenti e i loro bordi/vertici associati.

  2. Scrivere l’espressione di selezione. A seconda del metodo selezionato, le funzioni disponibili nel gruppo Meshes group saranno filtrate di conseguenza.

  3. Eseguire la query impostando il comportamento della selezione e premendo:

17.4.4. Modificare elementi della mesh

17.4.4.1. Aggiungere vertici

Per aggiungere vertici a un layer mesh:

  1. Premere il pulsante meshDigitizing :sup: Digitalizzazione di elementi della mesh.

  2. Un widget :guilabel: `Valore Z del vertice” appare nell’angolo in alto a destra dell’area di disegno della mappa. Imposta questo valore sulla coordinata Z che vuoi assegnare ai vertici successivi.

  3. Quindi fare doppio clic:

    • fuori da una faccia: aggiunge un «vertice libero», cioè un vertice non collegato ad alcuna faccia. Questo vertice è rappresentato da un punto rosso quando il layer è in modalità di modifica.

    • sul bordo di faccia(e) esistente: aggiunge un vertice sul bordo, divide la faccia in triangoli collegati al nuovo vertice

    • all’interno di una faccia: divide la faccia in triangoli i cui bordi collegano i vertici circostanti al nuovo vertice.

17.4.4.2. Aggiungere facce

Per aggiungere facce a un layer mesh:

  1. Premere il pulsante meshDigitizing :sup: Digitalizzazione di elementi della mesh.

  2. Un widget :guilabel: Valore Z del vertice appare nell’angolo in alto a destra dell’area di disegno della mappa. Impostare questo valore sulla coordinata Z che si desidera assegnare ai vertici successivi.

  3. Fai doppio clic per aggiungere un primo vertice o spostare il cursore accanto a un vertice.

  4. Fai clic sul piccolo triangolo che appare accanto al vertice e sposta il cursore sulla posizione del vertice successivo; puoi fare clic sul vertice esistente o fare doppio clic per aggiungerne uno nuovo.

  5. Procedi come sopra per aggiungere tutti i vertici desiderati per la faccia. Premi il pulsante Backspace per annullare l’ultimo vertice.

  6. Muovendo il mouse, viene visualizzato un elastico che mostra la forma della faccia. Se è visualizzata in verde, la faccia prevista è valida e puoi fare clic con il pulsante destro del mouse per aggiungerla alla mesh. Se è rossa, la faccia non è valida (ad esempio perché si autointerseca, si sovrappone a una faccia o a un vertice esistente, …) e non può essere aggiunta. Devi correggere la geometria.

  7. Premi Esc per interrompere la digitalizzazione della faccia.

  8. Fai clic con il pulsante destro del mouse per convalidare la faccia.

17.4.4.3. Rimozione di elementi della mesh

  1. Select the target elements

  2. Abilita lo strumento meshDigitizing Digitalizzazione elementi di mesh.

  3. Fai clic con il tasto destro del mouse e seleziona:

    • Rimuovi i vertici selezionati e riempi il buco(chi) o premi Ctrl+Canc: rimuove i vertici e le facce collegate e riempie il buco (chi) triangolando dai vertici vicini.

    • Rimuovi vertici selezionati senza riempire il(i) buco o premi Ctrl+Maiusc+Canc: rimuove vertici e facce collegate e non riempie il(i) buco.

    • Rimuovi la(e) faccia selezionata o premi Maiusc+Canc: rimuove le facce ma mantiene i vertici.

Queste opzioni sono accessibili anche dal menu contestuale quando si passa il mouse su un singolo elemento senza selezionarlo.

17.4.4.4. Spostare elementi della mesh

Per spostare vertici e facce di un layer mesh:

  1. Select the target elements

  2. Abilita lo strumento meshDigitizing Digitalizzazione elementi di mesh.

  3. Per iniziare a spostare l’elemento, fai clic su un vertice o sul centroide di una faccia/spigolo.

  4. Spostare il cursore nella posizione di destinazione (è supportato l’aggancio alle feature vettoriali).

  5. Se la nuova posizione non genera una mesh non valida, gli elementi spostati appaiono in verde. Fai nuovamente clic per rilasciarli in questa posizione. Le facce i cui vertici sono tutti selezionati vengono traslate e i loro vicini vengono rimodellati di conseguenza.

17.4.4.5. Trasformazione dei vertici della mesh

Lo strumento meshTransformByExpression :sup: Trasformare le coordinate dei vertici offre un modo più avanzato di spostare i vertici, modificando le loro coordinate X, Y e/o Z grazie alle espressioni.

  1. Seleziona i vertici di cui vuoi modificare le coordinate

  2. Premere meshTransformByExpression :sup: Trasformare le coordinate dei vertici. Si apre una finestra di dialogo con l’indicazione del numero di vertici selezionati. Puoi ancora aggiungere o rimuovere vertici dalla selezione.

  3. A seconda delle proprietà che vuoi modificare, devi selezionare coordinata X, coordinata Y e/o valore Z.

  4. Inserisci quindi la posizione di destinazione nella casella, come valore numerico o come espressione (usando la finestra di dialogo espressione Espressione)

  5. Premendo il pulsante vertexCoordinates :sup: Importa le coordinate del vertice selezionato, le caselle X, Y e Z vengono automaticamente riempite con le sue coordinate ogni volta che si seleziona un singolo vertice. Un modo comodo e veloce per modificare i vertici individualmente.

  6. Premi Anteprima trasformazione per simulare la nuova posizione dei vertici e visualizzare l’anteprima della mesh con la trasformazione.

    • Se l’anteprima è verde, la mesh trasformata è valida e puoi applicare la trasformazione.

    • Se l’anteprima è rossa, la mesh trasformata non è valida e non è possibile applicare la trasformazione finché non viene corretta.

  7. Premi Applica trasformazione per modificare le coordinate selezionate per l’insieme di vertici.

17.4.4.6. Rimodellare la geometria della mesh

Il menu contestuale
  1. Abilitare meshDigitizing :sup: Digitalizza elementi della mesh.

  2. Selezionare o meno l’elemento(i) mesh

  3. Passando il mouse su un elemento della mesh, questo viene evidenziato.

  4. Facendo clic con il tasto destro del mouse puoi:

    • remove the item(s)

    • Dividere Faccia(e) selezionata (Dividere Faccia Corrente): divide in due triangoli la faccia su cui si sta passando il mouse o ogni faccia della mesh a quadrilatero selezionata.

    • Triangolazione di Delaunay con vertici selezionati: costruisce facce triangolari utilizzando vertici liberi selezionati.

    • Refine Selected Face(s) (Ridefinire Faccia corrente): divide la faccia in quattro facce, in base ai vertici aggiunti al centro di ogni bordo (un triangolo risulta in triangoli, un quadrilatero in quadrilateri). Triangola anche le facce adiacenti collegate ai nuovi vertici.

I marcatori dei bordi

Quando l’opzione meshDigitizing Digitalizzazione elementi mesh è attiva e si passa il mouse su un bordo, questo viene evidenziato ed è possibile interagire con esso. A seconda del contesto, possono essere disponibili i seguenti simboli:

  • un quadrato, al centro del bordo: fai clic su di esso per selezionare i vertici delle estremità.

  • una croce se le due facce su entrambi i lati possono essere unite: fai clic su di essa per eliminare il bordo e unire le facce.

  • un cerchio se il bordo è compreso tra due triangoli: Fai clic su di esso per capovolgere il bordo, cioè per collegarlo agli altri due vertici «liberi» delle facce.

Lo strumento Forza in base alle geometrie selezionate

Lo strumento meshEditForceByVectorLines Forza in base alle geometrie selezionate fornisce modi avanzati per applicare linee di discontinuità usando la geometria delle linee. Una linea di discontinuità costringerà la mesh ad avere bordi lungo la linea. Si noti che la linea di discontinuità non sarà considerata persistente una volta terminata l’operazione; i bordi risultanti non agiranno più come vincoli e potranno essere modificati come qualsiasi altro bordo. Questo può essere usato, ad esempio, per modificare localmente un layer di mesh con linee precise, come gli argini dei fiumi o i bordi delle scarpate stradali.

  1. Abilitare lo strumento meshEditForceByVectorLines Forzatura tramite geometrie selezionate.

  2. Specificare la geometria da utilizzare come «linea di forzatura»; può essere:

    • prelevato da una linea o da un poligono dell’area di disegno della mappa: fai clic con il pulsante destro del mouse sull’elemento vettoriale e selezionalo dall’elenco nel menu contestuale.

    • una linea virtuale tracciata sulla cornice della mesh: fai clic con il tasto sinistro per aggiungere vertici, con il tasto destro per convalidare. Il valore Z dei vertici viene impostato tramite il widget :guilabel: Valore Z del vertice o il widget :guilabel: z se il :guilabel: Pannello di digitalizzazione avanzata è attivo. Se la linea viene agganciata a un vertice della mesh o a un vertice o segmento di un elemento vettoriale 3D, il nuovo vertice assume il valore Z dell’elemento agganciato.

Le facce della mesh che si sovrappongono alla geometria della linea o al confine del poligono saranno influenzate in un modo che dipende dalle opzioni che si possono impostare dal menu a discesa dello strumento meshEditForceByVectorLines :sup: «Forzare in base alle geometrie selezionate»:

  • |Aggiungi un nuovo vertice sui bordi intersecanti: con questa opzione, viene aggiunto un nuovo vertice ogni volta che la linea di forzatura interseca un bordo. Questa opzione porta a dividere lungo la linea ogni faccia incontrata.

    Senza questa opzione, le facce incontrate vengono rimosse e sostituite da facce provenienti da una triangolazione con i soli vertici esistenti più i vertici delle linee di forzatura (vengono aggiunti nuovi vertici anche sul bordo di confine che interseca le linee di forzatura).

    ../../../_images/force_mesh_geometry.png

    Fig. 17.12 Forzare la mesh utilizzando una geometria a linee - Risultati senza (al centro) e con (a destra) l’intersezione di nuovi vertici sui bordi

  • Interpola il valore Z da: imposta come viene calcolato il valore Z dei nuovi vertici. Può essere da:

    • la Mesh stessa: il valore Z dei nuovi vertici viene interpolato dai vertici della faccia in cui si trovano.

    • o la Forzatura linea: se la linea è definita da un elemento vettoriale 3D o da una linea disegnata, il valore Z dei nuovi vertici è derivato dalla sua geometria. Nel caso di una linea 2D, il valore Z dei nuovi vertici è il :guilabel: Valore Z del vertice.

  • Tolerance: when an existing mesh vertex is closer to the line than the tolerance value, do not create new vertex on the line but use the existing vertex instead. The value can be set in Meters at Scale or in Map Units (more details at Selezione unità).

17.4.5. Reindicizzazione delle mesh

Durante la modifica, e per consentire rapide operazioni di annullamento/ripristino, QGIS mantiene dei posti vuoti per gli elementi cancellati, il che può portare a un aumento dell’uso della memoria e a una strutturazione inefficiente della mesh. Lo strumento Mesh ► meshReindex Reindicizza Facce e Vertici è stato progettato per rimuovere questi buchi e rinumerare gli indici delle facce e dei vertici in modo che siano continui e ragionevolmente ordinati. Questo ottimizza la relazione tra facce e vertici e aumenta l’efficienza del calcolo.

Nota

Lo strumento meshReindex Reindicizzazione Faccie e Vertici salva il layer e cancella le cataste di annullamenti/ripristini, disabilitando qualsiasi operazione di ripristino.

17.5. Calcolatore Mesh

Lo strumento Calcolatore Mesh del menu superiore Mesh consente di eseguire calcoli aritmetici e logici su gruppi di dati esistenti per generare un nuovo gruppo di dati (vedi Fig. 17.13).

../../../_images/mesh_calculator.png

Fig. 17.13 Calcolatore Mesh

L’elenco Dataset contiene tutti i gruppi di dataset nel layer mesh attivo. Per utilizzare un gruppo di set di dati in un’espressione, fai doppio clic sul suo nome nell’elenco e verrà aggiunto al campo Espressione del Calcolatore Mesh. Puoi quindi utilizzare gli operatori per costruire espressioni di calcolo, oppure digitarli semplicemente nella casella.

La sezione Layer del Risultato ti aiuta a configurare le proprietà del layer in uscita:

  • checkbox Crea un groppo dataset al volo invece che scrivere il layer su disco:

    • Se non è selezionata, l’output viene memorizzato sul disco come un nuovo file semplice. Sono richiesti un percorso File in uscita e un Formato in uscita.

    • Se questa opzione è selezionata, un nuovo gruppo di dataset verrà aggiunto al layer mesh. I valori del gruppo di dataset non vengono memorizzati, ma ogni dataset viene calcolato quando necessario con la formula inserita nel calcolatore mesh. Il gruppo di dataset virtuale viene salvato con il progetto e, se necessario, può essere rimosso o reso persistente nel file dalla scheda delle proprietà del layer :guilabel: Sorgente.

    In entrambi i casi, devi fornire una Nome gruppo per il gruppo di dati in uscita.

  • La Estensione Spaziale da considerare per il calcolo può essere:

    • una Estensione personalizzata, compilata manualmente con le coordinate X min, X max, Y min e Y max, oppure estratta da un gruppo di dataset esistente (selezionarlo nell’elenco e premere Usa Estensione del Layer Selezionato per compilare i campi delle coordinate sopra citate)

    • definito da un layer poligonale (Layer Maschera) del progetto: la geometria degli elementi poligonali viene utilizzata per ritagliare i dataset del layer mesh

  • La Estensione Temporale da prendere in considerazione per le serie di dati può essere impostata con le opzioni Ora di inizio e Ora finale, selezionate dai tempi dei gruppi di dati esistenti. Possono anche essere valorizzati utilizzando il pulsante Usa Orari di Tutti i Dataset Seezionati per prendere l’intero intervallo.

La sezione Operatori contiene tutti gli operatori disponibili. Per aggiungere un operatore alla casella di espressione del calcolatore mesh, fai clic sul pulsante appropriato. Sono disponibili calcoli matematici (+, -, *, … ) e funzioni statistiche (min, max, somma (aggr), media (aggr), …). ) sono disponibili. Le espressioni condizionali (=, !=, <, >=, IF, AND, NOT, … ) restituiscono 0 per il falso e 1 per il vero e possono quindi essere utilizzate con altri operatori e funzioni. Anche il valore NODATA può essere utilizzato nelle espressioni.

Il widget Espressione del Calcolatore Mesh ti mostra e ti consente di modificare l’espressione da eseguire.