Nella versione di QGIS 3.8 Zanzibar sono state introdotte ben 58 nuove feature e tra queste spicca un algoritmo molto potente Join attributes by nearest
sviluppato da Nyall Dawson (North Road).
Cosa fa questo algoritmo
L’algoritmo permette di unire gli attributi dei k elementi prossimi più vicini; cioè permette, a partire da due layer vettoriali, di unire gli attributi dei due layer anche se non si toccano ma che si trovano nelle vicinanze. [qui maggiori dettagli]
Esempio pratico
Supponiamo di avere due layer vettoriali, uno lineare (le strade si Palermo) e uno puntuale (gli incidenti stradali, sempre di Palermo) e di voler associare ad ogni punto l’arco della rete stradale più vicina. I due layer, in generale, non si toccato e quindi occorre usare un algoritmo che tenga conto della vicinanza, in modo da associare gli incidenti al tratto di strada più vicino.
Dal menu menu Processing → Strumenti → Join attributes by nearest oppure ctrl + k
e digitare a Join attributes by nearest e poi invio:
- layer di ingresso : i punti che rappresentano gli incidenti;
- vettore in ingresso 2: che rappresenta le strade;
- selezionare gli attributi da unire (dal layer delle strade);
- aggiungere un prefisso che si vedrà nella tabella attributi;
- numero massimo di elementi più vicini;
- distanza massima entro cui cercare [opzionale];
- percorso del nuovo file;
- Esegui.
questo è l’output:
- in blue: la tabella originale, layer di ingresso;
- in verde: attributi del secondo layer unito;
- in giallo: attributi calcolati dall’algoritmo:
- n: indica il numero di archi più vicini;
- distance: indica la distanza tra le feature;
- feature_x: coordinata x del punto più vicino della feature layer di ingresso;
- feature_y: coordinata y del punto più vicino della feature layer di ingresso;
- nearest_x: coordinata x del punto (closest_point) più vicino al secondo layer;
- nearest_y: coordinata x del punto (closest_point) più vicino al secondo layer;
gli attributi feature_x, feature_y, nearest_x e nearest_y possono essere utilizzati per creare e visualizzare il segmento di minima distanza tra gli oggetti dei due layer, per esempio tramite una tematizzazione e la seguente espressione:
make_line(
make_point( "feature_x" , "feature_y" ) ,
make_point( "nearest_x" , "nearest_y" )
)
NOTE FINALI: Questo algoritmo utilizza calcoli puramente cartesiani per la distanza e non considera le proprietà geodetiche o ellissoidali nel determinare la prossimità delle caratteristiche.
Riferimenti
- QGIS: https://qgis.org/it/site/index.html
- Changelog QGIS 3.8 Zanzibar: https://qgis.org/it/site/forusers/visualchangelog38/index.html
Se il blog post vi è piaciuto cliccate su ‘Mi piace’, grazie!!!
if you liked the blog post click on ‘Like’, thank you !!!
Se il post vi è stato utile contribuite a mantenerlo aggiornato PayPal