Numerazione dei poligoni in base alla relazione spaziale↵
Etichettare le regioni italiane ISTAT in funzione della superficie, per esempio: la regione più estesa deve avere come etichetta 1 e poi via via aumentare al decrescere dell' area.
espressione da usare:
L'espressione significa:
Crea un array (un vettore) e mettici dentro tutti i valori delle aree delle regioni, ordinali in senso crescente (dal più piccolo al più grande) e poi fai l'inverso, cioè, ordinali dal più grande al più piccolo; infine assegna l'indice della posizione del valore dell'area.
PS: +1 serve solo a far iniziare il conteggio da 1 in quanto gli array iniziano da zero.
Altro esempio:
Etichettare in funzione della longitudine, cioè mettere la label 1 nella regione più a Ovest e cosi via per le altre:
espressione da usare:
Altro esempio:
Etichettare, per ogni regione, le province in ordine alfabetico:
espressione da usare:
"sigla" || '-' ||
(array_find(
array_sort(
array_agg(expression:="sigla" , group_by:="cod_reg" )), "sigla" )+1)
Altro esempio:
Creata una griglia regolare formata da circa 4000 poligoni. Nominare tutti i poligoni partendo da destra verso sinistra e dall'alto verso il basso con lettere e numeri in sequenza. Quindi la prima maglia della griglia sarà A1, A2, A3 ecc, la seconda B1 B2 B3 e così via.
espressione da usare:
array_get(
with_variable( 'cucu',
string_to_array('a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z'),
array_cat(
array_foreach( @cucu ,upper(@element)), -- alfabeto a,b,c...
array_foreach( @cucu ,upper(@element || @element)))), -- alfabeto raddoppiato aa,bb,cc...
to_int((array_find(
array_reverse(
array_sort(
array_agg(
y_min($geometry)))),
y_min($geometry)))/
count( expression:=y_min($geometry),group_by:=y_min($geometry))))
||
-- aggiunge il numero finale AA1, ZZ10
(to_int((array_find(
array_reverse(
array_sort(
array_agg(
x_min($geometry)))),
x_min($geometry)))/
count( expression:=y_min($geometry),group_by:=x_min($geometry)))+1 )
array_foreach( @cucu ,upper(@element || @element|| @element))
ovvero tre volte la variabile @element
.
Prova tu↵
Geopackage↵
Funzioni e variabili utilizzate: