QGIS: geomnearest()

In questo articolo continuo a parlare del plugin  (RefFunction) di Enrico Ferreguti ed in particolare di una funzione molto utile da usare nel calcolatore di campi. Il plugin è stato recentemente aggiornato per QGIS 3.0.

La funzione che approfondiremo è geomnearest( targetLayer  , targetField facendo un esempio molto richiesto.

N6
help da QGIS

Esempio tipico richiesto:

dati due layer, come popolare un campo (del primo layer) in funzione della geometria più vicina di un altro layer (secondo layer)?

entrando ancora nello specifico:

dato un layer puntuale e un layer lineare, entrambi shapefile, come popolare un campo (del layer puntuale) con un attributo presente nel secondo layer (layer lineare) usando come criterio la vicinanza?

N7
screenshot QGIS

questa funzione ci permette di popolare il field ‘strada’ del layer ‘caditoie’ prendendo il nome della strada più vicina al punto, ecco come:

N11
calcolatore di campi

il field ‘strade’ del layer ‘caditoie’: popolato con l’espressione:

geomnearest( ‘strada’, ‘nome’)

il risultato:

N13
risultato

Note finali: il plugin si chiama refFunctions e si installa come tutti i plugin; dopo l’installazione troverete le nuove funzioni nel calcolatore di campi.

NB: entrambi i layer devono avere stesso SR (Sistema di Riferimento)


Supportate QGIS, ECCO COME

Mettete un LIKE alla pagina QGIS ITALIA

Articolo plugin

Pubblicità

7 pensieri su “QGIS: geomnearest()

  1. Totò, …permettimi un suggerimento …la dritta “il plugin si chiama refFunctions e si installa come tutti i plugin ecc…” mettila all’inizio dell’articolo, così che uno, come prima cosa, si installa il plugin, e poi segue passo passo il tuo chiarissimo e utilissimo tutorial. Messa alla fine invece, rende più difficoltoso intuire come fare per poter usufruire dell’applicativo e si naviga alla cieca. Sono sciocchezze ma semplificano la vita 😉

    "Mi piace"

  2. Buongiorno a tutti. In un modello creato tramite model builder, vorrei poter inserire il valore ‘targetlayer’ come variabile. Mi spiego meglio, inserendo due later come file di input, vorrei poter assegnare il valore di un campo in base alla vicinanza dei due layer tramite geomnearest, il problema è che non riesco a inserire la variabile “nome layer” nella funzione geomnearest tramite model builder e di conseguenza non mi riconosce il target layer. Quindi vorrei creare una variabile che prenda il nome del layer (dopo averli caricati in QGIS) e che riesca a far funzionare la funzione. Come posso fare?

    grazie
    Marco

    Piace a 1 persona

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 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.