Q&A#4 Calcolare i vertici di un poligono

Ciao a tutti, a seguito di una domanda fattaci da una di voi, oggi vi facciamo vedere due modi per calcolare i vertici di un poligono.

1. Calcolare i vertici di un poligono in un’unica cella

Con il primo metodo calcoleremo i vertici di un poligono all’interno di un’unica celle presente nel record relativo al poligono stesso.

Noi abbiamo già creato uno shapefile, contenente un poligono di dimensioni realistiche.

Per calcolarne i vertici apriamo il Calcolatore di campi. Dobbiamo aggiungere un campo di tipo testuale, che chiameremo vertici. Associamo a questo campo la lunghezza massima per uno shapefile e cioè 255 caratteri. Infatti, l’espressione che stiamo andando ad usare ci restituisce una stringa contenente tutte le coppie di coordinate dei vertici che appartengono al poligono.

Procediamo in questo modo:

  • Apriamo il calcolatore di campi.
  • Mettiamo la spunta su Crea un nuovo campo (1)ediamogli il nome vertici, associamo il tipo testo e la lunghezza uguale a 255 caratteri (2).
  • L’espressione da usare è “geom_to_wkt($geometry)” (3).
  • Clicchiamo su ok.
Calcolo dei vertici di un poligono in una sola cella
Calcolo dei vertici di un poligono in una sola cella

Possiamo vedere che nella tabella degli attributi è stato aggiunto un campo e al suo interno è presente una cella contenente una stringa con il calcolo di tutte le coppie di coordinate dei vertici del poligono.

Stringa contenente il calcolo dei vertici di un poligono in una sola cella
Stringa contenente il calcolo dei vertici di un poligono in una sola cella

Tuttavia, nel caso di un poligono con soli 4 vertici, lo shapefile, con il suo limite di 255 caratteri, riesce a contenere tutte le coppie di coordinate.

Se il poligono invece contenesse molti più vertici, come spesso nella realtà accade, avremmo che la stringa di testo eccederebbe i 255 caratteri e quindi verrebbe troncata.

Per questo motivo, per bypassare il problema, potete usare il formato GPKJ, che supera il limite dei 255 caratteri e ci dà la possibilità di conservare testi più lunghi.

2. Calcolare i vertici di un poligono su più record

Se invece il vostro obiettivo è quello di avere le coppie dei vertici del poligono tutte incolonnate, la procedura illustrata di seguito potrebbe essere una di quelle più semplici da seguire.

A questo scopo:

  • Apriamo il pannello degli strumenti di processing e cerchiamo la tool Estrai vertici (1).
  • I parametri da i nserire sono solo il Layer in ingresso (2), e cioè il nostro shape contenente il o i poligoni e il Layer di output, Vertici, che conterrà tutti i vertici del o dei poligoni che ci interessano (3).
  • Clicchiamo su Esegui.

Ed ecco il risultato: un layer di tipo punto, dove ogni punto rappresenta un vertice del nostro poligono.

Se guardiamo la tabella degli attributi, vediamo che, tra i vari campi c’è:

  1. l’id del poligono di appartenenza (4). Questo ci aiuta, nel caso di più poligoni, a risalire al poligono di appartenenza di ciascun vertice.
  2. Un campo contenente l’indice dei vertici (vertex-ind – 5). In questo modo si può risalire al loro ordine e al loro numero totale.
  3. Il campo distance (6) contiene la distanza tra i vertici. Tra questi c’è un record avente distanza 0. Indovini di quale punto si tratta? Si tratta dell’ultimo vertice, che coincide con il primo.
  4. Il campo angle (7) contiene la metà dell’angolo presente tra i lati del poligono in quello specifico vertice.
Estrazione vertici di un poligono e visualizzazione della sua tabella attributi
Estrazione vertici di un poligono e visualizzazione della sua tabella attributi

Mancano, quindi, proprio le coordinate dei punti.

Ma le calcoliamo facilmente, come già vi abbiamo fatto vedere in un video precedente, con le espressioni $x e $y.

Et voila, abbiamo calcolato le coordinate dei vertici di un poligono, questa volta su più record incolonnati.

Calcolo dei vertici di un poligono su più record

Tips & tricks

Invece di calcolare i vertici di un poligono vuoi calcolare il vertice di una linea? Il risultato non cambia con entrambi i metodi. Cambierà solo il dato di input.

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#4 Calcolare i vertici di un poligono” e iscriverti al nostro canale.

Ciaooo

Lascia un commento

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