12.1. Lesson: GRASS-Einrichtung
Die Nutzung von GRASS in QGIS erfordert etwas Umdenken in Bezug auf die Benutzerschnittstelle. Man arbeit nicht direkt in QGIS sonder in GRASS über QGIS. Stellen Sie daher sicher, dass QGIS Desktop mit GRASS Unterstützung installiert ist.
To open a QGIS session with GRASS available on Windows you have to click
on the QGIS Desktop with GRASS
icon.
Ziel dieser Übung: Erstellung eines GRASS Projektes in QGIS.
12.1.1. Follow Along: Start einer neuen GRASS Sitzung
To launch GRASS from within QGIS, you need to activate it as with any other plugin:
Öffne zuerst ein neues QGIS Projekt.
Wir schalten dazu im Plugin Manager die Erweiterung GRASS ein:
Die GRASS Werkzeugleiste und das GRASS Bedienfeld werden nun angezeigt:
Das GRASS Bedienfeld ist noch nicht aktiv. Vorher muss ein Mapset
erstellt werden. GRASS arbeit immer in einer Datenbankumgebung. Das bedeutet, dass die Daten die verwendet werden sollen, in die Datenbank importiert werden müssen.
Die GRASS Datenbank hat eine überschaubare Struktur, selbst wenn sie auf den ersten Blick sehr kompliziert wirkt. Am Wichtigsten ist es zu verstehen, dass die oberste Ebene der Datenbank die Location
ist. Jede Location
kann mehrere verschiedene Mapset
enthalten: in jedem Mapset
ist das PERMANENT
Mapset enthalten. Es wird standardmäßig von GRASS erstellt. Jedes Mapset
enthält die Daten (Raster, Vektor usw.) in einer bestimmten Struktur, aber keine Sorge, darum kümmert sich GRASS.
Just remember: Location
contains Mapset
that contains the data. For more
information visit the GRASS website.
12.1.2. Follow Along: Starten eines neuen GRASS Projektes
Click on the
menu:Du wirst nun nach dem GRASS Datenbankverzeichnis gefragt.
Wir geben das Verzeichnis ein, das GRASS für die Einrichtung seiner Datenbank verwenden wird.
Klicke auf Weiter.
GRASS muss eine Location
erstellen, die die maximale Ausdehnung des Arbeitsgebietes beschreibt und auch GRASS Region
genannt wird.
Bemerkung
Die Region ist extrem wichtig für GRASS, da sie das Gebiet beschreibt in dem alle Layer von GRASS berücksichtigt werden. Alles außerhalb wird nicht berücksichtigt. Keine Sorge, man kann die Ausdehnung der GRASS Region immer auch nach der Erstellung ändern.
Wir nennen die neue location
SouthAfrica
:Klicke auf Weiter.
Wir werden mit
WGS 84
arbeiten, d.h. wir suchen und wählen dieses KBS:Klicke auf Weiter.
Wähle nun die Region South Africa aus dem dropdown Menü und klicke auf Setzen:
Klicke auf Weiter.
Wir erstellen ein mapset, d.h. die Kartendatei in der wir arbeiten.
Wenn wir fertig sind, wird ein Dialogfenster mit einer Zusammenfassung der eingegebenen Informationen angezeigt.
Klicke auf Abschließen.
Klicke in der Erfolgsmeldung auf OK.
Das GRASS Bedienfeld wird jetzt aktiviert und wir können alle GRASS Werkzeuge nutzen.
12.1.3. Follow Along: Vektordaten in GRASS laden
Wir haben jetzt eine leere Karte. Bevor wir die GRASS Werkzeuge nutzen können, müssen wir Daten in die GRASS Datenbank laden, d.h. in das Mapset
. Man kann GRASS Werkzeuge nicht mit Layern verwenden, die nicht in einem GRASS Mapset
geladen sind.
Es gibt verschiedene Möglichkeiten, Daten in die GRASS Datenbank zu laden. Wir beginnen mit der Ersten.
Follow Along: Daten mit Hilfe des QGIS Browsers laden
Im Kapitel The Browser Panel sahen wir, dass das Browser Bedienfeld der einfachste Weg ist, um Daten in QGIS zu laden.
GRASS Daten werden vom QGIS Browser als echte GRASS Daten erkannt. Dies erkennt man am GRASS Icon neben dem GRASS Mapset. Außerdem wird das Icon neben einem geöffneten Mapset angezeigt.
Bemerkung
Man sieht eine Kopie der GRASS Location als normalen Ordner: die GRASS Mapset
Daten liegen im Ordner
Layer aus einem Ordner können mit drag and drop einfach in das GRASS Mapset gezogen werden.
Let’s try to import the roads
layer into the grass_mapset
Mapset
of the SouthAfrica
Location.
Go to the Browser, and simply drag the roads
layer from the
training_data.gpkg
GeoPackage file into the grass_mapset
Mapset.
Das wars schon. Wenn man das Mapset erweitert, sieht man den importierten Layer roads
. Man den importierten Layer nun wie jeden anderen Layer in QGIS laden.
Tipp
Man kann außerdem Layer direkt aus dem Layerinhaltsverzeichnis in ein Mapset im Browser Bedienfeld ziehen. Damit wird der Workflow stark vereinfacht!
Follow Along: Daten mit Hilfe des GRASS Bedienfeldes laden
Wir werden nun die lange Methode zum laden des Layers rivers.shp
in das Mapset nutzen.
Wir laden wie gewohnt Daten in QGIS und verwenden den Datensatz
rivers.shp
(zu finden im Ordnerexercise_data/shapefile/
).Sobald die Daten in QGIS geladen sind, klicken wir auf den Filter Kasten im
GRASS Bedienfeld
und suchen das Vektorimportwerkzeug indem wirv.in.ogr.qgis
im Filterkasten eingeben:Warnung
Es werden 2 ähnliche Werkzeuge angezeigt:
v.in.ogr.qgis
undv.in.ogr.qgis.loc
. Wir verwenden das erste Werkzeug.Das
v
steht für Vektor,in
steht für die Funktion Daten in die GRASS Datenbank zu importieren,ogr
ist die Softwarebibliothek die zum Laden von Vektordaten verwendet wird undqgis
bedeutet, dass das Werkzeug nach bereits in QGIS geladenen Layern sucht.Nachdem wir das Werkzeug gefunden haben, klicken wir darauf, um es zu öffnen. Wählen Sie den Layer rivers aus der Auswahlbox Geladener Layer und vergeben für die Ausgabe den Namen
g_rivers
, um Verwechslungen vorzubeugen:Bemerkung
Beachten Sie, dass mit dem Knopf Fortgeschrittene Optionen einblenden weitere Optionen verfügbar sind. Hier ist Möglichkeit der Einschränkung des Datenimports mit Hilfe einer WHERE Klausel in der zum Import genutzten SQL Abfrage vorhanden.
Klicken Sie auf Starten um den Import zu beginnen.
Drücken Sie nach Abschluss des Imports auf den Knopf Ergebnis visualisieren, um den in GRASS importierten Layer in der Karte anzuzeigen.
Schließen Sie zuerst das Importwerkzeug (Klick auf den Knopf Schließen im rechten Bereich neben dem Knopf Ergebnis visualisieren) und danach das GRASS Werkzeuge Fenster.
Entfernen Sie das Original des Layers rivers.
In unserer QGIS Karte wird jetzt nur noch der in GRASS importierte Layer angezeigt.
12.1.4. Follow Along: Rasterdaten in GRASS laden
Rasterdaten importiert man auf dieselbe Weise wie Vektordaten.
Wir werden in das GRASS Mapset den Layer srtm_41_19_4326.tif
importieren.
Bemerkung
Der Rasterlayer liegt schon im richtigen KBS WGS 84
vor. Layer mit abweichendem KBS müssen vorher in das KBS des GRASS Mapsets reprojiziert weden.
Laden Sie den Layer
srtm_41_19_4326.tif
in QGISÖffnen Sie erneut das Fenster GRASS Werkzeuge.
Klicken Sie auf den Reiter Module.
Suchen Sie nach
r.in.gdal.qgis
und klicken doppelt auf das Werkzeug, um sein Dialogfenster zu öffnen.Geben Sie für den Eingabelayer
srtm_41_19_4326.tif
und für den Ausgabelayerg_dem
vor.Klicken Sie auf Starten.
Klicken Sie nach dem Abschluss des Prozesses auf Ergebnis visualisieren.
Schließen Sie den Reiter und nocheinmal mit Schließen den gesamten Dialog.
Wir können den originalen Layer
srtm_41_19_4326.tif
nun entfernen.
12.1.5. Try Yourself Layer zum Mapset hinzufügen
Versuchen Sie die Vektorlayer water.shp
und places.shp
aus dem Ordner exercise_data/shapefile/
in das GRASS Mapset zu importieren. Benennen Sie die Layer wie beim vorherigen Import mit g_water
und g_places
um einer Verwechselung vorzubeugen.
Answer
You can add layers (both vector and raster) into a GRASS Mapset by drag and
drop them in the Browser (see Follow Along: Daten mit Hilfe des QGIS Browsers laden) or by using the
v.in.gdal.qgis
for vector and r.in.gdal.qgis
for raster layers.
12.1.6. Öffnen eines vorhandenen Mapsets
Wenn bereits ein GRASS Mapset vorliegt, können Sie es einfach in einer anderen QGIS-Sitzung öffnen.
Es gibt verschiedene Methoden, ein GRASS Mapset zu öffnen. Wir werden nun einige untersuchen.
Wir shcließen zuerst das Mapset durch Klick auf die Schaltfläche Schließe Mapset im Fenster GRASS-Werkzeuge.
Follow Along: Benutzung des GRASS Plugins
Klicken Sie im Menü auf Erweiterungen –> GRASS –> Mapset öffnen über dem Menüeintrag Plugins –> GRASS –> Neues Mapset den wir in der vorherigen Übung verwendet haben.
Gehen Sie zum Ordner mitt der GRASS Datenbank: Seien Sie vorsichtig! Man muss den übergeordneten Ordner auswählen, nicht den Ordner mit dem GRASS Mapset. GRASS liest alle
Locations
der Datenbank und alleMapsets
einerLocation
ein:Wählen Sie die
Location
SouthAfrica und dasMapset
grass_mapset das wir vorher erstellt haben.
Das war’s. Das GRASS Bedienfeld wird aktiv, was bedeutet, dass das Mapset korrekt geladen wurde.
Follow Along: Verwendung des QGIS Browsers
Noch einfacher kann ein Mapset
mit Hilfe des QGIS Browsers geöffnet werden:
Schließen Sie das Mapset (wenn es noch geöffnet ist) durch Klick auf die Schaltfläche Schließe Mapset im GRASS-Werkzeuge Fenster.
Gehen Sie im QGIS Browser zum Ordner der GRASS Datenbank.
Klicken Sie mit der rechten Maustaste auf das Mapset (das Mapset hat das GRASS Icon neben dem Namen). Es werden einige Optionen angezeigt.
Klicke Sie auf Mapset öffnen:
Das Mapset ist nun geöffent und kann verwendet werden!
Tipp
Nach Klick mit rechten Maustaste auf ein Mapset werden viele verschiedene Optionen abgeboten. Untersuchen Sie auch die anderen Optionen.
12.1.7. In Conclusion
Der Arbeitslauf zum Hinzufügen von Daten in GRASS ist etwas abweichend von der QGIS Methode, weil GRASS seine Daten in eine räumliche Datenbank lädt. Trotzdem kann QGIS als Frontend die Verwaltung eines GRASS Mapsets durch die Verwendung von QGIS Layern als Datenquellen für QGIS vereinfachen.
12.1.8. What’s Next?
Jetzt wo die Daten in GRASS importiert sind, können wir uns die erweiterten Analysemöglichkeiten ansehen, die GRASS bietet.