QGIS Advanced – Lektion 6

Batchprocessing 

Beschreibung:

In dieser Lektion wollen wir uns den Prozess des sogenannten „Batchprocessings“ anschauen. Ziel ist Effizienz und Zeitersparnis. Alle Algorithmen können als Batch-Prozess (auf deutsch heißt Batch soviel wie Stapel oder Bündel) ausgeführt werden. Das heißt, alle Werkzeuge aus der QGIS Toolbox können statt mit nur einem einzigen Input (z.B. einem Layer) auch mit mehreren Inputs (z.B. mehreren Layern) gleichzeitig ausgeführt werden. Dies ist bei der Verarbeitung großer Datenmengen nützlich, weil es dir erspart, den Algorithmus mehrere Male neu zu starten. Konkret möchten wir in dieser Lektion mehrere Layer, die sich auf das gesamte Bundesland Thüringen ausdehnen, auf einen einzelnen Landkreis zuschneiden. Allerdings wäre es zeitaufwendig, das Zuschneide-Werkzeug mehrmals hintereinander, also für jeden Layer einzeln, durchführen zu müssen. Daher lassen wir mit Hilfe des Batchprocessings den Algorithmus für alle Layer gleichzeitig laufen. Klingt gut? Na dann, auf geht’s!

Lernziele:

  • Layer filtern und zuschneiden
  • Einen Algorithmus als Batch-Prozess durchführen
  • Mehrere Layer verpacken


Los geht’s:

  1. Lege in deinem „QGIS_Advanced“ Ordner einen neuen Ordner mit dem Namen „7_Batchprocessing“ an. Speichere dort die Geopackage „thueringen.gpkg“ ab.
  2. Öffne QGIS oder starte ein neues Projekt, falls dein QGIS schon geöffnet ist. Du startest ein
    neues Projekt, indem du auf das Symbol mit der weißen Seite klickst oder in der Menüleiste auf
    Projekt → Neu.

https://maptransfer.de/wp-content/uploads/2021/06/QGIS-Tutorial-Batchprocessing01.png

  1. Navigiere im Browserfenster zu deinem Favoritenordner „Gis_Advanced“ und lade deine soeben angelegte Geopackage „thueringen.gpkg“ per Drag and Drop in dein Projekt ein.

https://maptransfer.de/wp-content/uploads/2021/06/QGIS-Tutorial-Batchprocessing02.png

  1. Ziehe im Layerfenster den Layer „bkg_kreise“ nach oben, sodass er die anderen Layer überlagert. Uns interessiert für diese Übung nur der Landkreis „Ilm“. Daher möchten wir den Layer danach filtern. Gehe dafür per Rechtsklick auf den Layer „bkg_kreise“ → Filter.

https://maptransfer.de/wp-content/uploads/2021/06/QGIS-Tutorial-Batchprocessing03.png

  1. Es öffnet sich ein neues Fenster (Abfrageerstellung). Schreibe folgenden Code:

'name' = 'Ilm-Kreis';

Wähle dazu per Doppelklick name , setze ein = Zeichen, suche im Wertefenster nach „Ilm-Kreis“ und wähle es per Doppelklick aus. Klicke auf „ok“.

https://maptransfer.de/wp-content/uploads/2021/06/QGIS-Tutorial-Batchprocessing04.png

  1. Auf deiner Karte wird dir jetzt vom Layer „bkg_kreise“ lediglich der Kreis „Ilm“ angezeigt. Im Rest von Thüringen sind dadurch die darunter liegenden Layer sichtbar geworden.
  2. Öffne das Layergestaltungsfenster, indem du im Layerfenster auf das Pinselsymbol klickst.

https://maptransfer.de/wp-content/uploads/2021/06/QGIS-Tutorial-Batchprocessing05.png

  1. Gehe auf Einfache Füllung → Füllfarbe und setze den Haken bei „Transparente Füllung“.

https://maptransfer.de/wp-content/uploads/2021/06/QGIS-Tutorial-Batchprocessing06.png

  1. Wähle bei „Strichfarbe“ beispielsweise einen dunklen Rotton und erhöhe die Strichbreite auf 1,66 Millimeter.

https://maptransfer.de/wp-content/uploads/2021/06/QGIS-Tutorial-Batchprocessing07.png

  1. Jetzt geht’s ans Zuschneiden („Clip“), was so ähnlich funktioniert wie Plätzchen ausstechen: Thüringen ist sozusagen der Teig und die rot dargestellte Landkreisgrenze von Ilm das Förmchen. Mit diesem Förmchen „stechen“ wir die Teile der Layer aus, die innerhalb von Ilm liegen. Gehe zunächst im Layerfenster per Rechtsklick auf den Layer „bkg_kreise“ (den wir zuvor bereits gefiltert haben) und ändere den Namen unter „Layer umbenennen“ in „CLIP_maske“ (aka Förmchen).
  2. Gehe auf Vektor → Geoverarbeitungswerkzeuge → Zuschneiden.

https://maptransfer.de/wp-content/uploads/2021/06/QGIS-Tutorial-Batchprocessing08.png

  1. Es öffnet sich ein neues Fenster („Zuschneiden“). Da wir das Zuschneiden ja nicht mehrmals für jeden Layer nacheinander, sondern für alle gleichzeitig ausführen möchten, klicke auf „als Batchprozess starten“.

https://maptransfer.de/wp-content/uploads/2021/06/QGIS-Tutorial-Batchprocessing25.png

  1. Es öffnet sich ein neues Fenster („Stapelverarbeitung – Zuschneiden“). Die Zeilen dieser Tabelle werden wir in den folgenden Schritten mit Werten füllen, für die wir dann jeweils unseren Algorithmus (Zuschneiden) laufen lassen. Öffne beim „Eingabelayer“ das Drop-Down Menü „Autoauffüllung…“ und gehe auf „Aus geöffneten Layer wählen“.

https://maptransfer.de/wp-content/uploads/2021/06/QGIS-Tutorial-Batchprocessing09.png

  1. Es öffnet sich ein kleines Fenster („Mehrfachauswahl“). Gehe erst auf „Alle wählen“ und nehme dann den Haken bei “CLIP_maske“ wieder heraus (diesen Layer haben wir bereits in Schritt 4 gefiltert – er dient uns als „Förmchen“). Bestätige mit „ok“.

https://maptransfer.de/wp-content/uploads/2021/06/QGIS-Tutorial-Batchprocessing10.png

  1. Das Fenster wird nun mit den ausgewählten Layern gefüllt. Die Werte der Spalte „Layer überlagern“ werden automatisch mit dem Wert gefüllt der ausgewählt war, in unserem Fall „CLIP_maske“.

https://maptransfer.de/wp-content/uploads/2021/06/QGIS-Tutorial-Batchprocessing26.png

  1. Gehe in der Spalte „Zugeschnitten“ auf die grau hinterlegten Punkte der ersten Zeile und navigiere zu deinem Batchprocessing Ordner. Lege darin einen neuen Ordner an („scratch“) und bestätige mit „Erstellen“.

https://maptransfer.de/wp-content/uploads/2021/06/QGIS-Tutorial-Batchprocessing11.png

  1. Speichere die Geopackage in dem neuen „Scratch“-Ordner unter „clip_“ ab.

https://maptransfer.de/wp-content/uploads/2021/06/QGIS-Tutorial-Batchprocessing12.png

  1. Wähle in dem Fenster „Autofülleinstellungen“ Autofüllmodus → mit Parameterwerten füllen und bestätige mit „ok“. Daraufhin füllt sich die Spalte „Zugeschnitten“ mit den Pfaden, die zum Speicherort der zugeschnittenen Layer führen.

https://maptransfer.de/wp-content/uploads/2021/06/QGIS-Tutorial-Batchprocessing13.png

  1. Jede Zeile der Tabelle stellt nun eine einzelne Ausführung des Algorithmus „Zuschneiden“ für den jeweiligen Eingabelayer dar. Setze den Haken bei „Layer bei Abschluss laden“ und bestätige mit „Los“.

https://maptransfer.de/wp-content/uploads/2021/06/QGIS-Tutorial-Batchprocessing14.png

  1. Im Protokollfenster wird der Verarbeitungsprozess des Zuschneide-Algorithmus angezeigt. Ganz unten steht, wie lange das Ganze gedauert hat. Du kannst das Fenster schließen.

https://maptransfer.de/wp-content/uploads/2021/06/QGIS-Tutorial-Batchprocessing15.png

  1. Alle neu zugeschnittenen Layer werden dir nun im Layerfenster mit dem Zusatz „clip_“ angezeigt, weil wir das in Schritt 16 entsprechend abgespeichert haben. Markiere alle alten Layer, die den Zusatz nicht haben und lösche sie per Rechtsklick → Layer löschen → ok.

https://maptransfer.de/wp-content/uploads/2021/06/QGIS-Tutorial-Batchprocessing16.png

  1. Im Kartenfenster wird dir jetzt nur noch der Landkreis Ilm angezeigt. Nun möchten wir die „geclippten“ Layer, die wir einzeln als Geopackages im „Scratch“-Ordner abgespeichert haben, gesammelt in eine einzelne GeoPackage-Datenbank laden. Gehe dafür auf das Symbol „Werkzeugkiste“, suche im Suchfenster nach „package“ und wähle das Werkzeug „Layer verpacken“.

https://maptransfer.de/wp-content/uploads/2021/06/QGIS-Tutorial-Batchprocessing17.png

  1. Es öffnet sich ein neues Fenster („Layer verpacken“). Gehe auf die drei Punkte rechts neben „Eingabelayer“.

https://maptransfer.de/wp-content/uploads/2021/06/QGIS-Tutorial-Batchprocessing18.png

  1. Gehe auf Alle wählen → OK.

https://maptransfer.de/wp-content/uploads/2021/06/QGIS-Tutorial-Batchprocessing27.png

  1. Beim „Eingabelayer“ wird dir nun die Anzahl der gewählten Eingaben angezeigt (11). Falls der Haken bei „Layerstile in Geopackage speichern“ automatisch gesetzt wurde, nehme ihn raus. Klappe das Drop-Down Menü rechts neben „Ziel Geopackage“ aus und wähle „In Datei speichern“.

https://maptransfer.de/wp-content/uploads/2021/06/QGIS-Tutorial-Batchprocessing19.png

  1. Speichere die GeoPackage im Ordner „7_Batchprocessing“ unter „ilm_kreis“ ab.

https://maptransfer.de/wp-content/uploads/2021/06/QGIS-Tutorial-Batchprocessing20.png

  1. Bei „Ziel Geopackage“ ist nun der Pfad zum Speicherort deiner Geopackage zu sehen. Starte den Prozess des Layer Verpackens mit „Los“. Anschließend kannst du das Fenster schließen.

https://maptransfer.de/wp-content/uploads/2021/06/QGIS-Tutorial-Batchprocessing21.png

  1. Klicke im Browser-Fenster auf den „Aktualisieren“-Button. Dir wird nun die neu erstellte Geopackage „ilm_kreis.gpkg“ angezeigt.

https://maptransfer.de/wp-content/uploads/2021/06/QGIS-Tutorial-Batchprocessing22.png

  1. In dieser Übung erstellen wir zwar kein Drucklayout. Aber der Vollständigkeit halber benennen wir noch den Layer „CLIP_maske“ um: Klappe im Browserfenster die Geopackage „ilm_kreis.gpkg“ aus und gehe per Rechtsklick auf den Layer „CLIP_maske“ → Layer ‘CLIP_maske’ umbenennen. Vergebe den Namen „ilm_kreis“ und bestätige mit „ok“. Aktualisiere anschließend dein Browserfenster.

https://maptransfer.de/wp-content/uploads/2021/06/QGIS-Tutorial-Batchprocessing23.png

  1. Im Prinzip ist die Übung hiermit abgeschlossen. Juhu! Als letztes kannst du noch den „scratch“-Ordner löschen, da wir ihn nur temporär angelegt haben und nicht mehr brauchen. Gehe also als letzten Schritt im Browserfenster per Rechtsklick auf den Ordner „scratch“ → Verzeichnis öffnen. Navigiere zum Ordner und lösche ihn. Fertig! 🙂

https://maptransfer.de/wp-content/uploads/2021/06/QGIS-Tutorial-Batchprocessing24.png