12.1. Lesson: Impostazione GRASS

Usare GRASS in QGIS richiede di pensare all’interfaccia in un modo leggermente diverso. Ricordati che non stai lavorando in QGIS direttamente, ma lavori in GRASS via QGIS. Quindi, assicurati di aver installato QGIS Desktop con il supporto di Grass.

win Per aprire una sessione QGIS con GRASS disponibile su Windows devi fare clic sull’icona QGIS Desktop with GRASS

Obiettivo di questa lezione: Iniziare un progetto GRASS in QGIS.

12.1.1. basic Follow Along: |Iniziare una nuova sessione GRASS

Per avviare GRASS da QGIS, devi attivarlo come un qualsiasi altro plugin:

  1. Per prima cosa, apri un nuovo progetto QGIS.

  2. In Gestisci ed Installa Plugin…, attiva GRASS nell’elenco:

    ../../../_images/enable_grass.png

    Appariranno la barra degli strumenti e il pannello di GRASS:

    ../../../_images/grass_toolbar.png

    Fig. 12.10 Barra degli strumenti GRASS

    ../../../_images/grass_panel.png

    Fig. 12.11 Pannello GRASS

Il pannello GRASS non è attivo perché, prima di poter utilizzare GRASS, devi creare un Mapset. GRASS lavora sempre in un ambiente di database, il che significa che devi importare tutti i dati che vuoi utilizzare in un database GRASS.

Il database di GRASS ha una struttura semplice, anche se a prima vista sembra molto complicata. La cosa più importante che devi sapere è che il livello superiore del database è la Locazione. Ogni Locazione può contenere diversi Mapset: in ogni Mapset si trova il Mapset PERMANENT perché viene creato di default da GRASS. Ogni Mapset contiene i dati (raster, vettoriali, ecc.) in una struttura particolare, ma non preoccuparti, GRASS se ne occuperà per te.

Ricordati: Location contiene Mapset che contiene i dati. Per maggiori informazioni visita il sito web di GRASS https://grass.osgeo.org/grass77/manuals/grass_database.html.

../../../_images/grass_database.png

Fig. 12.12 Struttura del database di GRASS (dalla documentazione di GRASS)

12.1.2. basic Follow Along: Avviare un Nuovo Progetto GRASS

  1. Fai clic sul menu Plugins –> GRASS –> Nuovo Mapset:

    ../../../_images/grass_menu.png

    Ti verrà chiesto di scegliere la posizione del database di GRASS.

  2. Impostala come cartella che verrà utilizzata da GRASS per configurare il suo database:

    ../../../_images/grass_folder.png
  3. Fai clic su Successivo.

GRASS ha bisogno di creare una Location, che descrive l’estensione massima dell’area geografica in cui lavorerai, nota anche come Grass Region.

Nota

La Region è estremamente importante per GRASS perché descrive l’area in cui tutti i layer verranno presi in considerazione da GRASS. Tutto ciò che si trova all’esterno non verrà considerato. Non preoccuparti, puoi sempre modificare l’estensione della Regione di GRASS dopo che la Location è stata creata.

  1. Denomina la nuova location SouthAfrica:

    ../../../_images/new_location.png
  2. Fai clic su Successivo.

  3. Lavoreremo con WGS 84, quindi cerca e seleziona questo SR:

    ../../../_images/wgs_84_selected.png
  4. Fai clic su Successivo.

  5. Ora seleziona la regione South Africa dal menu a tendina e fai clic su Imposta:

    ../../../_images/set_south_africa.png
  6. Fai clic su Successivo.

  7. Crea un mapset, ovvero il file della mappa con cui lavorerai.

    ../../../_images/grass_mapset.png

    Non appena terminato, ti si presenta una finestra di dialogo con un riepilogo di tutte le informazioni immesse.

    ../../../_images/grass_final.png
  8. Fai clic su Fine.

  9. Fai clic su OK nella finestra di dialogo successiva.

Vedrai che il Pannello GRASS diventerà attivo e potrai iniziare a usare tutti gli strumenti di GRASS. Fai clic su OK nella finestra di dialogo successiva.

12.1.3. basic Follow Along: Caricare Dati Vettoriali in GRASS

Ora hai una mappa vuota e prima di poter iniziare a utilizzare tutti gli strumenti di GRASS devi caricare i dati nel database di GRASS, in particolare nel Mapset. Non puoi utilizzare gli strumenti di GRASS con i layer che non sono stati caricati in un Mapset di GRASS.

Esistono diversi modi per caricare i dati nel database di GRASS. Cominciamo con il primo.

basic Follow Along: Caricare i dati utilizzando il Browser QGIS

Nella sezione Il Pannello di Navigazione abbiamo visto che il modo più semplice e veloce per caricare i dati in QGIS è il pannello Browser.

I dati GRASS vengono riconosciuti dal Browser QGIS come dati GRASS reali e lo si nota perché si vede l’icona GRASS accanto al Mapset GRASS. Inoltre, si vedrà l’icona grassMapsetOpen accanto al Mapset aperto.

../../../_images/grass_browser.png

Nota

Vedrai una replica della Location GRASS come normale cartella: i dati GRASS Mapset sono quelli contenuti nella cartella grassLogo.

Puoi trascinare e rilasciare facilmente i layer da una cartella al Mapset di GRASS.

Proviamo a importare il layer roads nel Mapset grass_mapset della Location SouthAfrica.

Vai nel Browser e trascina semplicemente il layer roads dal file training_data.gpkg GeoPackage nel Mapset grass_mapset.

../../../_images/grass_browser_import.png

Ecco fatto! Se espando il Mapset, si vedrà il layer importato roads. Ora puoi caricare in QGIS il layer importato come tutti gli altri layer.

Suggerimento

Puoi anche caricare i layer dal pannello Legenda layer a Mapset nel pannello Browser. Questo velocizzerà incredibilmente il tuo flusso di lavoro!

basic Follow Along: Caricare i dati utilizzando il Pannello GRASS

Utilizzeremo ora il metodo più lungo per caricare il layer rivers.shp nello stesso Mapset.

  1. Carica i dati in QGIS come di consueto. Utilizzare il dataset rivers.shp (che si trova nella cartella exercise_data/shapefile/).

  2. Dopo averlo caricato, fai clic sulla casella Filtro del pannello GRASS e individua lo strumento di importazione vettoriale inserendo il termine v.in.ogr.qgis:

    Avvertimento

    Esistono 2 strumenti simili: v.in.ogr.qgis e v.in.ogr.qgis.loc. Stiamo cercando il primo.

    ../../../_images/grass_panel_import.png

    La v sta per vettore, in indica una funzione per importare i dati nel database di GRASS, ogr è la libreria software utilizzata per leggere i dati vettoriali e qgis significa che lo strumento cercherà un vettore tra quelli già caricati in QGIS.

  3. Una volta trovato questo strumento, fai clic su di esso per visualizzare lo strumento stesso. Scegli il layer rivers nel riquadro Layer caricato e scrivilo e denominalo g_fiumi per evitare confusione:

    ../../../_images/grass_tool_selected.png

    Nota

    hard Nota le opzioni di importazione aggiuntive fornite in Opzioni avanzate. Queste includono la possibilità di aggiungere una clausola WHERE per la query SQL utilizzata per importare i dati.

  4. Fai clic su Esegui per avviare l’importazione.

  5. Al termine, fai clic sul pulsante Visualizza output per visualizzare il layer GRASS appena importato nella mappa.

  6. Chiudi prima lo strumento di importazione (fai clic sul pulsante Chiudi all’immediata destra di Visualizza output), quindi chiudi la finestra Strumenti GRASS.

  7. Rimuovi il layer originale rivers.

Ora ti rimane solo il layer GRASS importato e visualizzato nella mappa di QGIS.

12.1.4. basic Follow Along: Caricare dati raster in GRASS

Puoi importare un layer raster nello stesso modo in cui abbiamo importato i layer vettoriali.

Importeremo nel Mapset di GRASS il layer srtm_41_19_4326.tif.

Nota

il layer raster è già nel SR corretto, WGS 84. Se hai layer in SR diversi, devi riproiettarli nello stesso SR del Mapset di GRASS.

  1. Carica il layer srtm_41_19_4326.tif in QGIS

  2. Apri nuovamente la finestra di dialogo Strumenti GRASS.

  3. Fai clic sulla scheda Elenco moduli.

  4. Cerca r.in.gdal.qgis e fai doppio clic sullo strumento per aprire la finestra di dialogo.

  5. Impostalo in modo che il layer di input sia srtm_41_19_4326.tif e l’output sia g_dem.

    ../../../_images/g_dem_settings.png
  6. Fai clic su Esegui.

  7. Al termine del processo, fai clic su Visualizza output.

  8. Chiudi la scheda corrente e quindi Chiudi l’intera finestra di dialogo.

    ../../../_images/g_dem_result.png
  9. Puoi ora rimuovere il layer originale srtm_41_19_4326.tif.

12.1.5. basic Try Yourself Aggiungere layer a Mapset

Prova a importare nel Mapset di GRASS i layer vettoriali water.shp e places.shp dalla cartella exercise_data/shapefile/. Come abbiamo fatto per rivers, rinominare i layer importati come g_water e g_places per evitare confusione.

12.1.6. basic Aprire un Mapset GRASS esistente

Se hai un Mapset GRASS esistente, puoi facilmente riaprirlo in un’altra sessione di QGIS.

Hai diversi metodi per aprire Mapset di GRASS, vediamone alcuni.

Chiudiamo il Mapset facendo clic sul pulsante Chiudi Mapset della finestra di dialogo Strumenti GRASS.

basic Follow Along: Utilizzare il plugin GRASS

  1. Fai clic sul menu Plugins –> GRASS –> Apri Mapset accanto al menu Plugins –> GRASS –> Nuovo Mapset che abbiamo visto nella sezione precedente.

  2. Naviga fino alla cartella del database di GRASS: attenzione! Devi scegliere la cartella principale, non quella delle mappe di GRASS. Infatti GRASS leggerà tutte le ``Location”” del database e tutti i ``Mapset”” di ogni ``Location””:

    ../../../_images/grass_open_mapset1.png
  3. Scegli la Location SouthAfrica e il Mapset grass_mapset che abbiamo creato in precedenza.

Ecco fatto! Il Pannello GRASS diventerà attivo, il che significa che il Mapset è stato aperto correttamente.

basic Follow Along: Usare il Browser di QGIS

Ancora più veloce e semplice è aprire un Mapset utilizzando il Browser di QGIS:

  1. Chiudi il Mapset (se è aperto) facendo clic sul pulsante Chiudi Mapset della finestra Strumenti GRASS.

  2. Nel Browser QGIS, naviga nella cartella del database di GRASS.

  3. Fai clic con il tasto destro del mouse sul Mapset (ricordati che il Mapset ha l’icona grassLogo di GRASS accanto). Vedrai visualizzate alcune opzioni.

  4. Fai clic su Apri Mapset:

    ../../../_images/grass_open_mapset_browser.png

Il Mapset è ora aperto e pronto all’uso!

Suggerimento

Facendo clic con il tasto destro del mouse su un Mapset GRASS, puoi trovare molte impostazioni diverse. Prova a esplorarle e a vedere tutte le opzioni utili.

12.1.7. In Conclusion

Il flusso di lavoro di GRASS per l’inserimento dei dati è leggermente diverso dal metodo di QGIS, perché GRASS carica i dati in una struttura di database spaziale. Tuttavia, utilizzando QGIS come interfaccia, puoi semplificare l’impostazione di mapset GRASS utilizzando i layer esistenti in QGIS come fonti di dati per GRASS.

12.1.8. What’s Next?

Ora che i dati sono stati importati in GRASS, possiamo vedere le operazioni di analisi avanzate che GRASS offre.