Lunghezze dei lati di un poligono↵
Dato un layer poligonale, come ottenere una lista di valori delle lunghezze dei lati del poligono.
Creare un campo testuale (nello screenshot è test
) sufficientemente lungo e popolarlo con la seguente espressione:
Espressione:
array_to_string(
array_foreach(
array_foreach(
generate_series(1, num_geometries( segments_to_lines($geometry))),
geometry_n(segments_to_lines($geometry),@element)),
round(length(@element),2))
)
Nel linguaggio umano significa: crea, per ogni poligono, un array
e popolalo con la geometria dei singoli lati del poligono, infine calcola la loro lunghezza e mettili in una lista.
Osservazioni:
- l'espressione è generica, si puo' usare con qualsiasi poligono;
- per poligoni con molti lati, i calcoli richiesti sono lunghi.
Geometrie:
Generare, per ogni poligono, un array
con le geometrie dei lati del poligono:
array_foreach(
generate_series(1, num_geometries( segments_to_lines($geometry))),
geometry_n(segments_to_lines($geometry),@element)
)
questa espressione ci permette di fare una serie di interrogazioni come:
- qual è il lato più lungo e quanto vale la lunghezza;
- applicare tutte le funzioni geometriche relative alla geometria del lato, esempio:
- azimuth di un lato;
- centroide di un lato;
- coordinate di un vertice del lato n;
- ecc...
Il tema (la quotatura) è scaricabile da qui: https://plugins.qgis.org/styles/5/
Funzioni e variabili utilizzate: