Questa esercitazione riguarda la combinazione di primitive vettoriali di tipo area e linea. Le operazioni effettuate sono:
Si vogliono selezionare le strade passanti per il terreno di D. Portillo#1, dapprima creando una mappa vettoriale che contiene le strade che passano per il terreno e poi creando una mappa che contiene i soli tratti di strade all'interno del terreno.
Si imposta la regione su quella di default con> g.region -d
e si visualizza il terreno di D. Portillo#1> d.erase
tutti i terreni in nero> d.vect map=fields type=area,face display=shape icon=basic/x size=8 layer=1 color=black fcolor=gray
il terreno di D.Portillo#1 con contorno giallo ed etichetta rossa (a nord est)> d.vect map=fields type=point,line,boundary,centroid,area,face display=shape,attr attrcol=label where="label='D. Portillo#1'" icon=basic/x size=8 layer=1 color=yellow fcolor=gray llayer=1 lcolor=red bgcolor=none bcolor=none lsize=8 font=romans xref=left yref=center
le strade in rosso> d.vect map=roads color=red
> v.extract input=fields@PERMANENT output=fields_portillo1 type=point,line,boundary,centroid,area,face layer=1 new=-1 'where=label='\''D. Portillo#1'\''' --overwrite
si visualizza la nuova mappa con sfondo giallo:> d.vect map=fields_portillo1 type=point,line,boundary,centroid,area,face display=shape,attr attrcol=label icon=basic/x size=8 layer=1 color=black fcolor=yellow llayer=1 lcolor=red bgcolor=none bcolor=none lsize=8 font=romans xref=left yref=center
Le strade in rosso> d.vect map=roads color=red
> v.select ainput=roads@PERMANENT atype=point,line,boundary,centroid,area alayer=1 binput=fields_portillo1 btype=point,line,boundary,centroid,area blayer=1 output=roads_portillo_select operator=overlap --overwrite
e si visualizza il risultato:> d.erase
tutti i terreni> d.vect map=fields type=area,face display=shape icon=basic/x size=8 layer=1 color=black fcolor=gray
il terreno di D. Portillo#1 in giallo> d.vect map=fields_portillo1 type=point,line,boundary,centroid,area,face display=shape,attr attrcol=label icon=basic/x size=8 layer=1 color=black fcolor=yellow llayer=1 lcolor=black bgcolor=none bcolor=none lsize=8 font=romans xref=left yref=center
le altre strade in nero> d.vect map=roads
la strada selezionata in rosso> d.vect map=roads_portillo_select color=red
> echo "select * from roads_portillo_select"|db.select
che fornisce:cat|label
5|unimproved road
> v.overlay ainput=roads@PERMANENT atype=line alayer=1 binput=fields_portillo1 btype=area blayer=1 output=roads_portillo_overlay operator=and --overwrite
e si visualizza il risultato:> d.erase
tutti i terreni> d.vect map=fields type=area,face display=shape icon=basic/x size=8 layer=1 color=black fcolor=gray
il terreno di D. Portillo#1 in giallo> d.vect map=fields_portillo1 type=point,line,boundary,centroid,area,face display=shape,attr attrcol=label icon=basic/x size=8 layer=1 color=black fcolor=yellow llayer=1 lcolor=black bgcolor=none bcolor=none lsize=8 font=romans xref=left yref=center
le altre strade in nero> d.vect map=roads
la strada selezionata in rosso> d.vect map=roads_portillo_overlay color=red
> echo "select * from roads_portillo_overlay"|db.select
che fornisce:cat|a_cat|a_label|b_cat|b_label
1|5|unimproved road|41|D. Portillo#1
Lo script che realizza queste operazioni è geoprocessing_spearfish_aree_linee.sh.