Stapelverarbeitung mit dem Processing Framework (QGIS3)

Das Processing Framework in QGIS ist eine Umgebung in QGIS, die es ermöglicht, zu QGIS gehörende Algorithmen oder solche von Drittanbietern zu Prozessierung von Daten einzusetzen. Es enthält eine schöne Bedienungsschnittstelle zur Ausführung von Berechnungen auf mehreren Layern. Die Stapelverarbeitung ist ein nützliches Tool, das Handarbeit verringert und dabei hilft, sich wiederholende Abläufe zu automatisieren.

Überblick über die Aufgabe

Wir werden mehrere globale Vektorlayer verwenden und sie mit Hilfe der Stapelverarbeitung auf die Ausdehnung Afrikas zuschneiden.

Weitere Fähigkeiten, die wir erlernen

  • Erstellen eines Filters um ungewollte Features eines Layers zu entfernen ohne einen neuen Layer zu erstellen.

  • Zusammenfügen mehrerer Layer zu einer Geopackage Datei.

Beschaffung der Daten

Unter Natural Earth findet man verschiedene globale Vektorlayer. Lade folgende Layer herunter.

Der Einfachheit halber kannst du eine geopackage Datei der o.g. Layer von folgendem link herunterladen:

ne_global.gpkg

Datenquelle: [NATURALEARTH]

Arbeitsablauf

  1. Gehe im QGIS Browser Bereich zum Verzeichnis in dem die heruntergeladenen Daten abgelegt sind. Erweitere die zip oder gpkg Dateien und wähle den ne_10m_admin_0_countries Layer. Ziehe den Layer in den Arbeitsbereich.

../../_images/117.png
  1. Der geladene Layer ist jetzt im Layerbereich sichtbar. Da unsere Aufgabe ist, die globalen Layer auf die Ausdehnung Afrikas zuzuschneiden, müssen wir zuerst einen Layer vorbereiten, der nur diesen Kontinent enthält. Wenn wir auf die Attributtabelle sehen, erkennen wir welche Attributspalte zur Selektion eines Kontinents genutzt werden kann. Klicke mit der rechten Maustaste auf den Layer ne_10m_admin_0_countries und wähle Attributtabelle öffnen.

Bemerkung

Tip: Man kann auch die Tastenkombination F6 verwenden, um die Attributtabelle des gewählten Layers zu öffnen.

../../_images/214.png
  1. Im Fenster Attributtabelle sieht man beim Scrollen nach rechts, dass der Datensatz das Attribut CONTINENT enthält. Wir können dieses Attribut nutzen, um Features zu filtern.

../../_images/313.png
  1. Schließe das Attributfenster und gehe zurück zum QGIS Hauptfenster. Klicke mit der rechten Maustaste auf den Layer ne_10m_admin_0_countries und wähle Filter.

../../_images/45.png
  1. Wähle im Fenster Abfrageerstellung das Feld CONTINENT und klicke auf Stichprobe. Dadurch wird der Bereich Werte mit einer Teilmenge der Werte des Featureattributes gefüllt. Dieser Schritt ist sinnvoll, um einen Eindruck von der Art der im Datensatz enthaltenen Werte zu bekommen. Wir sehen, dass unser Datensatz u.a. den Wert Africa enthält.

../../_images/55.png
  1. Wir geben jetzt einen Ausdruck in der Textbox Datenanbieter spezifischer Filterausdruck ein. Man klickt dazu doppelt auf das CONTINENT Feld danach auf den Operator = und dann auf den Wert Africa. Man kann den folgenden Ausdruck auch in der Textbox eingeben. Kilcke nach Eingabe des Ausdrucks auf OK.

"CONTINENT" = 'Africa'
../../_images/65.png
  1. Wir sehen, dass das Kartenfenster jetzt nur noch die Länder Afrikas enthält. Achte auf das Filtersymbol neben neben dem Layernamen, das die Verwendung eines Filters anzeigt. Wenn man alle Features des Layers anzeigen möchte, klickt man auf das Filtericon und löscht den Ausdruck. Vorerst belassen wir den Filter, so dass wir aus den anderen Layern Afrika ausschneiden können.

../../_images/75.png
  1. Wir können nun die Stapelverarbeitung zum Ausschneiden der anderen Layer beginnen. Wir suchen folgende Layer im QGIS Browser Bereich: ne_10m_railroads, ne_10m_ports und ne_10m_urban_areas. Halte die Taste Ctrl gedrückt und klicke diese Layer an, um sie zu selektieren. Nachdem sie selektiert sind, schiebe sie in den Arbeitsbereich.

../../_images/85.png
  1. Nachdem die Layer geladen wurden, bemerken wir, dass die Layer Features in allen Ländern enthalten. Jetzt können wir die Stapelverarbeitung beginnen und diese Layer auf Afrika zuschneiden. Öffne Verarbeitung ‣ Werkzeugkiste.

../../_images/95.png
  1. Durchblättere die verfügbaren Algorithmen und gehe zum Tool Zuschneiden aus dem Bereich Vektorüberlagerung ‣ Zuschneiden. Wir können auch das Suche Feld, um den Algorithmus einfacher zu finden.

../../_images/105.png
  1. Klicke mit der rechten Maustaste auf den Zuschneiden Algorithmus und wähle Als Stapelprozess ausführen.

../../_images/118.png
  1. Im Fenster Stapelverarbeitung werden im ersten Reiter Parameter die Eingabedaten festgelegt. Jede Zeile repräsentiert 1 Datenverarbeitungsaufgabe. Klicke auf den Zeile hinzufügen Knopf um eine neue Zeile hinzuzufügen. Da unsere Aufgabe 3 Layer betrifft, fügen wir 3 Zeilen hinzu.

../../_images/125.png
  1. Klicke auf neben der ersten Zeile in der Spalte Eingabelayer. Wähle :guilabel: Aus geöffneten Layern wählen….

../../_images/135.png
  1. Wähle aus dem Fenster Mehrfachauswahl die 3 Layer aus, die wir zuschneiden wollen und klicke auf OK.

../../_images/145.png
  1. Wir bemerken, dss die Eingabelayer Spalte automatisch mit den ausgewählten Layern gefüllt wird. Als nächstes müssen wir den Layer selektieren mit dem unsere Eingabelayer zugeschnitten werden. Klicke auf den Knopf in der ersten Zeile unter der Spalte Layer überlagern und wähle Aus geöffneten Layern wählen….

../../_images/155.png
  1. Wähle im Fenster Mehrfachauswahl den Layer ne_10m_admin_0_countries und klicke auf OK.

../../_images/165.png
  1. Da der Zuschneidelayer für alle Eingabelayer derselbe ist, geht es schneller doppelt auf den Spaltenkopf Layer überlagern zu klicken, um den Layer automatisch für alle Zeilen einzutragen.

../../_images/175.png
  1. Als nächstes müssen wir unsere Ausgabe vorgeben. Klicke auf den Knopf neben der ersten Zeile in der Spalte Zugeschnitten.

../../_images/183.png
  1. Wähle das Verzeichnis zur Ablage der Ausgabelayer aus. Gebe einen Dateinamen wie zugeschnitten_ an und klicke auf Speichern.

../../_images/193.png
  1. Wir sehen ein neues Fenster Autofüllmodus. Wähle Mit Parameterwerten füllen als Autofüllmodus aus. Wähle Eingabelayer als Zu benutzender Parameter. Diese Einstellung fügt den Dateinamen der Eingabedatei zur Bezeichnung der Ausgabedatei an den vergebenen Präfix zugeschnitten_ an. Das ist wichtig, weil damit jede Ausgabedatei einen eigenen Namen erhält und keine Datei überschrieben wird.

../../_images/202.png
  1. Jetzt können wir die Stapelverarbeitung beginnen. Achte darauf bei Layer bei Abschluss laden einen Haken zu setzen und klicke auf Starte.

../../_images/215.png
  1. Der Zuschneiden-Algorithmus läuft für jede Eingabedatei und erstellt die Ausgabedateien so wie vorher angegeben. Klicke nach Beenden der Stapelverarbeitung auf den Knopf Schließen, um zu QGIS zurück zu kehren.

Bemerkung

Tip: QGIS kann Berechnungen im Hintergrund ausführen ohne die Benutzeroberfläche zu blockieren. Bei langen Stapelverarbeitungsvorgängen kann man das Dialogfenster schließen und in QGIS weiterarbeiten, während die Berechnung im Hintergrund weiter läuft.

../../_images/223.png
  1. Im QGIS Fenster werden nun die neu hinzugefügten Layer angezeigt. Man bemerkt, dass die globalen Layer nun genau auf die angegebene Grenze zugeschnitten sind.

../../_images/232.png
  1. Wir haben die Aufgabe mehrere Layer zuzuschneiden nun beendet. QGIS3 hat eine weitere praktische Funktion, die uns helfen wird, das Resultat noch effizienter zu erreichen. Wenn man die zugeschnitten Layer an jemanden anderes übergeben möchte, packt man sie normalerweise in zip-Dateien. Eine bessere Möglichkeit besteht in der Zusammenstellung eines Geopackages. Gehe im QGIS Browser zu den zugeschnittenen Ausgabelayern. Unter Umständen muss man den Refresh Knopf drücken, um die neu hinzugekommenden Dateien zu sehen.

../../_images/242.png
  1. Halte die Taste Ctrl grückt und wähle die Layer aus. Ziehe sie in Arbeitsbereich, um sie in QGIS zu laden.

../../_images/252.png
  1. Finde in den Verarbeitungswerkzeugen das Tool Datenbank ‣ Paketlayer.

../../_images/262.png
  1. Klicke im Fenster Paketlayer auf den Knopf neben Eingabelayer.

../../_images/272.png
  1. Wähle im Mehrfachauswahlfenster folgende Layer: clipped_ne_10m_ports, clipped_ne_10m_railroads und clipped_ne_10m_urban_areas. Klicke auf OK.

../../_images/282.png
  1. Nachdem die Eingabelayer ausgewählt sind, klicke auf neben Ziel GeoPackage und wähle In Datei speichern.

../../_images/291.png
  1. Gebe für den Ausgabedateinamen clipped_layers ein.

../../_images/301.png
  1. Kilcke auf Starte um den Packprozess zu starten.

../../_images/314.png
  1. Nachdem die Berechnung abgeschlossen ist, sehen wir eine neue geopackage Datei im QGIS Browser, die alle zugeschnittenen Ausgabelayer enthält. Es handelt sich um eine einzelne lokal abgelegte Datei, die alle Ausgabelayer enthält.

../../_images/322.png
comments powered by Disqus