Geoprocessing con GRASS

Transcript

Geoprocessing con GRASS
Geoprocessing
Geoprocessing con
con GRASS
GRASS
Geoprocessing con GRASS
Paolo Zatelli
Dipartimento di Ingegneria Civile e Ambientale
Università di Trento
Paolo Zatelli | Università di Trento |
1/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
Combinazione di entità vettoriali
La combinazione di entità vettoriali consentono di ricavare nuove
primitive geometriche attraverso:
●
overlay di mappe con operazioni logiche;
●
patch di mappe;
●
selezione di primitive geometriche sovrapposte;
●
calcolo della distanza tra due primitive e realizzazione dei
segmenti di distanza minima;
●
creazione di punti o segmenti lungo linee;
●
creazione di buffer attorno a punti, linee e aree.
Paolo Zatelli | Università di Trento |
2/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
Combinazione di aree con aree, linee e punti
La combinazione di aree con aree, linee e punti:
●
●
●
●
overlay: crea nuove mappe dalla combinazione di primitive
geometriche con operatori logici AND, OR, XOR e NOT;
patch di mappe: unisce le primitive di diverse mappe anche
sovrapponendole;
selezione di primitive geometriche sovrapposte, senza crearne di
nuove;
dissolving: unione di entità con la stessa categoria in un'unica
entità.
Paolo Zatelli | Università di Trento |
3/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
Buffer
Consiste nella creazione di aree attorno a primitive (punti, linee e
aree) di forma simile all'entità di partenza, tipicamente più grandi:
●
●
●
a larghezza costante (rispetto a due assi dati);
a larghezza diversa per le diverse categorie (la larghezza è
solitamente letta dalla tabella associata alla mappa);
a larghezza diversa tra lato sinistro e destro, rispetto al verso di
percorrenza di linee o boundary.
Paolo Zatelli | Università di Trento |
4/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
Altre operazioni sui vettoriali
Altre operazioni combinano le diverse primitive geometriche (punti,
linee e aree):
●
calcolo delle distanze tra punti e le diverse primitive geometriche
(punti, linee e aree), con possibilità di creare i segmenti di minimo
percorso;
●
creazione di punti e segmenti lungo linee;
●
divisione di linee in segmenti;
●
calcolo delle proprietà geometriche (lunghezza, area, ecc.) di
entità e memorizzazione in una tabella.
Paolo Zatelli | Università di Trento |
5/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
Moduli di GRASS
I moduli di GRASS per il geoprocessing sono:
● v.extract
– estrae primitive vettoriali da mappe in base alla
categoria o ad una query SQL sulla tabella;
● v.overlay – combina aree con punti, linee ed aree usando operatori
logici (AND, OR, XOR e NOT);
● v.patch – “somma” tra loro mappe sovrapponendo le entità;
● v.select – seleziona (senza modificarle) entità sovrapposte ad una
entità data;
● v.buffer – crea buffer attorno a primitive geometriche date;
● v.parallel
– crea primitive geometriche parallele a primitive
geometriche date;
Paolo Zatelli | Università di Trento |
6/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
Moduli di GRASS
Altri moduli di GRASS per il geoprocessing sono:
● v.to.db – calcola, ed eventualmente aggiunge ad una tabella,
alcune grandezze geometriche (lunghezza, area, ecc.);
● v.distance – calcola la distanza fra punti ed altre entità (punti, linee
ed aree), con possibilità di creare i segmenti di minimo percorso;
● v.to.points – crea punti ad intervalli regolari lungo linee;
● v.segment – crea punti e segmenti lungo linee;
● v.split – divide linee in segmenti.
Paolo Zatelli | Università di Trento |
7/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
Caratteristiche comuni ai moduli
Alcune caratteristiche, che derivano dall'implementazione della
libreria vettoriale di GRASS, sono comuni a tutti i moduli:
● i moduli non sovrascrivono mappe esistenti, è necessario
specificare l'opzione -- overwrite oppure cancellarle prima;
● è possibile indicare il tipo di primitiva (point, line, boundary,
centroid, area, face) nelle mappe di input a cui applicare il
modulo;
● è possibile indicare il layer a cui si riferiscono le categorie e
quindi tabelle.
Paolo Zatelli | Università di Trento |
8/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.extract
estrae primitive vettoriali in base alla categoria o ad una query SQL sulla tabella.
La sintassi è:
v.extract [-dtrovq] input=name output=name [type=string[,string,...]] [layer=integer]
[list=range] [where=sql_query] [file=name] [random=integer] [new=integer] [-overwrite] [--verbose] [--quiet]
flags: -d dissolve i contorni di primitive contigue con uguale categoria;
-t non copia la tabella del file di input;
-r inverte la selezione;
input nome della mappa di input;
output nome della mappa di input;
type tipo di primitiva da estrarre;
layer layer delle entità da estrarre;
where query SQL in base a cui estrarre le entità;
file file che contiene la lista delle categorie delle entità da estrarre;
random numero di categorie di primitive random da estrarre (< totale categorie);
new indica se mantenere le categorie originali (-1) o assegnare una nuova
categoria (>0, in questo caso la tabella non è copiata);
list lista delle categorie delle entità da estrarre;
Paolo Zatelli | Università di Trento |
9/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.extract
Esempio:
v.extract input=fields@PERMANENT output=fields_mitchell type=area layer=1 new=­1 where="label='C. Mitchell#1' OR label='C. Mitchell#2' OR label='C. Mitchell#3' OR label='C. Mitchell#4' OR label='C. Mitchell#5' OR label='C. Mitchell#6'"
estrae i terreni di C. Mitchell dalla mappa fields.
v.extract input=soils@PERMANENT output=soils_GBE type=area layer=1 new=­1 where="label='GBE'"
estrae le aree con tipo di suolo GBE dalla mappa soils.
Paolo Zatelli | Università di Trento |
10/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.extract
Paolo Zatelli | Università di Trento |
11/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.extract
Esempio con dissolve:
v.extract input=fields@PERMANENT output=fields_mitchell_dissolve type=point,line,boundary,centroid,area,face layer=1 new=1 where="(label='C. Mitchell#1') OR (label='C. Mitchell#2') OR (label='C. Mitchell#3') OR (label='C. Mitchell#4') OR (label='C. Mitchell#5') OR (label='C. Mitchell#6')" ­d
estrae i terreni di C. Mitchell dalla mappa fields e crea una sola area con
categoria 1.
Paolo Zatelli | Università di Trento |
12/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
senza dissolve
Paolo Zatelli | Università di Trento |
con dissolve
13/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.dissolve
dissolve i confini di aree adiacenti in funzione della loro categoria o del valore di un
attributo.
La sintassi è:
v.dissolve input=name output=name [layer=integer] [column=string] [--overwrite]
[--verbose] [--quiet]
flags: --overwrite sovrascrive il file di output
--verbose visualizza più commenti;
--quiet visualizza meno commenti;
input nome della mappa di input;
output nome della mappa di output;
layer layer delle entità da estrarre (-1 = tutti i layer);
column colonna che contiene l'attributo per il dissolve.
Se il parametro column non è specificato vengono usate le categorie (è identico a
v.extract -d).
E' uno script che usa v.reclass e v.extract -d in cascata.
Paolo Zatelli | Università di Trento |
14/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.overlay
combina aree con punti, linee ed aree usando operatori logici (AND, OR, XOR e
NOT);
La sintassi è:
v.overlay [-t] ainput=name [atype=string[,string,...]] [alayer=integer] binput=name
[btype=string[,string,...]]
[blayer=integer]
output=name
[operator=string]
[olayer=integer[,integer,...]] [snap=float] [--overwrite] [--verbose] [--quiet]
flags: -t non crea la tabella degli attributi;
ainput nome della prima mappa di input;
atype tipo di entità nella prima mappa di input;
alayer layer della prima mappa di input;
binput nome della seconda mappa di input;
btype tipo di entità nella seconda mappa di input;
blayer layer della seconda mappa di input;
output nome della mappa di output;
operator operatore logico (AND, OR, XOR e NOT) da usare (default OR);
olayer layer nella mappa di output, per le nuove categorie, la prima mappa e la
seconda mappa.
snap soglia di snapping per i boundaries: disabilitato se snap <= 0, default: 1e-8
Paolo Zatelli | Università di Trento |
15/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.overlay
Operatore AND:
v.overlay ainput=uno atype=area alayer=1 binput=due btype=area blayer=1 output=test_and operator=and olayer=1,0,0
Paolo Zatelli | Università di Trento |
16/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.overlay
Operatore OR:
v.overlay ainput=uno atype=area alayer=1 binput=due btype=area blayer=1 output=test_or operator=or olayer=1,0,0
Paolo Zatelli | Università di Trento |
17/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.overlay
Operatore XOR:
v.overlay ainput=uno atype=area alayer=1 binput=due btype=area blayer=1 output=test_xor operator=xor olayer=1,0,0
Paolo Zatelli | Università di Trento |
18/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.overlay
Operatore NOT:
v.overlay ainput=uno atype=area alayer=1 binput=due btype=area blayer=1 output=test_not operator=not olayer=1,0,0
Paolo Zatelli | Università di Trento |
19/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.patch
combina mappe vettoriali in una nuova mappa.
La sintassi è:
v.patch [-ae] input=name[,name,...] output=name [bbox=name] [--overwrite]
[--verbose] [--quiet]
flags: -a aggiunge le mappe di input a un file esistente;
-e copia la tabella degli attributi (solo sul layer 1);
input nomi delle mappe di input;
output nome della mappa di output;
bbox nome della mappa di output che conterrà la bounding box delle mappe
di input.
Paolo Zatelli | Università di Trento |
20/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.patch
v.patch input=uno,due output=test_patch ­e
Paolo Zatelli | Università di Trento |
21/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.select
seleziona punti, linee ed aree da una mappa (a) che si
sovrappongono a primitive in una mappa data (b).
La sintassi è:
v.select [-tcr] ainput=name [atype=string[,string,...]] [alayer=integer] binput=name
[btype=string[,string,...]]
[blayer=integer]
output=name
[operator=string]
[relate=string] [--overwrite] [--verbose] [--quiet]
flags: -t non crea la tabella degli attributi, -c include features senza categoria, -r
inverte la selezione;
ainput nome della prima mappa di input, da cui vengono selezionate le entità;
atype tipo di entità nella prima mappa di input;
alayer layer della prima mappa di input;
binput nome della seconda mappa di input, in cui sono memorizzate le entità per
la selezione;
btype tipo di entità nella seconda mappa di input;
blayer layer della seconda mappa di input;
output nome della mappa di output;
operator operatore logico (overlap) da usare;
relate Intersection Matrix Pattern per l'operatore “relate”.
Paolo Zatelli | Università di Trento |
22/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.select
Se GRASS è compilato con il supporto per le librerie GEOS sono
disponibili operatori aggiuntivi:
equals – le primitive sono uguali spazialmente
● disjoint - le primitive non si intersecano
● intersects - le primitive si intersecano
● touches - le primitive si toccano
● crosses - le primitive si incrociano
● within – la primitiva nella mappa A è completamente contenuta in
una primitiva nella mappa B
● contains - la primitiva nella mappa A contiene una primitiva nella
mappa B
● overlaps – le primitive si sovrappongono (anche parzialmente)
● relate – la primitiva in A è ha una relazione (di quelle sopra) con una
primitiva nella mappa B
●
Paolo Zatelli | Università di Trento |
23/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.select - aree
v.select ainput=soils atype=area alayer=1 binput=fields_mitchell btype=area blayer=1 output=soils_mitchell_select operator=overlap
Paolo Zatelli | Università di Trento |
24/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.select - linee
v.select ainput=roads atype=line alayer=1 binput=fields_portillo1 btype=area blayer=1 output=roads_portillo_select operator=overlap
Paolo Zatelli | Università di Trento |
25/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.buffer
crea buffer attorno a primitive geometriche date.
La sintassi è:
v.buffer [-sc] input=name output=name [type=string[,string,...]] [layer=integer]
[distance=float]
[minordistance=integer]
[angle=float]
[bufcolumn=name]
[scale=float] [tolerance=float] [debug=string] [buffer=float] [--overwrite] [--verbose]
[--quiet]
flags: -s crea gli angoli esterni retti, -c non va oltre la fine delle linee;
input nome della mappa di input contenente le entità attorno cui realizzare i buffer;
output nome della mappa di output;
type tipo di entità nella mappa di input attorno cui realizzare i buffer;
layer layer delle entità nella mappa di input;
distance (oppure buffer) larghezza del buffer lungo l'asse principale (in unità della
mappa);
minordistance larghezza del buffer lungo l'asse secondaria (in unità della mappa);
angle angolo dell'asse principale rispetto all'asse x (oppure E oppure longitudine);
bufcolumn colonna della tabella da cui leggere le larghezze dei buffer;
scale fattore di scala per i valori letti nella tabella;
tolerance massima distanza fra archi teorici e segmenti di poligoni:
debug ignorato, solo per compatibilità con vecchie versioni.
Paolo Zatelli | Università di Trento |
26/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.buffer - linee
v.buffer input=streams_new output=streams_buffer_line type=line layer=1 distance=200 scale=1.0 tolerance=0.01
Paolo Zatelli | Università di Trento |
27/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.buffer - aree
v.buffer input=streams_new output=streams_buffer_area type=area layer=1 distance=300 scale=1.0 tolerance=0.01
Paolo Zatelli | Università di Trento |
28/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.buffer – larghezze da DB
v.buffer input=streams_new output=streams_buffer_db_line type=line layer=1 bufcolumn=buffer scale=1.0 tolerance=0.01
Paolo Zatelli | Università di Trento |
29/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.buffer – lungo l'asse principale
v.buffer ­­overwrite ­­verbose input=line1 output=line_major distance=100
Paolo Zatelli | Università di Trento |
30/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.buffer – lungo l'asse secondaria
v.buffer ­­overwrite ­­verbose input=line1 output=line_minor distance=1 minordistance=100
Paolo Zatelli | Università di Trento |
31/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.buffer – rotazione di 45° degli assi
v.buffer ­­overwrite ­­verbose input=line1 output=line_minor distance=1 minordistance=100 angle=45
Paolo Zatelli | Università di Trento |
32/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.parallel
crea primitive geometriche parallele a primitive geometriche date.
La sintassi è:
v.parallel [-rb] input=name output=name distance=float [minordistance=float]
[angle=float] side=string [tolerance=float] [--overwrite] [--verbose] [--quiet]
flags: -r arrotonda gli angoli esterni, -b crea linee simmetriche su entrambi i lati
(come v.buffer, ma linee e non aree);
input nome della mappa di input contenente le entità di cui tracciare le parallele;
output nome della mappa di output;
distance distanza delle parallele dalle linee originali lungo l'asse principale (in
unità della mappa);
minordistance distanza delle parallele lungo l'asse secondaria (in unità della
mappa);
angle angolo dell'asse principale rispetto all'asse x (o E, o longitudine);
side lato su cui tracciare le linee (left, right, both);
tolerance tolleranza per gli archi di polilinea (in unità mappa).
Paolo Zatelli | Università di Trento |
33/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.parallel
v.parallel input=streams_new output=streams_right side=right distance=100
v.parallel input=streams_new output=streams_left side=left distance=300
Paolo Zatelli | Università di Trento |
34/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.to.db
calcola, ed eventualmente aggiunge ad una tabella, alcune grandezze
geometriche (lunghezza, area, ecc.).
La sintassi è:
v.to.db [-psc] map=name [type=string[,string,...]] [layer=integer] [qlayer=integer]
option=string [units=string] [columns=name[,name,...]] [qcolumn=name] [-verbose] [--quiet]
flags: -p visualizza il risultato sul terminale, non modifica la tabella;
-s visualizza solo la query SQL;
-c calcola il totale delle quantità richieste, non un valore per entità;
map nome della mappa di input;
type tipo di entità nella mappa di input da elaborare;
layer layer da usare nella mappa di input;
qlayer layer nella mappa di input da usare per le query;
Paolo Zatelli | Università di Trento |
35/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.to.db
continua
option valore da calcolare e visualizzare o inserire nella tabella:
cat: inserisce una nuova colonna per la categoria, se non esiste già;
area: superficie delle aree;
compact: compatezza delle aree ( = perimetro / 2 * radq(PI * area));
fd: dimensione frattale dei contorni dei poligoni, fd = 2 * (log(perimetro) / log(area));
perimeter: lunghezza dei perimetri delle aree;
length: lunghezza delle linee;
count: numero di entità per ogni categoria;
coor: coordinate dei punti, X,Y o X,Y,Z;
start: coordinate del punto iniziale di una linea o boundary, X,Y o X,Y,Z;
end: coordinate del punto finale di una linea o boundary, X,Y o X,Y,Z;
sides: categorie delle aree a sinistra e a destra di un boundary, è letta dal layer 'qlayer';
query: risultato di una query per tutti i record delle geometrie, dalla tabella sul layer 'qlayer';
slope: pendenza delle linee o contorni;
sinuous: sinuosità delle linee, lunghezza/distanza degli estremi.
azimuth: azimuth della linea (angolo tra direzione Nord e direzione del segmento tra i
punti iniziale e finale)
units unità di misura per i valori in output (mi, miles, f, feet, me, meters, k, kilometers, a,
acres, h, hectares);
colums nome/i della/e colonna/e in cui scrivere i valori;
qcolumn nome della colonna su cui fare le query (sulla tabella del layer qlayer).
Paolo Zatelli | Università di Trento |
36/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.to.db
v.to.db map=streams_new type=point,line,boundary,centroid layer=1 qlayer=1 option=length units=me column=lenght ­p
visualizza:
cat|length
­1|2426.08071449311
1|32614.5522076325
2|183157.29968834
3|3458.83045471837
421|0
per ogni categoria è visualizzata la lunghezza delle linee.
Paolo Zatelli | Università di Trento |
37/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.distance
calcola la distanza fra punti ed altre entità (punti, linee ed aree), con possibilità di
creare i segmenti di minimo percorso;
La sintassi è:
v.distance
[-pa]
from=name
to=name
[from_type=string[,string,...]]
[to_type=string[,string,...]] [from_layer=integer] [to_layer=integer] [output=name]
[dmax=float]
[dmin=float]
upload=string[,string,...]
column=name[,name,...]
[to_column=name] [table=name] [--overwrite] [--verbose] [--quiet]
flags: -p visualizza il risultato sul terminale, non modifica la tabella;
-a calcola le distanze a tutte le entità entro una distanza di soglia;
from nome della mappa di input contenente le entità da cui calcolare le distanze;
to nome della mappa di input contenente le entità a cui calcolare le distanze;
from_type tipo di entità nella prima mappa di input (point,centroid);
to_type tipo di entità nella seconda mappa di input (point, line, boundary, centroid,
area);
from_layer layer della prima mappa di input;
to_layer layer della seconda mappa di input;
output nome della mappa di output;
Paolo Zatelli | Università di Trento |
38/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.distance
continua
dmax massima distanza entro cui calcolare le distanza (-1 per tutte);
dmin minima distanza entro cui calcolare le distanza (-1 per tutte);
upload tipo di relazione per entità vicine (cat, dist, to_x, to_y, to_along, to_angle,
to_attr);
column nome della colonna in cui scrivere i valori calcolati (deve esistere);
to_column nome della colonna da cui leggere gli attributi, per upload=to_attr;
table nome della tabella da creare se si usa l'opzione -a.
Paolo Zatelli | Università di Trento |
39/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.distance - punti e aree
v.distance from=archsites_not_natfor_fields to=bugsites_natfor from_type=point to_type=point,line,area from_layer=1 to_layer=1 output=archsites_not_natfor_dist dmax=­1 upload=dist column=dist ­p
Paolo Zatelli | Università di Trento |
40/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.distance - punti e linee
v.distance from=archsites@PERMANENT to=roads@PERMANENT output=archistes_to_roads from_type=point to_type=point,line,area from_layer=1 to_layer=1 dmax=­1 upload=dist column=dist
Paolo Zatelli | Università di Trento |
41/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.to.points
crea punti ad intervalli regolari lungo linee.
La sintassi è:
v.to.points [-nvit] input=name output=name [type=string[,string,...]] [llayer=integer]
[dmax=float] [--overwrite] [--verbose] [--quiet]
flags: -n crea un punto in ogni nodo delle linee;
-v crea un punto in ogni vertice delle linee;
-i interpola tra i vertici delle linee;
-t non crea la tabella degli attributi;
input nome della prima mappa di input che contiene le linee;
type tipo di entità nella mappa di input;
output nome della mappa di output;
llayer layer delle linee (default 1);
dmax massima distanza fra i punti lungo la linea (default 100).
Sul primo layer associa al file di output la tabella del file di input, sul secondo una
nuova tabella contente per ogni punto creato una colonna lcat che indica la
categoria del segmento della mappa di partenza a cui il punto è sovrapposto ed
una colonna along che contiene la distanza progressiva dal primo nodo.
Paolo Zatelli | Università di Trento |
42/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.to.points
v.to.points input=railroads@PERMANENT type=point,line,boundary,centroid output=railroads_points llayer=1 dmax=1000
Paolo Zatelli | Università di Trento |
43/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.to.points – con vertici
v.to.points input=railroads@PERMANENT type=point,line,boundary,centroid output=railroads_points llayer=1 dmax=1000 ­v
Paolo Zatelli | Università di Trento |
44/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.segment
crea punti e segmenti lungo linee.
La sintassi è:
v.segment input=name output=name [llayer=integer] [file=name] [--overwrite] [-verbose] [--quiet]
input nome della mappa di input contenente le linee;
llayer layer della linee sulla mappa di input;
output nome della mappa di output;
file file contenente le posizioni di linee e/o punti, altrimenti è usato lo stdin.
La posizione di punti e linee va specificato sullo stdin:
P <point id> <line cat> <offset> [<side offset>]
L <segment id> <line cat> <start offset> <end offset> [<side offset>]
ad es.
echo "L 2 1 2000 3000"|v.segment input=railroads output=railroads_segment_line llayer=1
echo "P 1 1 1000"|v.segment input=railroads output=railroads_segment_point llayer=1
Paolo Zatelli | Università di Trento |
45/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.segment
echo "P 1 1 1000"|v.segment input=railroads output=railroads_segment_point llayer=1
echo "L 2 1 2000 3000"|v.segment input=railroads output=railroads_segment_line llayer=1
Paolo Zatelli | Università di Trento |
46/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.split
divide linee in segmenti.
La sintassi è:
v.split input=name output=name [length=float] [vertices=integer] [--overwrite] [-verbose] [--quiet]
input nome della mappa di input;
output nome della mappa di output;
lenght massima lunghezza dei segmenti;
vertices massimo numero di vertici per ogni segmento.
Il parametro vertices indica il numero massimo di vertici consecutivi della linea di
partenza che ogni segmento deve contenere (2=solo segmenti rettilinei).
Paolo Zatelli | Università di Trento |
47/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
v.split
v.split input=railroads output=railroads_split_num vertices=10
Paolo Zatelli | Università di Trento |
48/49
Geoprocessing
Geoprocessing con
con GRASS
GRASS
Licenza
Questa presentazione è © 2014 Paolo Zatelli, disponibile come
Paolo Zatelli | Università di Trento |
49/49