QGIS, le espressioni come una calamita

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:

  1. il centroide: centroid(@geomPolygon)
  2. 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


PROVACI TU


I MIEI CANALI – ISCRIVITI


Se il blog post Ti è piaciuto cliccate su ‘Mi piace’, grazie!!!
if you liked the blog post click on ‘Like’, thank you !!!

SE IL POST/BLOG TI È STATO UTILE CONTRIBUISCI A MANTENERLO AGGIORNATO PAYPAL


Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.