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](https://www.gissiamo.it/wp/wp-content/uploads/2023/11/img1.-Calcolo-dei-vertici-di-un-poligono-in-una-sola-cella.png)
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](https://www.gissiamo.it/wp/wp-content/uploads/2023/11/img2.-Stringa-contenente-il-calcolo-dei-vertici-di-un-poligono-in-una-sola-cella-1024x515.png)
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’è:
- l’id del poligono di appartenenza (4). Questo ci aiuta, nel caso di più poligoni, a risalire al poligono di appartenenza di ciascun vertice.
- Un campo contenente l’indice dei vertici (vertex-ind – 5). In questo modo si può risalire al loro ordine e al loro numero totale.
- 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.
- 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](https://www.gissiamo.it/wp/wp-content/uploads/2023/11/img3.-Estrazione-vertici-di-un-poligono-1024x617.png)
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.
![](https://www.gissiamo.it/wp/wp-content/uploads/2023/11/img4.-Calcolo-dei-vertici-di-un-poligono-su-piu-record-1024x615.png)
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