[Gvsig_italian] Funzione "distanza"

Antonio Falciano afalciano a yahoo.it
Ven 3 Apr 2009 02:04:27 PDT


Gaia Fior ha scritto:
> Buongiorno a tutti,
> vi scrivo per sapere se qualcuno è riuscito a utilizzare gvsig per la  
> seguente operazione:
> devo individuare in un layer vettoriale la distanza che separa ogni  
> punto da quello più vicino nello stesso layer e se possibile eseguire  
> la stessa operazione anche tra più layers.

Gaia,
in Sextante e' presente un tool per layer di punti che si chiama "Distance
Matrix": ti restituisce una tabella contenente la matrice delle distanze
relative tra i punti. Si tratta di una tabella volatile (presente solo
in memoria). Una volta creata, la editiamo, definendo un campo ID ed,
infine, lo popoliamo manualmente in modo da poter effettuare un join
(unione) con la tabella degli attributi associata ai punti.
Successivamente, esportiamo il layer ottenuto in precedenza e magari
utilizzando un foglio di calcolo ripuliamo un po' il dbf associato e ci
calcoliamo la minima distanza positiva.
A riprova di ciò, anche solo per avere un facile riscontro nella vista,
e' possibile applicare a cascata i tool "Delauney triangulation",
"Polygons to polylines" e "Split polylines at nodes", in modo da poter
calcolare le distanze di ogni punto dai vicini.

> L'applicazione pratica (che spero chiarisca anche la mia spiegazione)  
> è la seguente: dato un layer di raccolte d'acqua devo calcolare per  
> ognuna a che distanza si trova la successiva raccolta d'acqua, in modo  
> da verificare se è compatibile con lo spostamento di alcuni animali da  
> una all'altra. E nel secondo caso calcolare la distanza di ogni  
> raccolta d'acqua da un strada carrozzabile, quindi tra un layer di  
> punti e uno di polilinee.
> 
> Ho torvato che grass lo può calcolare usando il comando v.distance e  
> che arcgis ha un tool  "point distance analysis" tra layer dove è  
> anche possibile indicare un raggio massimo e un "near analysis"  
> all'interno di un layer.
> 
> Esiste qualcosa di simile per gvSIG? Nei geoprocessi non ho trovato  
> nulla di adatto e in sextante ho trovato nearest neighbour che agisce  
> però sui raster.

Trattandosi evidentemente di un problema di allocazione di risorse,
avrai sicuramente notato che, sempre in Sextante, c'e' uno strumento
appositamente dedicato (Location/allocation), ma che personalmente non ho
avuto ancora modo di testare, per cui non ci metterei una mano sul fuoco...
In generale, a mio avviso, si tratta di un'applicazione per cui si
presta meglio l'utilizzo dei raster, anche perche' immagino che
nell'applicazione ci sia anche una sorta di impedenza (es. pendenza del
terreno), oltre alla "distanza di rifiuto" degli animali.
Tuttavia, anche in questo caso, mancano ancora in Sextante dei tool
fondamentali nell'analisi raster, quali ad esempio la "distanza
euclidea", che si spera sia implementata quanto prima [1].
Grazie per averci fornito degli utili spunti di riflessione sull'attuale
stato di sviluppo di
gvSIG+Sextante.

ciao
Antonio

[1] http://n2.nabble.com/Euclidean-Distance-Tool-td2240075.html

-- 
Antonio Falciano
http://www.linkedin.com/in/antoniofalciano

















More information about the Gvsig_italian mailing list