Questo blog post nasce come promemoria, per non dimenticare come realizzare una espressione che faccia da calamita, mi spiego meglio più avanti.
Immaginiamo di avere 1000 punti sparsi casualmente nello spazio e caratterizzati da un attributo Parcel_No
(1,2,3); immaginiamo, inoltre, di avere, nella stessa area, tre poligoni caratterizzati con lo stesso attributo Parcel_No
(1,2,3); spostare i punti all’interno del loro corrispondente poligono (stesso Parcel_No)?
PRIMA
DOPO

espressione utilizzata:
with_variable('geomPolygon',
geometry(
get_feature('polygon',
'Parcel_No',
attribute( $currentfeature, 'Parcel_No' ))),
closest_point(buffer(centroid(
@geomPolygon), bounds_height((@geomPolygon))/5),
$geometry))
La funzione che permette di calamitare un punto su un altro oggetto è la closest_point
, ovvero è una funzione che crea un altro punto sull’oggetto più vicino.
In questo esempio l’oggetto più vicino ai punti sono i poligoni, la loro geometria la ho cristallizzata nella variabile geomPolygon
e su questa ho realizzato altre geometrie come:
- il centroide:
centroid(@geomPolygon)
- un buffer del centroide, dove il raggio è un quinto dell’altezza del bounding box della geometria del poligono
il risultato è incredibile, vero?
NOTE FINALI: Spesso mi chiedo, come mai nei corsi QGIS non si approfondisce mai il Field Calc e le espressioni? la risposta è semplice, è un argomento molto vasto e richiede specifiche competenze (qui trovate il mio corso FULL sul Field Calc). Io sostengo che conoscere le espressioni di QGIS, saperle utilizzare (praticamente in QGIS sono ovunque: field calc, tematizzazione, etichettatura, azioni, diagrammi, compositore di stampe ecc…) dà una marcia in più, e permette di risolvere i casi come quello descritto sopra.
RIFERIMENTI
- QGIS : https://www.qgis.org/it/site/
- HfcQGIS guida al fielc calc : https://hfcqgis.opendatasicilia.it/
- IDEA presa da qui : https://gis.stackexchange.com/questions/425911/move-points-into-center-of-polygons-base-on-common-field-attributes-using-qgis/425918#425918
PROVACI TU
- Scarica i dati e progetto : https://drive.google.com/file/d/1TG4i6qP9BcIkSZAr7lq8H7wKfhkta-8W/view?usp=sharing
I MIEI CANALI – ISCRIVITI
- Telegram : https://t.me/pigrecoinfinito
- YouTube : https://www.youtube.com/c/TotòFiandaca
Se il blog post Ti è piaciuto cliccate su ‘Mi piace’, grazie!!!
if you liked the blog post click on ‘Like’, thank you !!!