Il plugin GRASS consente l’accesso ai dati e alle funzioni di GRASS GIS (vedi GRASS-PROJECT Literature and Web References) , inclusa la visualizzazione di layer raster e vettoriali, la digitalizzazione di layer vettoriali, la modifica degli attributi, la creazione di nuovi vettori e l’analisi di dati GRASS 2D e 3D tramite più di 300 moduli GRASS.
Questa sezione contiene un’introduzione sulle funzionalità del plugin e qualche esempio sulla gestione e l’utilizzo di dati GRASS. Quando viene abilitato il plugin GRASS, come descritto alla Sezione Avviare il plugin GRASS, le seguenti funzionalità sono disponibili nella barra degli strumenti GRASS:
Per usare le funzioni GRASS e/o visualizzare layer raster e vettoriali in formato GRASS in QGIS, bisogna prima selezionare e caricare il plugin GRASS con il gestore di plugin. Cliccare su Plugins ‣ Gestione plugins, selezionare
GRASS e cliccare su [OK].
Ora è possibile caricare layer raster e vettoriali da una LOCATION GRASS esistente (sezione Caricare layer raster e vettoriali GRASS).È anche possibile creare una nuova LOCATION GRASS in QGIS (sezione Creare una nuova LOCATION GRASS) e importarci dati raster e vettoriali (sezione Importare dati nelle LOCATION GRASS) per ulteriori analisi con gli strumenti GRASS (sezione Gli strumenti GRASS).
Con il plugin GRASS, possono essere caricati layer raster o vettoriali usando il pulsante appropriato nella barra strumenti. Come esempio si consideri il set di dati Alaska (Sezione Dati campione) che contiene una LOCATION GRASS campione contenente tre layer vettoriali e una mappa di altitudine raster.
Creare una nuova cartella grassdata, nella quale scaricare il set di dati Alaska denominato qgis_sample_data.zip dall’indirizzo web http://download.osgeo.org/qgis/data/ e decomprimere il file nella cartella grassdata.
Avviare QGIS
Nella barra degli strumenti GRASS, cliccare sull’icona Apri mapset per aprire la finestra Scegli mapset GRASS.
Alla voce Gisdbase inserire il’indirizzo completo o navigare fino alla cartella grassdata appena creata.
Dovrebbe ora essere possibile selezionare la LOCATION alaska e il MAPSET
demo.
Cliccare su [OK]. Si noti che ora alcuni degli strumenti precedentemente disabilitati sono divenuti attivi.
Cliccare su Aggiungi raster GRASS, scegliere la mappa denominata gtopo30 e cliccare su [OK]. Verrà visualizzato il layer delle quote del terreno.
Cliccare su Aggiungi vettore GRASS, selezionare la mappa denominata alaska e cliccare su [OK]. Il confine Alaska verrà sovrapposto alla mappa gtopo30. Ora è possibile adattare le proprietà del layer come descritto nel capitolo Proprietà dei layer vettoriali, ovvero cambiare la trasparenza, il colore di riempimento e del contorno dell’elemento.
Caricare anche gli altri due layer vettoriali denominati rivers e airports e modificarne le proprietà.
As you see, it is very simple to load GRASS raster and vector layers in QGIS. See following sections for editing GRASS data and creating a new LOCATION. More sample GRASS LOCATIONs are available at the GRASS website at http://grass.osgeo.org/download/data.php.
Suggerimento
Caricare dati GRASS
Se si presentano problemi nel caricare dati o QGIS termina inaspettatamente, assicurarsi di aver caricato il plugin GRASS correttamente come descritto alla Sezione Avviare il plugin GRASS.
GRASS organizza i propri dati in cartelle alle quali si fa riferimento con la denominazione GISDBASE. Queste cartelle, spesso chiamate grassdata, devono essere create prima di iniziare a lavorare con il plugin GRASS in QGIS. In queste directory, i dati GRASS sono organizzati per progetti inseriti in sottocartelle chiamate LOCATION. Ogni LOCATION è definita da un sistema di coordinate, da una proiezione e dall’estensione geografica. La LOCATION può avere a sua volta molte sottocartelle denominate MAPSET usate per suddividere il progetto in diversi argomenti, sottoregioni o spazi di lavoro per i diversi membri del team che vi sta lavorando (Neteler & Mitasova 2008 Literature and Web References). Per analizzare layer raster e vettoriali con i moduli GRASS, bisogna importarli in una LOCATION GRASS (tuttavia con i moduli di GRASS r.external e v.external è possibile creare dei collegamenti a database supportati da GDAL/OGR senza doverli importare. Questa funzione non è consigliabile a chi si sta avvicinando a GRASS e non verrà descritta di seguito).
Figure GRASS location 1:
Per questo e per tutti i successivi esempi riguardanti GRASS GIS verrà usata la LOCATION alaska campione, nel sistema di riferimento Albers Equal Area, unità di misura in metri e creata dal set di dati campione di QGIS. Sarà utile scaricare ed installare il set di dati sul proprio computer (Dati campione).
Avviare QGIS e assicurarsi che il plugin GRASS sia caricato
Visualizzare lo shapefile alaska.shp (sezione Caricare uno shapefile) dal dataseti di dati alaska Dati campione.
Nella barra strumenti GRASS, cliccare sull’icona Nuovo mapset per avviare la procedura guidata.
Selezionare la cartella contenente il database GRASS (GISDBASE) denominata grassdata o crearne una nuova in cui ospitare la nuova LOCATION usando il gestore di file installato sul proprio computer. Cliccare su [Next].
Per creare un nuovo MAPSET in una LOCATION esistente (sezione Aggiungere un nuovo MAPSET) o per creare una nuova LOCATION, selezionare l’opzione Crea nuova location (figura figure_grass_location_2).
Inserire il nome della LOCATION - nell’esempio abbiamo usato alaska e cliccare su [Next].
Definire la proiezione cliccando sull’opzione Proiezione per abilitare l’elenco delle proiezioni.
Scegliere la proiezione Albers Equal Area Alaska (feet). Siccome ne conosciamo l’identificativo EPSG 2964, inserirlo nella casella di ricerca. (Nota: se si vuole ripetere il processo per un’altra LOCATION e non si è memorizzato l’identificativo EPSG della proiezione, cliccare sull’icona Stato SR a destra della barra di stato (sezione Lavorare con le proiezioni)).
Cliccare su Trova e inserire 2964 per selezionare la proiezione.
Cliccare su [Next].
Per definire l’estensione della regione predefinita, bisogna inserire i limiti della LOCATION verso nord, sud, est e ovest. Nel nostro esempio cliccare semplicemente sul pulsante Imposta estensione attuale di QGIS, per applicare l’estensione del layer caricato alaska.shp come estensione predefinita della regione GRASS.
Cliccare su [Next].
Abbiamo anche bisogno di definire un MAPSET interno alla LOCATION. Il nome è a scelta, nell’esempio abbiamo usato demo. Quando si crea una nuova LOCATION, GRASS crea automaticamente un MAPSET speciale chiamato PERMANENT designato a contenere i dati di base del progetto, l’estensione spaziale predefinita e la definizione del sistema di coordinate (Neteler & Mitasova 2008 Literature and Web References)
Controllare il riassunto per assicurarsi che le impostazioni siano corrette e cliccare su [Finish].
La nuova LOCATION alaska e i MAPSETs demo e PERMANENT vengono creati. Il set di lavoro impostato per il lavoro corrente è il MAPSETs demo.
Si noti che alcuni strumenti della barra di GRASS precedentemente disabilitati sono ora attivi.
Figure GRASS location 2:
Per quanto possa sembrare lunga, questa procedura costituisce un modo veloce per creare una LOCATION. La LOCATION alaska è ora pronta per l’importazione dei dati (sezione Importare dati nelle LOCATION GRASS). È possibile usare dati raster e vettoriali della LOCATION alaska del set di dati QGIS alaska (Dati campione) e procedere alla sezione Il modello dati vettoriale di GRASS.
Ogni utente ha accesso in scrittura solo ai MAPSET GRASS che ha creato. Ciò implica che oltre ad accedere ai propri MAPSET, l’utente può anche leggere i dati contenuti nei MAPSET creati da altri, ma può modificare o rimuovere solo i dati nei suoi MAPSET.
Tutti i MAPSET includono un file denominato WIND nel quale sono memorizzate le coordinate dei limiti della regione e la risoluzione spaziale impostata per i raster (Neteler & Mitasova 2008 Literature and Web References, sezione Lo strumento Regione di GRASS)).
Avviare QGIS e assicurarsi che il plugin GRASS sia caricato
Nella barra degli strumenti GRASS, cliccare sull’icona Nuovo mapset per avviare la procedura guidata di creazione del MAPSET.
Selezionare la cartella GRASS (GISDBASE) grassdata con il nome LOCATION alaska, nel quale si vuole aggiungere un ulteriore MAPSET, che chiameremo test.
Cliccare su [Next].
Con questa procedura possiamo creare un nuovo MAPSET all’interno di una LOCATION esistente e creare anche una nuova LOCATION contemporaneamento. Cliccare sull’opzione Selezionare location (figura figure_grass_location_2) e cliccare su [Next].
Inserire il nome text per il nuovo MAPSET. Più in basso nella finestra è visibile una lista di MAPSETs esistenti e i relativi proprietari.
Cliccare su [Next], controllare il riassunto per assicurarsi che le impostazioni siano corrette e cliccare su [Finish].
Questa Sezione fornisce un esempio su come importare dati raster e vettoriali nella LOCATION GRASS alaska fornita dal set di dati QGIS alaska. Verrà usata la mappa raster dell’uso del suolo landcover.img e il file vettoriale GML lakes.gml.
Avviare QGIS e assicurarsi che il plugin GRASS sia caricato
Cliccare ora sullo strumento Apri strumenti GRASS. Apparirà la finestra degli strumenti di GRASS (sezione Gli strumenti GRASS).
Per importare la mappa raster landcover.img, cliccare sul modulo r.in.gdal nella scheda Albero moduli. Questo modulo GRASS consente l’importazione di file supportati da GDAL in una LOCATION GRASS. Apparirà la finestra di dialogo del modulo r.in.gdal.
Navigare nella cartella raster nel set di dati QGIS alaska e selezionare il file landcover.img.
Come nome del raster in uscita inserire landcover_grass e cliccare su [Esegui]. Nella scheda Output è possibile verificare l’avanzamento del comando GRASS r.in.gdal -o input=/path/to/landcover.img output=landcover_grass.
Quando compare la dicitura Operazione conclusa con successo cliccare sul pulsante [Visualizza output]. Il layer raster landcover_grass è ora importato in GRASS e verrà visualizzato nella vista mappa di QGIS.
Per importare il vettore lakes.gml, usare il modulo v.in.ogr nella scheda Albero moduli. Questo modulo GRASS consente di importare i formati vettoriali supportati da OGR in una LOCATION GRASS. Apparirà la finestra di dialogo v.in.ogr.
Navigare alla cartella gml nel set di dati QGIS alaska e selezionare il file lakes.gml come file OGR.
Come nome del vettore in uscita inserire lakes_grass e cliccare su [Esegui].In questo esempio è possibile trascurare altre opzioni. Nella scheda Output è possibile verificare l’avanzamento del comando GRASS v.in.ogr -o dsn=/path/to/lakes.gml output=lakes_grass.
Quando compare la dicitura Operazione conclusa con successo cliccare sul pulsante [Visualizza output]. Il layer vettoriale lakes_grass è ora importato in GRASS e verrà visualizzato nella vista mappa di QGIS.
È importante comprendere il modello dati vettoriale di GRASS, per gestire nella maniera ottimale le attività di digitalizzazione.
In generale, GRASS usa un modello dati vettoriale topologico.
Questo significa che le aree non sono rappresentate con poligoni chiusi singoli, ma da uno o più contorni (boundary). Un contorno tra due aree adiacenti è digitalizzato una sola volta e condiviso da entrambe le aree. Perché un’area sia topologicamente corretta, i contorni devono essere connessi senza soluzione di continuità. Un’area è identificata (ed etichettata) dal suo centroide.
Oltre a contorni e centroidi, una mappa vettoriale può contenere anche punti e linee. Tutti questi elementi possono essere compresenti in un singolo layer vettoriale e saranno rappresentati con ’livelli’ differenti in una mappa vettoriale GRASS. Quindi in GRASS con ’layer’ non s’intende una mappa raster o vettoriale bensì un livello all’interno di un dato vettoriale. Questa è una distinzione molto importante da tenere presente (Sebbene sia possibile mescolare elementi geometrici di diverso tipo (punti, linee, contorni e centroidi), ciò è abbastanza insolito e perfino in GRASS viene usato solo in casi speciali come ad es. quando si esegue l’analisi di una rete vettoriale. Di solito è preferibile che elementi geometrici diversi vengano digitalizzati su file distinti).
È possibile salvare più ’livelli’ in un set di dati vettoriale. Per esempio campi, foreste e laghi possono essere salvati in un vettore. Foreste e laghi adiacenti possono condividere lo stesso contorno, ma avranno tabelle degli attributi distinte. È anche possibile assegnare attributi ai contorni. Ad esempio se il contorno tra un lago ed una foresta è una strada, questa può avere una diversa tabella degli attributi.
Il livello di un elemento è definito layer in GRASS. Layer è il numero che indica se c’è più di un gruppo geometrico nel set di dati vettoriale, ad es. se la geometria è foresta o lago. Attualmente tale indice può essere solo un numero, in versioni di GRASS successive saranno supportati anche stringhe di testo.
Gli attributi degli elementi geometrici possono essere memorizzati nella LOCATION GRASS in formato DBase o SQLITE3 o in database esterni come PostgreSQL, MySQL, Oracle, ecc.
Gli attributi contenuti nelle tabelle del database sono collegati alla geometria per il tramite di un valore ’category’.
’Category’ (key, ID) è un valore intero collegato alle primitive geometriche ed è usato come collegamento ad una colonna chiave nella tabella del database.
Suggerimento
Conoscere il modello dati vettoriale di GRASS
Il miglior modo per capire il modello dati vettoriale di GRASS e le sue capacità è quello di scaricare una delle molte guide (tutorial) di GRASS nelle quali tale modello è descritto più approfonditamente. Si veda http://grass.osgeo.org/gdp/manuals.php per informazioni, libri e guide in diverse lingue.
Per creare un nuovo layer vettoriale GRASS tramite il plugin GRASS cliccare sullo strumento Crea un nuovo vettore GRASS. Inserire un nome nella casella di testo e iniziare la digitalizzazione di punti, linee o poligoni, seguendo la procedura descritta alla sezione Digitalizzare e modificare layer vettoriali GRASS.
In GRASS è possibile gestire ogni tipo di geometria (punti, linee ed aree) in un singolo layer, in quanto viene impiegato un modello dati vettoriale topologico; di conseguenza non è necessario definire a priori il tipo di geometria che si intende utilizzare per un nuovo vettore. In questo il modello dati di GRASS si differenzia ad esempio dal formato shapefile di QGIS, che usa un modello vettoriale denominato Simple Feature (sezione Creare nuovi layer vettoriali).
Suggerimento
Creare una tabella attributi per un nuovo layer vettoriale GRASS
Se si desidera assegnare attributi alla geometria digitalizzata, accertarsi di definire lo schema della tabella prima di iniziare a digitalizzare (figura figure_grass_digitizing_5).
Gli strumenti di digitalizzazione per i layer vettoriali GRASS sono accessibili con l’icona|grass_edit| Modifica vettore GRASS nella barra degli strumenti GRASS. Assicurarsi di caricare un vettoriale GRASS e che esso sia selezionato nella legenda prima di attivare lo strumento di digitalizzazione. La figura figure_grass_digitizing_2 mostra la finestra di dialogo degli strumenti di digitalizzazione GRASS che viene mostrata quando si clicca sullo strumento di modifica. Gli strumenti e le impostazioni di questa barra saranno discussi nelle sezioni seguenti.
Suggerimento
Digitalizzare poligoni in GRASS
Per creare poligoni in GRASS, bisogna iniziare con il digitalizzarne i contorni, impostando preliminarmente il modo Nessuna categoria. Una volta chiuso il poligono, aggiungere un centroide (punto dell’etichetta) all’interno del contorno chiuso impostando preliminarmente la modalità Prossimo non in uso. Questa procedura è necessaria in quanto il modello di dati vettoriale topologico collega le informazioni sull’attributo del poligono sempre al centroide e non al contorno.
Barra degli strumenti di digitalizzazione
Nella figura figure_grass_digitizing_1 sono mostrate le icone della barra degli strumenti per la digitalizzazione del plugin GRASS. La tabella table_grass_digitizing_1 mostra le funzioni disponibili.
Figure GRASS digitizing 1:
Tabella Strumenti per la digitalizzazione in GRASS
Scheda Categoria
La scheda Category consente di definire il modo in cui i valori della categoria verranno assegnati al nuovo elemento geometrico.
Figure GRASS digitizing 2:
Modalità: modalità con la quale viene assegnata la categoria (colonna cat della tabella) alle geometrie digitalizzate.
Prossimo non in uso - applica il primo valore non utilizzato in ordine numerico crescente.
Inserimento manuale - definizione manuale della categoria da assegnare all’elemento.
Nessuna categoria - non assegna alcun valore all’elemento. Questa modalità è in genere usata ad esempio per i contorni dei poligoni ai quali la categoria viene collegata tramite il centroide.
Categoria- Il numero (ID) inserito o visualizzato viene associato ad ogni elemento digitalizzato. Viene usato per collegare ogni elemento geometrico ai relativi attributi.
Layer - Ogni elemento geometrico può essere collegato con molteplici tabelle attributo usando diversi livelli (“layer”) secondo il modello GRASS: il numero del layer predefinito è 1.
Suggerimento
Creare un livello GRASS aggiuntivo con QGIS
Se si vogliono aggiungere ulteriori livelli al set di dati, inserire semplicemente un numero nel campo ‘Layer’ e dare invio. Nella scheda Tabella sarà a questo punto possibile creare il nuovo schema degli attributi da associare a questo livello.
Scheda Preferenze
La scheda Preferenze consente di impostare la tolleranza per l’aggancio automatico tra elementi (snapping) in pixels dello schermo. La soglia definisce a quale distanza massima nuovi punti o linee sono agganciati ad altri nodi esistenti. Ciò aiuta ad evitare interruzioni o incroci tra contorni. Il valore preimpostato è 10 pixels.
Figure GRASS digitizing 3:
Scheda Simbologia
La scheda Simbologia consente di visualizzare e impostare la simbologia e i colori dei vari tipi geometrici nei vari stati topologici (ad es. contorni aperti/chiusi).
Figure GRASS digitizing 4:
Scheda Tabella
La scheda Tabella`fornisce informazioni sulla struttura della tabella per un determinato livello. È possibile aggiungere nuove colonne ad una tabella attributi esistente o creare un nuovo schema tabella per un nuovo layer vettoriale GRASS o per un nuovo livello (sezione :ref:`creating_new_grass_vectors).
Figure GRASS digitizing 5:
Suggerimento
Permessi di modifica in GRASS
È necessario essere il proprietario del MAPSET GRASS che si vuole editare. Non è possibile modificare dati in un MAPSET del quale non si è proprietari, anche se si possiedono su di esso permessi in scrittura.
L’impostazione di una regione (ovvero di una porzione di spazio geografico nella quale operare) è molto importante in GRASS, specialmente quando si lavora con dati raster. L’analisi vettoriale non è limitata all’impostazione della regione ma interessa tutta l’estensione del layer. Tutti i raster di nuova creazione avranno l’estensione e la risoluzione spaziale della regione GRASS definita, indipendentemente dalla loro estensione e risoluzione originale. L’impostazione corrente della regione GRASS è salvata nel file $LOCATION/$MAPSET/WIND che ne definisce i limiti nord, sud est e ovest, il numero di righe e colonne e la risoluzione spaziale in senso orizzontale e verticale.
È possibile abilitare/disabilitare la visualizzazione della regione di GRASS nella vista mappa in QGIS usando il pulsante Visualizza la regione di GRSS attuale.
Con lo strumento Modifica la regione di GRAS attuale è possibile aprire una finestra di dialogo per cambiare le impostazioni correnti della regione e la simbologia con la quale il rettangolo che la rappresenta viene visualizzato nella vista mappa di QGIS. Inserire i nuovi limiti della regione e la risoluzione e cliccare su [OK] . Lo strumento consente anche di selezionare l’estensione della regione interattivamente con il mouse nella vista mappa di QGIS. Cliccando con il tasto sinistro del mouse nella vista mappa si imposta il primo angolo del rettangolo che definirà la regione e cliccando in un altro punto lo si chiuderà: cliccare su [OK] per confermare.
Il modulo GRASS g.region mette a disposizione molti più parametri per definire l’estensione della regione e la risoluzione con la quale si vuole condurre l’analisi raster. Si possono usare questi parametri tramite lo strumento GRASS appropriato Gli strumenti GRASS.
Cliccando su Apri strumenti GRASS si ha accesso alle funzionalità dei moduli GRASS con i quali lavorare nella LOCATION e nel MAPSET impostati. Per usare gli strumenti di GRASS è necessario aprire una LOCATION e un MAPSET sui quali si abbiano permessi di scrittura (in genere concessi se si è l’utente che ha creato il MAPSET). Ciò è necessario in quanto i nuovi layer raster o vettoriali creati durante l’analisi devono poter essere scritti nella LOCATION e nel MAPSET selezionati.
Figure GRASS toolbox 1:
La shell di GRASS fornisce accesso a praticamente tutti gli oltre 330 moduli GRASS in modalità riga di comando. Per offrire un ambiente di lavoro maggiormente user-friendly, circa 200 di questi moduli e loro relative funzionalità sono presentati in finestre di dialogo. Questi moduli sono raggruppati in blocchi tematici: è disponibile una funzione di ricerca.
La shell di GRASS fornisce accesso a praticamente tutti gli oltre 300 moduli GRASS in modalità riga di comando. Per offrire un ambiente di lavoro maggiormente user-friendly, circa 200 di questi moduli e loro relative funzionalità sono presentati in finestre di dialogo. Questi moduli sono raggruppati in blocchi tematici: è disponibile una funzione di ricerca.
È possibile trovare la lista completa dei moduli GRASS accessibili tramite l’interfaccia grafica di QGIS nel wiki di GRASS: http://grass.osgeo.org/wiki/GRASS-QGIS_relevant_module_list.
È possibile personalizzare il contenuto della finestra di dialogo degli strumenti GRASS: la procedura è descritta nella sezione Personalizzare gli strumenti GRASS.
Come mostrato in figura figure_grass_toolbox_1 , è possibile ricercare il modulo GRASS desiderato per aree tematiche nella scheda Albero moduli o nella scheda Lista moduli che permette la ricerca per parola chiave.
Clicking on a graphical module icon a new tab will be added to the toolbox dialog providing three new sub-tabs Options, Output and Manual.
Opzioni
La scheda Opzioni fornisce una finestra semplificata nel quale di solito è possibile selezionare un layer raster o vettoriale ed inserire ulteriori opzioni specifiche per l’esecuzione del modulo.
Figure GRASS module 1:
Per mantenere la leggibilità della finestra non sempre sono presenti tutte le opzioni: qualora si volessero usare ulteriori parametri per il modulo è necessario avviare la shell di GRASS ed eseguire il modulo dalla riga di comando.
Una nuova caratteristica di QGIS 1.8.0 è il supporto per un pulsante Mostra le opzioni avanzate nella scheda Opzioni della finestra di dialogo semplificata di un modulo. Al momento tale funzionalità è disponibile per pochi moduli, ma probabilmente sarà estesa ad altri moduli nelle prossime versioni di QGIS. Ciò permetterà di sfruttare appieno le potenzialità dei moduli di GRASS senza dover usare la shell.
Output
Figure GRASS module 2:
The Output tab provides information about the output status of the module. When you click the [Run] button, the module switches to the Output tab and you see information about the analysis process. If all works well, you will finally see a Successfully finished message.
Manuale
Figure GRASS module 3:
La scheda Manuale mostra la pagina di aiuto in formato HTML del modulo GRASS scelto: permette di verificare la disponibilità di ulteriori parametri o ottenere una conoscenza più approfondita delle operazioni che il modulo può eseguire. Alla fine di ogni pagina di manuale vi sono ulteriori collegamenti al Main Help index, al Thematic index o al Full index. Questi link forniscono le stesse informazioni che si avrebbero usando il modulo g.manual.
Suggerimento
Mostrare i risultati immediatamente
Se si desidera visualizzare il risultato di un’analisi immediatamente nella vista mappa, è possibile cliccare sul pulsante Visualizza Output nella porzione inferiore della scheda.
Gli esempi che seguono mostrano le potenzialità di alcuni moduli GRASS.
Come primo esempio, deriviamo le curve di livello a partire da un modello digitale di elevazione (DEM): si assume che la LOCATION Alaska sia impostata come descritto nella sezione Importare dati nelle LOCATION GRASS.
Caricare il DEM gtopo30 cliccando su Aggiungi raster GRASS e selezionare gtopo30 dal mapset demo.
Nell’albero dei moduli cliccare su Raster ‣ Gestione superficie ‣ Genera curve di livello vettoriali.
Cliccando su r.contour si aprirà la finstra di dialogo dello strumento com spiegato in Lavorare con i moduli GRASS. Il raster gtopo30 dovrebbe apparire in Nome della mappa raster in input.
Inserire in Incrementa fra le isoipse il valore 100. (per creare curve di livello ad intervalli di 100 metri)
Inserire in Nome del vettoriale in output il nome ctour_100.
Cliccare su [Esegui] ed attendere fino alla comparsa del messaggio Operazione conclusa con successo: quindi cliccare su [Visualizza] risultato e su [Chiudi].
Dal momento che la regione è pittosto estesa, il comando richiede del tempo. Una volta terminata l’operazione è possibile modificare le proprietà del nuovo layer vettoriale come descritto in Proprietà dei layer vettoriali.
Ingrandendo una porzione della mappa in un’area più montagnosa si potrà notare come le curve di livello appaiano spigolose. In GRASS è disponibile il modulo v.generalize per alterare leggermente un vettore senza modificarne la forma generale: il modulo utilizza diversi algoritmi, ognuno per uno scopo specifico. Alcuni algoritmi (es. Douglas Peuker e Vertex reduction) semplificano una linea rimuovendo alcuni vertici: il risultato sarà più veloce da caricare. Tale tipo di algoritmo è ad esempio molto utile nel caso in cui si abbia una mappa vettoriale molto dettagliata, ma si sta lavorando ad una scala molto piccola per cui tanto dettaglio non è necessario.
Suggerimento
Semplifica geometrie
Si noti che lo strumento Semplifica geometrie di fTools opera allo stesso modo dell’algoritmo Douglas-Peuker di v.generalize.
Ad ogni modo, lo scopo dell’esempio è diverso: le curve di livello create con r.contour hanno angoli molto acuti che devono essere smussati. Tra gli algoritmi di v.generalize Chaikens (o anche Hermite splines) fa al caso nostro. Si noti che l’algoritmo potrebbe aggiungere dei vertici, rendendo il caricamento della mappa ancora più lento.
Aprire gli strumenti di GRASS e lanciare il modulo Vettore ‣ Elabora mappa ‣ Generalizzazione e cliccare su v.generalize.
Controllare che ‘ctour_100’ appaia come Nome della mappa vettoriale in input.
Scegliere Chaiken’s come algoritmo di generalizzazione ed inserire il Nome del vettoriale in output ‘ctour_100_smooth’ e cliccare su [Esegui].
Il processo richiederà un po’ di tempo. Una volta che viene visualizzato Operazione conclusa con successo, cliccare su [Visualizza output] e poi su [Chiudi].
È possibile modificare il colore del layer vettoriale in modo da renderlo ben visibile sul raster si sfondo. Si potrà notare come le curve di livello ora appaiano meno spigolose.
Figure GRASS module 4:
Suggerimento
Altri usi di r.contour
La procedura appena descritta può essere usata in situazioni equivalenti. Se si ha un raster delle precipitazioni, ad esempio, si può usare r.contour per derivare le isoiete (curve a precipitazione costante).
Ci sono diversi modi per visualizzare dati di elevazione e dare un effetto 3D alla vista. L’uso delle curve di livello è uno dei metodi più utilizzato, sopratutto nella produzione di mappe topografiche. Un altro modo consiste nell’utilizzare l’ombreggiatura. L’ombra viene derivata da un DEM, calcolando prima pendenze ed orientamento, poi simulando la posizione del sole nel cielo per assegnare un valore di riflettanza per ogni cella del raster: in tal modo le pendenze in ombra saranno più scure di quelle esposte al sole.
Caricare il raster gtopo30, aprire gli strumenti di GRASS e lanciare il modulo Analisi spaziali ‣ Analisi geomorfologica.
Cliccare r.shaded.relief per aprire il modulo.
Impostare l’azimuth da 270 a 315.
Inserire gtopo30_shade per il nuovo raster delle ombreggiature e cliccare su [Esegui].
Quando il processo sarà completato, aggiungere il raster ombreggiatura alla vista mappa.
Il nuovo raster verrà visualizzato in scala di grigi: per vedere contemporaneamente l’ombreggiatura ed i colori di gtopo30, portare gtopo30_shade sotto gtopo30 nella legenda, quindi aprire le Proprietà di gtopo30, andare nella scheda Trasparenza ed impostare il livello di trasparenza al 25%.
Si dovrebbe vedere gtopo30 sopra la mappa di ombreggiatura in scala di grigi. Per riuscire a visualizzare appieno gli effetti dell’ombreggiatura, deselezionare gtopo30_shade.
Usare la shell di GRASS
Il plugin GRASS è orientato principalmente agli utenti che non conoscono GRASS ed i suoi moduli, con relative opzione, per cui molti moduli non mostrano tutte le possibili opzione ed altri non sono affatto presenti. La shell di GRASS consente di accedere ai moduli che non appaiono nell’interfaccia grafica ed alle opzioni aggiuntive di quelli che invece ci sono. Il seguente esempio mostra l’uso di un’opzione del modulo r.shaded.relief.
Figure GRASS module 5:
The module r.shaded.relief can take a parameter zmult which multiplies the elevation values relative to the X-Y coordinate units so that the hillshade effect is even more pronounced.
Caricare gtopo30 ed aprire la shell di GRASS. Nella shell scrivere il comando r.shaded.relief map=gtopo30 shade=gtopo30_shade2 azimuth=315 zmult=3 e premere [invio].
Quando il comando ha terminato, spostarsi nella scheda Browse della finestra di dialogo degli strumenti GRASS e fare doppio click sul nuovo raster gtopo30_shade2 per visualizzarlo in QGIS.
Impostare le proprietà del raster così come descritto in precedenza. L’effetto 3D dovrebbe apparire più pronunciato rispetto alla mappa creata in precedenza.
Figure GRASS module 6:
Il prossimo esempio tratta di un modulo GRASS che può aggregare dati raster ed aggiungere colonne di statistiche per ogni poligono di una mappa vettoriale.
Importare in GRASS lo shapefile trees nella cartella shapefiles Importare dati nelle LOCATION GRASS.
Prima di proseguire bisogna aggiungere i centroidi ai poligoni per farne delle aree vettoriali secondo il modello dati di GRASS.
Aprire gli strumenti di GRASS e lanciare il modulo Vettore ‣ Gestisci elementi, e aprire il modulo v.centroids.
Inserire come Nome del vettoriale in output ‘forest_areas’ e lanciare il modulo.
Caricare``forest_areas`` e visualizzare le categorie - deciduous, evergreen, mixed - con colori differenti. Aprire le Proprietà del layer, andare nella scheda Stile, scegliere Stile ‘Categorizzato’ e impostare ‘VEGDESC’ come campo di classificazione. (sezione sec_symbology).
Aprire il modulo Vettore ‣ Aggiornamento di un vettore da altre mappe.
Cliccare su v.rast.stats per aprire il modulo e inserire gtopo30 e forest_areas.
Inserire column prefix elev, e cliccare su [Esegui]: l’operazione potrebbe durare molto tempo.
Aprire la tabella degli attributi di forest_areas e verificare come sianto state aggiunte diverse nuove colonne, come ad esempio elev_min, elev_max, elev_mean per ogni tipo di poligono.
Un’altra utile funzione tra quelle presenti negli strumenti GRASS è il browser delle LOCATION. In figura figure_grass_module_7 è possibile vedere un esempio che mostra la LOCATION impostata e i relativi MAPSETs.
Nella parte sinistra della finestra del browser si può navigare attraverso tutti i MAPSETs contenuti nella LOCATION impostata. La porzione di destra mostra invece alcuni metadati del raster o del vettoriale selezionato, come la risoluzione, l’estensione spaziale, la fonte del dato, il percorso alla tabella attributi associata per i dati vettoriali e lo storico comandi che ha generato quel dato.
Figure GRASS module 7:
La barra degli strumenti nella scheda Browser offre i seguenti strumenti per la gestione della LOCATION:
Gli strumenti Rinomina la mappa selezionata e
Elimina la mappa selezionata funzionano solo su mappe contenute nel MAPSET attivo. Tutti gli altri strumenti funzionano anche con layer raster e vettoriali di altri MAPSET.
Praticamente tutti i moduli GRASS possono essere aggiunti nella finestra di dialogo degli strumenti GRASS. Per incorporare i file XML di configurazione dei moduli è fornita un’interfaccia XML nella quale è possibile definire l’aspetto del modulo e i parametri da visualizzare nella finestra di dialogo degli strumenti.
Un esempio di file XML che genera il modulo v.buffer (v.buffer.qgm) ha il seguente aspetto:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
<qgisgrassmodule label="Vector buffer" module="v.buffer">
<option key="input" typeoption="type" layeroption="layer" />
<option key="buffer"/>
<option key="output" />
</qgisgrassmodule>
Il parser legge questa definizione e crea una nuova scheda nella finestra di dialogo degli strumenti GRASS quando si seleziona il modulo. Informazioni più dettagliate su come aggiungere moduli, cambiare i gruppi di moduli ecc. sono reperibile sul Wiki di QGIS all’indirizzo http://hub.qgis.org/projects/quantum-gis/wiki/Adding_New_Tools_to_the_GRASS_Toolbox