Dati due vettori in GRASS, uno lineare (rete dell’acquedotto) ed uno puntuale (localizzazione degli idranti) mi si era posto il problema di “travasare” un dato relativo alle tratte di acquedotto (nel caso particolare il diametro della condotta) nella tabella attributi degli idranti. Lo scopo era quello di conoscere il diametro della tratta che forniva ogni idrante.
Spulciando tra i moduli di GRASS (grandissimo GRASS! :-)) ho trovato v.distance. Questo modulo consente di trovare gli oggetti che si trovano ad una certa distanza (in base ad una threeshold impostata) da una serie di oggetti puntuali; inoltre permette di salvare attributi degli oggetti più vicini “agganciandoli” aquelli sorgente.
Ecco un dettaglio dei dati che avevo a disposizione:
– un vettore lineare chiamato “rete_acqua” con una serie di attributi tra cui il diametro della tratta (colonna chiamata “diametro“);
– un vettore puntuale chiamato “idranti” con una serie di attributi ai quali voglio aggiungere un ulteriore dato relativo al diametro della condotta; per memorizzare questo attributo ho creato una nuova colonna “sezione_co“;
– il comando in GRASS per ottenere il risultato voluto e’:
v.distance from=idranti to=rete_acqua upload=to_attr to_column=diametro column=sezione_co out=v_distance_idranti_rete
Consultando la tabella attributi del vettore “idranti” vediamo che la colonna “sezione_co” e’ stata aggiornata con i valori di “diametro” della tratta di acquedotto piu’ vicina.