Q&A#3. Aggiornare automaticamente campi con coordinate, lunghezze, aree. L’aiuto di QGIS ai pigri 😬

Ciao a tutti. Quest’estate, mentre eravamo in ferie, ci hanno chiesto come fare ad aggiornare i campi della tabella degli attributi associata ad un file puntuale, contenenti valori quali coordinate, lunghezze, aree. Come dicevo eravamo in ferie e non eravamo neanche troppo concentrati per poter rispondere alla domanda che ci è stata fatta. Abbiamo quindi pensato, adesso, di fare un video per tutti quelli che hanno bisogno di un aiuto per sapere come fare ad aggiornare automaticamente i campi con coordinate, ma anche lunghezze, perimetri ed aree.

1.     Ma come, quando aggiungo un nuovo punto ad un layer vettoriale il campo contenente le aree non si aggiorna automaticamente?

Inquadriamo il problema per far capire a tutti di cosa stiamo parlando.

In un precedente video, vi abbiamo fatto vedere come fare a calcolare le caratteristiche geometriche di punti, linee e poligoni all’interno dei campi della tabella degli attributi (puoi vedere il video qui o il post qui).

In quell’esempio noi abbiamo calcolato questi valori per uno shapefile finito e completo.

Adesso, immaginiamo di avere, ad esempio, un layer di punti che ci segnala dove si trovano delle Chiese; noi ne abbiamo preventivamente inseriti due e abbiamo già calcolato le coordinate x ed y dei due punti nel Sistema di Riferimento 32633.

Il nostro esempio per piegare come aggiornare automaticamente un campo con caratteristiche geometriche.
Il nostro esempio per piegare come aggiornare automaticamente un campo con caratteristiche geometriche

Andiamo ad aggiungere un nuovo punto. Nella maschera degli attributi aggiungiamo solo l’ID e vedete? Nella tabella degli attributi, i campi contenenti le coordinate, non si riempiono automaticamente.

Il mancato aggiornamento automatico di un campo contenente caratteristiche geometriche
Il mancato aggiornamento automatico di un campo contenente caratteristiche geometriche

Vediamo come possiamo fare a risolvere questo problema.

2.     Aggiorna campo esistente

Il primo modo di risolvere il problema è estremamente semplice, ma magari chi è agli inizi non lo conosce.

Apriamo il calcolatore di campi e mettiamo la spunta su Aggiorna campo esistente (1). Selezioniamo il campo x (2) ed usiamo le formule che preferiamo: $x o anche la relativa formula parametrica x(), in base alle nostre preferenze (3).

L’opzione aggiorna campo esistente nel calcolatore di campi
L’opzione aggiorna campo esistente nel calcolatore di campi

Clicchiamo OK. La colonna risulta ora di nuovo tutta piena.

Dobbiamo rieseguire il calcolo tutte le volte che inseriamo un punto? Si, con questo metodo la risposta è sì. Certo, noi non procederemmo calcolando le coordinate ogni volta che inseriamo un punto, ma aspetteremmo di aver inserito quanti più elementi possibili prima di eseguire il calcolo, altrimenti diventa un procedimento lungo e noioso.

3.     Aggiornare automaticamente campi esistenti man mano che si inseriscono nuove feature.

Il secondo modo permette di aggiornare e quindi riempire il campo o i campi contenenti le caratteristiche geometriche in maniera automatica, man mano che nuove feature vengono aggiunte al layer vettoriale.

Per fare questo bisogna ricorrere al Modulo attributi. Se vi siete chiesti cos’è il modulo attributi, vi rispondiamo con un’altra domanda: vi siete mai accorti che è possibile visualizzare la tabella degli attributi con due grafiche? La prima in forma di tabella, visualizzando tutti i record, la seconda, cliccando su questo pulsante in basso, in modalità “scheda”, visualizzando record per record.

Visualizzazione della tabella attributi in modalità tabella o scheda
Visualizzazione della tabella attributi in modalità tabella o scheda

Il Modulo Attributi ci permette di lavorare in questa seconda modalità, o meglio, con il Modulo Attributi noi possiamo decidere che aspetto ha questa scheda e cosa può fare per noi. Ad esempio, possiamo proprio chiedergli di aggiornare il campo contenente una caratteristica geometrica, automaticamente, per noi, senza che noi dobbiamo fare nulla.

Chiaramente quello dei Moduli Attributi è un argomento piuttosto vasto, che va studiato ed approfondito. Noi vi lasciamo due link, uno relativo alla guida di QGIS su questo argomento, l’altro ad una playlist di Video di Massimiliano Moraca, che ha approfondito questo tema sul suo canale Youtube GIS Consultant.

Vediamo ora la procedura per aggiornare automaticamente, ad esempio, il campo contenente la coordinata x.

Apriamo la finestra delle Proprietà del layer Chiese e andiamo alla voce Modulo Attributi (1). Sul menu a tendina in alto selezioniamo Trascina e Rilascia Designer (2). In questo modo possiamo dire a QGIS quali sono i campi della tabella attributi che vogliamo vedere in modalità scheda. Di default sono aggiunti tutti (3). Noi potremmo decidere di eliminarne qualcuno selezionandolo e premendo sul pulsante Meno (4) salvo poi riaggiungerlo con il drag & drop, cioè trascinandolo.

Selezioniamo il campo che vogliamo far aggiornare automaticamente, nel nostro caso il campo X. Adesso andiamo alla voce Predefiniti (5). A fianco a Valore predefinito è possibile cliccare sul pulsante con la epsilon per inserire una espressione. Nel nostro caso, chiaramente, inseriremo la formula per il calcolo della coordinata x, quindi $x. Mettiamo infine la spunta su Applica valore predefinito all’aggiornamento. Clicchiamo su ok e vediamo se funziona.

Il modulo attributi e come aggiornare automaticamente il campo contenente la coordinata x
Il modulo attributi e come aggiornare automaticamente il campo contenente la coordinata x

I punti già inseriti in passato non verranno aggiornati con questo metodo, lì dovremo usare il calcolo manuale. Ma se proviamo ad inserire un nuovo punto e un altro ancora, vedremo che tutti i nuovi punti avranno il campo X compilato automaticamente e questo è visibile ovviamente sia nella modalità tabella che in quella schema.

La colonna X, aggiornata automaticamente, man mano che vengono inseriti nuovi punti
La colonna X, aggiornata automaticamente, man mano che vengono inseriti nuovi punti

TIPS & TRICKS

Noi abbiamo impostato l’aggiornamento automatico solo nel campo contenente la coordinata X.

La stessa operazione può essere fatta anche per:

  • la coordinata Y: usando la formula $y (o y() a seconda dei casi);
  • l’area: $area;
  • il perimetro: $perimeter;
  • la lunghezza di linee: $lenght.

Bene, questo post è finito. Se ti è piaciuto condividilo! Hai dubbi o suggerimenti? Lascia pure un commento.

Puoi vedere anche il nostro video su YouTube “Q&A#3. Aggiornare automaticamente campi con coordinate, lunghezze, aree. L’aiuto di QGIS ai pigri” e iscriverti al nostro canale.

Ciaooo

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *