Viktigt

Översättning är en gemenskapsinsats du kan gå med i. Den här sidan är för närvarande översatt till 100.00%.

12.1. Lektion: Uppsättning av GRASS

Att använda GRASS i QGIS kräver att du tänker på gränssnittet på ett lite annorlunda sätt. Kom ihåg att du inte arbetar direkt i QGIS, utan i GRASS via QGIS. Se därför till att du har installerat QGIS Desktop med Grass-stöd.

win För att öppna en QGIS-session med GRASS som finns tillgänglig i Windows måste du klicka på ikonen QGIS Desktop with GRASS.

Målet för den här lektionen: Att starta ett GRASS-projekt i QGIS.

12.1.1. ★☆☆ Följ med: Starta en ny GRASS-session

För att starta GRASS från QGIS måste du aktivera det som med alla andra tillägg:

  1. Öppna först ett nytt QGIS-projekt.

  2. I Tilläggshanterare, aktivera grassTools GRASS 8 i listan:

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

    Verktygsfältet GRASS och GRASS-panelen visas:

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

    Fig. 12.118 GRASS verktygsfält och panel

GRASS-panelen är inte aktiv eftersom du måste skapa ett Mapset innan du kan använda GRASS. GRASS arbetar alltid i en databasmiljö, vilket innebär att du måste importera alla data som du vill använda till en GRASS-databas.

GRASS-databasen har en enkel struktur, även om den vid första anblicken verkar mycket komplicerad. Det viktigaste du bör veta är att den övre nivån i databasen är Location. Varje Location kan innehålla olika Mapset: i varje Mapset hittar du PERMANENT Mapset eftersom det skapas som standard av GRASS. Varje Mapset innehåller data (raster, vektor, etc) i en särskild struktur, men oroa dig inte, GRASS tar hand om detta åt dig.

Kom bara ihåg: Location innehåller Mapset som innehåller data. För mer information besök GRASS webbplats.

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

Fig. 12.119 GRASS databasstruktur (från GRASS-dokument)

12.1.2. ★☆☆ Följ med: Starta ett nytt GRASS-projekt

  1. Klicka på menyn Tillägg ► GRASS ► New Mapset:

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

    Du blir ombedd att välja plats för GRASS-databasen.

  2. Ange den som den katalog som GRASS kommer att använda för att skapa sin databas:

    ../../../_images/grass_folder.png
  3. Klicka på Next.

GRASS behöver skapa en Location, som beskriver den maximala omfattningen av det geografiska område du kommer att arbeta i, även känt som Grass Region.

Observera

region är extremt viktigt för GRASS eftersom det beskriver det område inom vilket alla lager kommer att beaktas för GRASS. Allt som ligger utanför kommer inte att beaktas. Oroa dig inte, du kan alltid ändra omfattningen av GRASS-regionen efter att platsen har skapats

  1. Kalla den nya platsen för SouthAfrica:

    ../../../_images/new_location.png
  2. Klicka på Next.

  3. Vi kommer att arbeta med WGS 84, så sök efter och välj denna CRS:

    ../../../_images/wgs_84_selected.png
  4. Klicka på Next.

  5. Välj nu regionen South Africa från rullgardinsmenyn och klicka på Set:

    ../../../_images/set_south_africa.png
  6. Klicka på Next.

  7. Skapa en mapset, som är den kartfil som du kommer att arbeta med.

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

    När du är klar visas en dialogruta med en sammanfattning av all information som har matats in.

    ../../../_images/grass_final.png
  8. Klicka på Finish.

  9. Klicka på OK i dialogrutan för framgång.

Du kommer att se att GRASS-panelen blir aktiv och att du kan börja använda alla GRASS-verktyg.

12.1.3. ★☆☆ Följ med: Läsa in vektordata i GRASS

Du har nu en tom karta och innan du kan börja använda alla GRASS-verktyg måste du ladda in data i GRASS-databasen, speciellt i Mapset. Du kan inte använda GRASS-verktyg med lager som inte är inlästa i ett GRASS Mapset.

Det finns många olika sätt att ladda data i GRASS-databasen. Låt oss börja med det första.

★☆☆ Följ med: Ladda data med hjälp av QGIS Browser

I avsnitt ★☆☆ Bläddrarpanelen såg vi att det enklaste och snabbaste sättet att ladda data i QGIS är att använda Browser Panel.

GRASS-data känns igen från QGIS Browser som verkliga GRASS-data och du kan märka det eftersom du ser GRASS-ikonen bredvid GRASS-kartuppsättningen. Dessutom kommer du att se ikonen grassMapsetOpen bredvid det Mapset som öppnas.

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

Observera

Du kommer att se en replikering av GRASS Location som en normal mapp: GRASS Mapset data är de som finns i mappen grassLogo

Du kan enkelt dra och släppa lager från en mapp till GRASS Mapset.

Låt oss försöka importera lagret roads till kartuppsättningen grass_mapset för platsen SouthAfrica.

Gå till bläddraren och dra helt enkelt lagret roads från GeoPackage-filen training_data.gpkg till Mapset grass_mapset.

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

Nu är det klart! Om du expanderar Mapset kommer du att se det importerade roads-lagret. Du kan nu ladda det importerade lagret i QGIS, precis som alla andra lager.

Tips

Du kan också ladda lager från Layer Legend Panel till Mapset i Browser Panel. Detta kommer att påskynda ditt arbetsflöde otroligt!

★☆☆ Följ med: Ladda data med hjälp av GRASS-panelen

Vi kommer nu att använda long-metoden för att ladda rivers.shp-lagret i samma Mapset.

  1. Ladda in data i QGIS som vanligt. Använd datasetet rivers.shp (finns i mappen exercise_data/shapefile/)

  2. Så snart den har laddats, klicka på Filter i GRASS Panel och hitta vektorimportverktyget genom att ange termen v.in.ogr.qgis (finns under File management ► Import into GRASS ► Import vector into GRASS):

    Varning

    Det finns 2 liknande verktyg: v.in.ogr.qgis och v.in.ogr.qgis.loc. Vi letar efter den första.

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

    v står för vektor, in betyder en funktion för att importera data till GRASS-databasen, ogr är det programbibliotek som används för att läsa vektordata och qgis betyder att verktyget kommer att leta efter en vektor bland de vektorer som redan finns inlästa i QGIS.

  3. När du har hittat det här verktyget klickar du på det för att få fram själva verktyget. Välj lagret rivers i rutan Loaded Layer och skriv och namnge det g_rivers för att förhindra förvirring:

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

    Observera

    ★★★★ Observera de extra importalternativ som finns under Avancerade alternativ. Dessa inkluderar möjligheten att lägga till en WHERE-klausul för den SQL-fråga som används för att importera data.

  4. Klicka på Run för att påbörja importen.

  5. När det är klart klickar du på knappen View output för att se det nyligen importerade GRASS-lagret på kartan.

  6. Stäng först importverktyget (klicka på knappen Close till höger om View output) och stäng sedan fönstret GRASS Tools.

  7. Ta bort det ursprungliga rivers-lagret.

Nu har du bara kvar det importerade GRASS-lagret som visas på QGIS-kartan.

12.1.4. ★☆☆ Följ med: Läsa in rasterdata i GRASS

Du kan importera ett rasterlager på samma sätt som vi importerar vektorlager.

Vi kommer att importera lagret srtm_41_19_4326.tif till GRASS Mapset.

Observera

rasterlagret är redan i rätt CRS, WGS 84. Om du har lager i olika CRS måste du omprojicera dem i samma CRS i GRASS Mapset

  1. Ladda lagret srtm_41_19_4326.tif i QGIS

  2. Öppna dialogrutan GRASS Tools igen.

  3. Klicka på fliken Modules.

  4. Sök efter r.in.gdal.qgis (finns under File management ► Import into GRASS ► Import raster into GRASS ► Import raster into GRASS from QGIS view) och dubbelklicka på verktyget för att öppna verktygets dialogruta.

  5. Ställ in det så att inmatningslagret är srtm_41_19_4326.tif och utdata är g_dem.

    ../../../_images/g_dem_settings.png
  6. Klicka på Run.

  7. När processen är klar klickar du på View output.

  8. Close den aktuella fliken, och sedan Close hela dialogen.

    ../../../_images/g_dem_result.png
  9. Du kan nu ta bort det ursprungliga srtm_41_19_4326.tif-lagret.

12.1.5. ★☆☆ Prova själv: Lägg till lager i Mapset

Försök att importera vektorlagren water.shp och places.shp från mappen exercise_data/shapefile/ till GRASS Mapset. Som vi gjorde för rivers byt namn på det importerade lagret till g_water och g_places för att undvika förvirring

12.1.6. ★☆☆ Öppna en befintlig GRASS Mapset

Om du har en befintlig GRASS Mapset kan du enkelt öppna den igen i en annan session av QGIS.

Du har flera metoder för att öppna en GRASS Mapset, låt oss utforska några av dem.

Nu stänger vi Mapset genom att klicka på knappen Close Mapset i fönstret GRASS Tools.

★☆☆ Följ med: Använda tillägget GRASS

  1. Klicka på menyn Tillägg ► GRASS ► Open Mapset.

  2. Bläddra till GRASS databasmapp: var försiktig! Du måste välja den överordnade mappen, inte den för GRASS Mapset. GRASS kommer nämligen att läsa alla Locations i databasen och alla Mapsets för varje Location:

    ../../../_images/grass_open_mapset1.png
  3. Välj Location SouthAfrica och Mapset grass_mapset som vi har skapat tidigare.

Nu är det klart! GRASS-panelen blir aktiv, vilket innebär att Mapset har öppnats på rätt sätt.

★☆☆ Följ med: Använd QGIS-bläddraren

Ännu snabbare och enklare är att öppna en ”Mapset” med hjälp av QGIS Browser:

  1. Stäng Mapset (om det är öppet) genom att klicka på knappen Close Mapset i fönstret GRASS Tools.

  2. I QGIS Browser bläddrar du till mappen med GRASS-databasen.

  3. Högerklicka på Mapset (kom ihåg att Mapset har GRASS-ikonen grassLogo bredvid sig). Du kommer att se några alternativ.

  4. Klicka på Open mapset:

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

Mapset är nu öppet och redo att användas!

Tips

Högerklicka på en GRASS Mapset och du får tillgång till en mängd olika inställningar. Försök att utforska dem och se alla användbara alternativ.

12.1.7. Sammanfattningsvis

GRASS-arbetsflödet för inmatning av data skiljer sig något från QGIS-metoden eftersom GRASS laddar sina data i en spatial databasstruktur. Genom att använda QGIS som frontend kan du dock göra installationen av en GRASS-kartuppsättning enklare genom att använda befintliga lager i QGIS som datakällor för GRASS.

12.1.8. Vad händer härnäst?

Nu när data har importerats till GRASS kan vi titta på de avancerade analysfunktioner som GRASS erbjuder.