dovrei fare questo spatial join tra una layer puntuale ed uno lineare.
Devo in pratica inserire nella tabella dei punti i valori della tabella della linea più vicina.
Esiste un modo semplice per farlo con il field calculator?
Con il processing mi viene in mente solo v.distance di GRASS
Grazie
P
···
Ing. Pierluigi De Rosa (PhD in Earth Science)
Contract Professor of Geographic Information System at University of Perugia
cel: 3497558268 / fax: 075 7823038
skype: pierluigi.derosa
dovrei fare questo spatial join tra una layer puntuale ed uno lineare.
Devo in pratica inserire nella tabella dei punti i valori della tabella
della linea più vicina.
Esiste un modo semplice per farlo con il field calculator?
Con il processing mi viene in mente solo v.distance di GRASS
Buonasera,
a partire dalla QGIS 3.16 Hannover, alcune funzioni del Plugin RefFunction
(di Enrico Ferreguti) sono state 'portate' nel core di QGIS e tramite queste
funzioni è facilissimo fare spatial join come richiesto; l' espressione che
consiglio è:
/*nome strada più vicina, un solo valore*/
overlay_nearest(
layer:='strade',
expression:="nome",
limit:=1)[0]
dove:
- 'strade' è il nome del layer lineare;
- "nome" è il campo del later strade da cui prendere i valori.
nel calcolatore di campi puoi usare uno degli operatori portati in core del plugin di Enrico Ferreguti (immagino che overlay_nearest faccia al tuo caso). Attenzione che è disponibile con QGIS >= 3.16
Altrimenti in Processing c'è anche questo algoritmo: