
NOME
v.distance - Trova l'elemento più vicino nel vettoriale 'to' per gli elementi nel vettoriale 'from'.
PAROLE CHIAVE
vettoriale, database, tabella degli attributi
SINOSSI
v.distance
v.distance help
v.distance [-pa] from=nome to=nome [from_type=string[,string,...]] [to_type=string[,string,...]] [from_layer=integer] [to_layer=integer] [output=nome] [dmax=float] [dmin=float] upload=string[,string,...] column=nome[,name,...] [to_column=nome] [table=nome] [--overwrite] [--verbose] [--quiet]
Flag:
- -p
- Stampa l'output sullo stdout, non aggiorna la tabella degli attributi
- La prima colonna è sempre la categoria dell'elemento 'from' chiamato da from_cat
- -a
- Calcola le distanze da tutti gli elementi entro la soglia
- L'output viene scritto sullo stdout, ma può essere caricato in una nuova tabella creata da questo modulo; si possono usare opzioni 'upload' multiple.
- --overwrite
- Sovrascrive i file esistenti
- --verbose
- Output verboso del modulo
- --quiet
- Output quieto del modulo
Parametri:
- from=nome
- Nome di una mappa vettoriale esistente (from)
- to=nome
- Nome di una mappa vettoriale esistente (to)
- from_type=string[,string,...]
- Tipo di elemento (from)
- Tipo di elemento
- Opzioni: point,centroid
- Predefinito: punto
- to_type=string[,string,...]
- Tipo di elemento (to)
- Tipo di elemento
- Opzioni: point,line,boundary,centroid,area
- Predefinito: point,line,area
- from_layer=integer
- Numero del layer (from)
- Una singola mappa vettoriale può essere connessa a più tabelle di un database. Questo numero determina quale tabella viene utilizzata.
- Predefinito: 1
- to_layer=integer
- Numero del layer (to)
- Una singola mappa vettoriale può essere connessa a più tabelle di un database. Questo numero determina quale tabella viene utilizzata.
- Predefinito: 1
- output=nome
- Nome di una mappa vettoriale di output contenente le linee che collegano gli elementi più vicini
- dmax=float
- Distanza massima o -1 per nessun limite
- Predefinito: -1
- dmin=float
- Distanza minima o -1 per nessun limite
- Predefinito: -1
- upload=string[,string,...]
- Valori che descrivono la relazione fra due elementi più vicini
- Opzioni: cat,dist,to_x,to_y,to_along,to_angle,to_attr
- cat: categoria dell'elemento più vicino
- dist: distanza minima dall'elemento più vicino
- to_x: coordinata x del punto più vicino sull'elemento 'to'
- to_y: coordinata y del punto più vicino sull'elemento 'to'
- to_along: istanza dal punto più vicino sull'elemento 'to' lungo lo stesso elemento lineare
- to_angle: angolo lungo l'elemento lineare più vicino nella mappa 'to', misurato in senso antiorario dall'asse +x, in radianti, fra -Pi e Pi inclusi;
- to_attr: attributo dell'elemento più vicino dato dall'opzione to_column
- column=name[,name,...]
- Nome della colonna/e in cui verranno aggiornati i valori specificati dall'opzione 'upload'
- to_column=nome
- Nome della colonna dell'elemento più vicino (usato con upload=to_attr)
- table=nome
- Nome della tabella creata per l'output quando è utilizzato il flag della distanza da tutti (-a)
DESCRIZIONE
v.distance trova, per ciascun elemento nella mappa vettoriale
(from), l'elemento più prossimo nella mappa vettoriale
(to). Informazioni varie sulle relazioni tra i vettori (distanza,
categoria, etc.) possono essere caricate nella tabella degli attributi
associata alla prima mappa vettoriale, o visualizzate sullo "stdout".
È possibile creare una nuova mappa su cui memorizzare le linee che
connettono i punti agli elementi. I parametri dmin o
dmax possono essere usate per limitare la ricerca entro
un determinato raggio.
NOTE
Se l'elemento più prossimo non ha una categoria, la colonna della
tavola degli attributi viene aggiornata al valore null.
Lo stesso dicasi per le aree, cioè, per esempio, se un punto è
in un'isola (area SENZA categoria), v.distance ricerca l'area
più prossima CON una categoria; l'isola viene identificata come la
più prossima, e la categoria viene aggiornata al valore null.
La colonna (o le colonne) (column) su cui caricare i dati deve
esistere; in caso contrario la si deve creare con v.db.addcol.
Nelle location di tipo lat-long v.distance calcola le distanze
(dist e to_along) in metri, non in gradi, calcolate
come distanze geodetiche su una sfera.
ESEMPI
Trovare linee vicine
Trovare nella mappa vettoriale ln le linee più prossime
ai punti che si trovano nella mappa vettoriale pnt entro una data
soglia, e scrivere nella colonna linecat di una tabella degli attributi
associata alla mappa vettoriale pnt le categorie delle linee
corrispondenti:
v.distance from=pnt to=ln upload=cat column=linecat
Trovare aree vicine
Per ciascun punto nella mappa vettoriale pnt, trovare
l'area più prossima nella mappa ar entro una
determinata soglia, e scrivere nella colonna areacat di una tabella
degli attributi associata alla mappa vettoriale pnt le categorie
delle aree corrispondenti (nel caso in cui un punto ricada nell'area
di un poligono, la distanza è uguale a zero):
v.distance from=pnt to=ar upload=cat column=areacat
Creare una nuova mappa vettoriale
Creare una nuova mappa vettoriale che contiene le linee che collegano
gli elementi più prossimi delle mappe pnt e ln.
Il vettore risultante può essere utilizzato, per esempio, per connettere
i punti ad una rete, come richiesto per l'analisi delle reti (network analysis):
v.distance -p from=pnt to=ln out=connections upload=dist column=dist
Interrogazioni
Richiesta di informazioni da punti selezionati. v.distance prende
come input i punti in una mappa vettoriale invece che prenderli
dallo stdin. Prima di poter essere analizzata, bisogna creare una nuova
mappa vettoriale con punti interrogabili.
Creare una mappa interrogabile (se non disponibile):
echo "123456|654321|1" | v.in.ascii output=pnt
Trovare elementi vicini:
v.distance from=pnt to=mappa_da_interrogare upload=cat col=somecol -p
Punti in poligoni
L'opzione dmax=0 qui è importante perché altrimenti per
i punti che non ricadono dentro nessun'area viene registrata la categoria
dell'area più vicina.
Per ciascun punto nella mappa vettoriale pnt, trovare l'area
nella mappa vettoriale ar nella quale ricade il singolo punto, e
scrivere nella colonna areacat della tabella degli attributi collegata
alla mappa vettoriale pnt le categorie delle aree corrispondenti:
v.distance from=pnt to=ar dmax=0 upload=cat column=areacat
Statistica univariata sui risultati
Creare una mappa vettoriale contenente linee di connessione e analizzare
la distanza media. Una soluzione alternativa è
quella di usare l'opzione v.distance upload=dist per caricare le
distanze direttamente nel vettoriale bugs, quindi eseguire v.univar
su questo. Si tenga inoltre presente che si possono caricare due colonne
contemporaneamente, p.es.
v.distance upload=cat,dist column=nearest_id,dist_to_nr.
# creare una copia di lavoro
g.copy vect=bugsites,bugs
# aggiungere una nuova colonna attributo per i numeri
# di categoria del più prossimo archsite
v.db.addcol map=bugs column="nrst_arch INTEGER"
v.distance from=bugs to=archsites to_type=point upload=to_attr \
to_column=cat column=nrst_arch out=vdistance_vectors_raw
# bisogna assegnare i numeri di categoria, creare una tabella e in questa
# tabella creare una colonna per i dati sulle distanze.
v.category vdistance_vectors_raw out=vdistance_vectors type=line op=add
g.remove v=vdistance_vectors_raw
v.db.addtable map=vdistance_vectors column="length DOUBLE"
v.to.db map=vdistance_vectors option=length column=length
# eseguire analisi statistiche. Usare v.univar.sh per analisi
# statistiche avanzate.
v.univar vdistance_vectors column=length
Visualizzare una matrice delle distanze
v.distance -pa from=archsites to=archsites upload=dist col=dist
Note: L'emissione dei dati sotto forma di matrice viene abilitata solo
se è attivo il flag -a, e se è impostata una
qualche opzione upload.
VEDI ANCHE
r.distance,
v.db.addcol,
v.what.vect
AUTORE
Janne Soimasuo 1994, University of Joensuu, Faculty of Forestry, Finland
Cmd line coordinates support: Markus Neteler, ITC-irst, Trento, Italy
Updated for 5.1: Radim Blazek, ITC-irst, Trento, Italy
Martix-like output by Martin Landa, FBK-irst, Trento, Italy
Last changed: $Date: 2011-11-08 12:29:50 +0100(mar, 08 nov 2011) $
Main index - vector index - Full index
© 2003-2011 GRASS Development Team