Generare ‘Punti casuali nel poligono‘ tramite il generatore di geometrie e usando i dati della tabella attributi.
geom_from_wkt('MULTIPOINT (' ||
array_to_string(
array_remove_all(
array_foreach( generate_series(1,
"fid"*20 -- campo tabella atributi
),
with_variable( 'rnd_p',
make_point( randf( x_min( $geometry), x_max( $geometry)),
randf( y_min( $geometry), y_max( $geometry))),
if(
within( @rnd_p, $geometry),
to_string(x(@rnd_p)) || ' ' || to_string(y(@rnd_p)),
to_string(x(closest_point($geometry, @rnd_p))) || ' ' || to_string(y((closest_point($geometry,@rnd_p)))))
)
),''
),','
) || ')'
)
L’espressione di sopra è leggermente modificata rispetto a quella proposta da Klas: nella condizione if ho aggiunto il caso in cui i punti cadono fuori dal poligono, in questo caso con la funzione closet_point vengono attaccate al perimetro!!!
Tweet:
Riferimenti:
- Espressione di: Klas Karlsson @klaskarlsson
- Domanda posta da: HD @HarelDan
Buongiorno Salvatore,
secondo te è possibile generare invece un poligono che raggruppi un set di punti con stessi attributi (ad esempio un gruppo di punti con stesso attributo ID=1)?
Grazie e buona giornata.
"Mi piace""Mi piace"
Ciao Marco,
sì, si può fare PER ESEMPIO COSì
concave_hull(collect($GEOMETRY,FILTER:=”FID”<70),1)
"Mi piace""Mi piace"