• Non ci sono risultati.

I menu funzionali del Layer Manager

Come si è visto e sperimentato, i tasti del Map Display e del Layer Manager permettono l’accesso immediato ad un certo numero di comandi di GRASS. Così come si è visto che altri comandi di uso comune sono accessibili cliccando sul nome di una carta elencata nel Layer Manager. L’insieme di questi comandi rappresenta tuttavia solo una piccola parte di tutti i comandi, oltre 350, disponibili in GRASS. I nove menù a discesa presenti lungo il margine superiore del Layer Manager. consentono l’accesso a tutti i comandi disponibili in GRASS

E’ ovviamente impossibile, in un manuale introduttivo, considerare tutti i comandi disponibili, e di ogni comando le numerose opzioni. Pertanto, nelle pagine seguenti, verranno analizzati e sperimentati, per ciascun menu, i comandi e le relative opzioni di uso più frequente, escludendo ovviamente i comandi già sperimentati in precedenza.

• Il menu File

In questo menu sono compresi alcuni comandi a carattere generale, come ad es. i comandi per salvare/aprire un workspace (o progetto di lavoro), per importare ed esportare carte raster e vettoriali, per visualizzare il contenuto dei Mapset, per convertire i diversi formati di carte, per georettificare una carta o creare carte in formato postscript, oltre ai già sperimentati comandi Close GUI, per l’uscita dall’interfaccia grafica, e Quit GRASS GIS, per la chiusura di GRASS.

•• Visualizzazione del contenuto dei Mapset (g.list)

La visualizzazione del contenuto dei Mapset rappresenta una delle operazioni più frequenti. Il comando relativo è g.list, cui si accede cliccando File, quindi Manage maps nel menu che viene aperto, infine List [g.list],

secondo la sequenza che può essere sinteticamente riassunta come segue:

File > Manage maps> List [g.list]

Viene aperto il pannello del comando g.list che permette, tramite un certo numero di sottopannelli, l’introduzione dei parametri e delle opzioni previsti dal comando.

Il sottopannello aperto di default, Required, consente di specificare la tipologia delle carte (o più in generale dei file) da

listare. Si attivi ad es. la prima opzione, raster map(s), e si clicchi il tasto Run. Viene aperto automaticamente il

sottopannello Command output (il quinto) e listate in ordine alfabetico tutte le carte raster presenti in tutti i Mapsets

accessibili all’utente (PERMANENT e user1) senza distinzione dei Mapsets di appartenenza. Il comando eseguito viene riportato, in modalità Linea di Comando, nella cornice inferiore del pannello (g.list type=raster).

Con un click sul tasto Copia, il comando, con le eventuali opzioni, viene memorizzato temporaneamente per essere

eventualmente riutilizzato in un terminale a caratteri (o inserito in uno script), mediante un’operazione del tipo copia-incolla.

184

Cliccando Run vengono listate tutte le carte raster e vettoriali contenute in PERMANENT e user1 e per ciascuna carta

viene specificata la tipologia (raster o vettoriale), il nome e il Mapset di appartenenza.

Se si vogliono listare solo le carte appartenenti ad un numero limitato di Mapset, è sufficiente specificare i nomi dei Mapset nell’apposita riga con l’intestazione Name of mapset to list nel sottopannello Optional. Si provi ad esempio a selezionare (mediante la freccia alla destra della riga) il Mapset PERMANENT e si clicchi Run. Vengono elencate solo le carte, sia raster che vettoriali, presenti nel Mapset selezionato. Va considerato che le carte raster e quelle vettoriali sono salvate in cartelle diverse e sono gestite tramite comandi diversi, per cui è possibile assegnare lo stesso nome ad una carta raster e ad una vettoriale. A questo proposito si noti che nella lista relativa al mapset PERMANENT molte carte sono presenti sia in forma vettoriale che in forma raster con lo stesso nome (ad es. roads, soils e streams).

Per elencare ad es. tutte le carte raster e vettoriali che iniziano con la lettera r escludendo quelle che contengono la stringa

area, nel sottopannello Pattern si digiti r* nella casella Map name search pattern e nella riga sottostante Map name exclusion pattern si digiti *area*. Con Run vengono elencate tutte le carte (ovviamente limitatamente al Mapset

PERMANENT) che iniziano con la lettera r con l’esclusione dei quelle che contengono la stringa area.

Vengono escluse le carte: raster/rstrct.areas@PERMANENT e vector/rstrct_areas@PERMANENT. Per listare tutte le carte il cui nome contiene una specifica stringa, da es. oad, escludendo quelle che contengono la stringa

pr, nello stesso sottopannello si attivi l’opzione Use basic regular expressions instead of wildcards, quindi si inserisca

nella casella Map name search pattern la stringa oad, e nella casella sottostante la stringa pr. Con Run si ottiene.

186

•• Copia di carte e file (g.copy)

Si è già sperimentata la copia di una carta presente nel Layer Manager mediante un click col tasto destro sul nome della carta e la selezione dell’opzione Make a copy in the current mapset.

Il comando g.copy offre un’ampia gamma di opzioni per l’esecuzione di copie di carte raster, vettoriali e di altri tipi di file. Si accede al pannello del comando con la sequenza:

File > Manage maps > Copy [g.copy]

Una volta aperto il sottopannello relativo alla tipologia di carta (o file) da copiare, nell’apposita casella vanno inseriti, nell’ordine, il nome dell’originale seguito dal nome da assegnare alla copia, separati da una virgola, evitando spazi bianchi.

Per effettuare ad es. una copia della carta raster elevation.dem, da denominare elevation.copia, nel sottopannello Raster,

aperto di default, si selezioni dal Mapset PERMANENT la carta elevation.dem mediante la freccia alla destra della riga, quindi si digiti la virgola di separazione e il nome della nuova carta, elevation.copia.

Cliccando Run, viene aperto automaticamente il sottopannello Command output con le informazioni (e gli eventuali errori)

relative all’esecuzione del comando.

La copia eseguita viene inserita nel Mapset corrente user1, come verificabile mediante il comando g.list (File > Manage maps> List [g.list])sperimentato in precedenza.

E’ possibile eseguire più copie di file diversi contemporaneamente, immettendo nella casella il nome del primo originale seguito dal nome della copia, quindi il nome del secondo originale seguito dal nome della copia, e così via, separando ogni nome con una virgola. E' anche possibile copiare contemporaneamente tipi diversi di file (ad es. raster e vettoriali). Per effettuare ad es. una copia delle carte raster soils, da denominare soils.copia, e geology, da denominare geology.copia, e delle carte vettoriali streams, da denominare streams1, e roads, da denominare roads1, si scriva nel sottopannello

Raster la sequenza soils,soils.copia,geology,geology.copia (se si eseguono più copie, come nel presente caso, è necessario

188

Si apra quindi il sottopannello Vector e si inserisca la sequenza streams,streams1,roads,roads1.

Cliccando Run il comando viene eseguito.

Va tenuto presente che quando si esegue la copia di una carta vettoriale, viene anche copiata la relativa tavola degli attributi (se presente) a cui viene assegnato lo stesso nome della carta. Dal momento che il nome della tavola non può contenere il carattere “.” (il punto), anche il nome assegnato alla carta deve essere privo di tale carattere.

Se una carta con il nome corrispondente a quello assegnato alla copia esiste già nel Mapset corrente (nel caso specifico il Mapset user1), viene emesso un messaggio di avviso nel Command output. Se si vuole sovrascrivere una carta esistente è

necessario attivare l’opzione Allow output files to overwrite…. nel sottopannello Optional.

Non è possibile (e non avrebbe senso) assegnare alla copia lo stesso nome dell’originale, se entrambi si trovano nello stesso Mapset. E’ tuttavia possibile, anche se poco conveniente, assegnare alla copia lo stesso nome dell’originale quando questo è presente in un Mapset diverso da quello corrente (ad es. nel Mapset PERMANENT). Infatti la nuova carta (o file) viene inserita nel Mapset corrente, e in GRASS è ammessa la coesistenza di file con lo stesso nome inseriti in Mapset diversi. Ad es. è possibile eseguire una copia di elevation.dem (presente in PERMANENT) chiamandola elevation.dem (che viene inserita in user1).

Si chiuda il pannello del comando con il tasto Chiudi.

•• Ridenominazione di carte e file (g.rename)

Si è già sperimentata la ridenominazione di una carta presente nel Layer Manager mediante un click col tasto destro sul nome della carta e la selezione dell’opzione Rename.

190

Il comando g.rename offre un’ampia gamma di opzioni per modificare il nome di carte raster, vettoriali e di altri tipi di file Si accede al pannello del comando con la sequenza:

File > Manage maps > Rename [g.rename]

Il pannello è simile, e le modalità operative le stesse, del comando precedente (g.copy). Nel pannello vanno inseriti, in corrispondenza della tipologia dell’elemento da ridenominare, il nome originale e quello modificato, separati da una virgola (e senza spazi). Per modificare ad es. il nome della carta raster elevation.copia precedentemente creata, in elev.copia, si inserisca, nella apposita riga del sottopannello Raster, la sequenza elevation.copia,elev.copia.

Quindi Run.

Si verifichi (con g.list) che nel Mapset user1 la carta elevation.copia è stata sostituita da elev.copia.

E’ possibile ridenominare contemporaneamente più carte dello stesso tipo o di tipo diverso, utilizzando gli stessi criteri illustrati per il comando precedente. Se si vuole sovrascrivere una carta esistente è necessario attivare l’opzione Allow output files to overwrite…. nel sottopannello Optional.

Va ricordato che l’utente ha accesso al Mapset PERMANENT in sola lettura, per cui le carte presenti in PERMANENT possono essere copiate, ma non ridenominate.

Si esca con Chiudi.

•• Cancellazione di carte e file (g.remove)

Durante una sessione di lavoro si creano spesso delle carte, o dei file, che non necessitano di essere conservati nel Database per un successivo utilizzo. Poiché occupano spazio, risulta opportuno eliminarle.

Per la rimozione si utilizza il comando g.remove, il cui pannello viene aperto tramite:

File > Manage maps > Delete [g.remove]

Questo pannello è simile a quelli precedenti e di ancor più semplice utilizzo. Ad es., per cancellare contemporaneamente la carta raster elev.copia e le carte vettoriali streams1 e roads1 precedentemente create, si attivino nel sottopannello Basic,

aperto di default, le caselle raster map(s) e vector map(s) per definire la tipologia delle carte da eliminare. Quindi si

Cliccando Run le tre carte non vengono eliminate, ma vista la delicatezza dell’operazione che comporta la cancellazione

definitiva, senza possibilità di recupero, di carte (e file), viene semplicemente riportata nel sottopannello Command output

la lista delle carte da eliminare.

Per effettuare effettivamente la cancellazione è necessario attivare nel sottopannello Basic la prima opzione Force removal ……... Attivata l’opzione, cliccando Run le tre carte vengono effettivamente eliminate come riportato nel Command output e come verificabile visualizzando il contenuto del Mapset user1.

Come già precisato, le carte del Mapset PERMANENT non possono essere cancellate (nel caso viene emesso un messaggio di errore).

Si chiuda il pannello per uscire dal comando.

Analogamente a quanto si è visto per il comando di visualizzazione del contenuto di un Mapset, è possibile definire una serie di carte da rimuovere selezionandole mediante un filtro. E’ ovviamente un comando che va utilizzato con cautela, per la possibilità della cancellazione involontaria e indesiderata di un gran numero di carte. Per sperimentare questa possibilità, si creino innanzitutto delle copie di carte mediante il procedimento già utilizzato in precedenza (g.copy). Più precisamente si crei una copia delle carte raster slope, assegnando il nome slope.copia, e landuse con il nome land.copia.

192

•• Costruzione di una carta raster da una vettoriale (v.to.rast)

La costruzione di una carta raster viene spesso effettuata partendo da una carta vettoriale ottenuta mediante

digitalizzazione. Per sperimentare l’operazione, si supponga di dover trasformare la carta vettoriale fields del Mapset PERMANENT, che contiene gli appezzamenti di terreno nell’area Spearfish60_grass7 distinti per proprietario,

nell’equivalente raster. Si visualizzi la carta nel Map Display attivando le opzioni di visualizzazione delle categorie, i centroidi e i colori casuali per le diverse categorie. Vengono rappresentati i diversi appezzamenti i cui valori di categoria variano da 1 a 63.

Per effettuare la trasformazione si apra il pannello del comando v.to.rast con la sequenza:

File > Map type conversions > Vector to raster [v.to.rast]

Nel pannello risulta già selezionata la carta fields come Name of input vector map: e si digiti fields come Name for output raster map: (come si è già avuto modo di dire è possibile assegnare lo stesso nome a una carta raster e ad una

vettoriale).

Nella casella Source of raster values si selezioni cat, in modo da assegnare ad ogni area della carta raster il valore di

categoria (1-63) presente nell’area corrispondente della carta vettoriale (d’altra parte la tavola degli attributi del vettoriale

Si clicchi infine Run.

La carta raster fields viene creata e visualizzata al di sopra della carta vettoriale fields.

Con il tasto di interrogazione del Map Display si possono verificare i valori di categoria assegnati ai diversi colori. La costruzione di una carta raster da una vettoriale non comporta alcuna modifica del vettoriale originale.

Si chiuda il pannello del comando con Chiudi e si cancellino le due carte dal Layer Manager.

•• Costruzione di una carta vettoriale da una raster (r.to.vect)

Per trasformare una carta da raster a vettoriale si utilizza il comando r.to.vect:

File > Map type conversions > Raster to vector [r.to.vect]

Si sperimenti la trasformazione della carta raster geology, che contiene aree con nove diverse litologie, nel corrispondente vettoriale denominato anch’esso geology. Nel sottopannello Required, aperto di default, si selezioni la carta raster geology, come carta di input, di nuovo geology come carta vettoriale risultante e si selezioni area come tipologia degli oggetti da

194

Di default viene assegnato a ciascuna area del vettoriale risultante un numero progressivo; per assegnare invece a ciascuna area il valore di categoria presente nel raster originale si apra il sottopannello Attributes e si attivi Use raster values as categories instead of unique sequence (CELL only).

Infine, per ottenere un risultato esteticamente più soddisfacente, nel sottopannello Optional si attivi l’opzione Smooth corners of area features per smussare gli angoli delle aree poligonali.

Si clicchi Run.

Viene creato il vettoriale e la relativa tavola degli attributi.

Si visualizzi la carta vettoriale risultante con le categorie, i centroidi e la colorazione casuale delle aree. Si noti che i bordi delle aree, nonostante lo smussamento, riproducono la forma delle celle, rivelando la derivazione da una carta raster. I valori di categoria, da 1 a 9, corrispondono a quelli della carta raster originale.

Si chiuda il pannello del comando e si cancelli la carta presente nel Layer Manager. •• Importazione di dati in formato ASCII (v.in.ascii)

Si è già sperimentata in precedenza la possibilità di importare carte vettoriali disponibili in altri formati e trasformarle nel formato di GRASS tramite l’apposita opzione del menu che viene aperto cliccando il tasto (Import/link raster or vector

data) nel Layer Manager.

Il comando v.in.ascii è un comando specifico che consente l'importazione di file in formato ASCII, vale a dire di dati disponibili in forma tabulare e risulta quindi utile in numerose occasioni.

Per sperimentare questo tipo di importazione, con un editor, ad es. il Blocco note, si scriva un file, da denominare

punti_ascii.txt, che si suppone contenga dei valori di temperatura rilevati in cinque stazioni di misura nell'area Spearfish.

Nella prima colonna è riportato il numero progressivo (categoria), in quelle successive le coordinate est (x) e nord (y) di ciascuna stazione, un'etichetta descrittiva e infine la temperatura. Come separatore si utilizzi la barra verticale (è possibile comunque utilizzare altri separatori, incluso lo spazio). Si eviti di inserire linee vuote dopo l’ultimo dato (vengono

196

Nel sottopannello Required, aperto di default, si selezioni mediante il tasto Browse il file di testo creato e nell’ultima riga

si digiti il nome della carta risultante, ad es. punti_temp.

Nel sottopannello Input format si verifichi che nella riga Input file format sia selezionato point, in quanto il formato

utilizzato nel file di testo è quello realtivo alla trasformazione di dati puntiformi, e nel campo Field separator sia

selezionato pipe, vale a dire la barra verticale.

Nel sottopannello Points vanno specificate le colonne in cui sono contenute le coordinate e il numero di categoria di

ciascun punto. Pertanto nel campo denominato Number of column used as x coordinate….. si immetta 2 al posto di 1 (le

coordinate x sono infatti inserite nella seconda colonna del file), nel campo sottostante Number of column used as y coordinate….. si immetta 3 e infine nello spazio Number of column used as category…... si immetta 1.

Si clicchi Run per l'importazione e trasformazione dei dati. La carta creata viene visualizzata nel Map Display.

198

Nel sottopannello Required del comando d.vect si disattivi Display category numbers of features e nel sottopannello Labels si selezioni, mediante la freccia sulla destra, int_4 nel campo Name of column to be displayed …. Cliccando il tasto OK vengono visualizzati i valori di temperatura in corrispondenza di ciascun punto.

•• Esportazione di dati in formato ASCII (v.out.ascii)

Il comando v.out.ascii permette di trasformare una carta vettoriale nel format GRASS in un file di testo. Per sperimentare il comando con una carta contenente dei punti si si può esportare la carta archsites che contiene 25 punti che identificano altrettante località archeologiche nell’area Spearfish. Si apra la tavola degli attributi per verificarne il contenuto.

.

Con la sequenza:

File > Export vector map > ASCII points or GRASS ASCII vector export [v.out.ascii]

200

Nel sottopannello Output si inserisca il nome del file di output, ad es. archsites_ascii e nel sottopannello Points si attivi

l’opzione Include column names…… per esportare nel file di output anche i nomi delle colonne della tavola degli attributi, e si selezionino entrambe le colonne cat e str1 nel campo Name of attribute column(s)….. tramite la freccia sulla destra.