Beschreibung:
In dieser Lektion lernen wir Modelle kennen. Mit deren Hilfe können Arbeitsprozesse automatisiert und somit die Effizienz in Projekten gesteigert werden. Denn: einzelne Variablen im Modell können mit geringem Aufwand geändert werden, ohne das man sich noch einmal durch alles durchklicken muss. Das heißt, eine ganze Kette an Algorithmen wird durch das Modell in einem einzelnen Algorithmus ausgeführt, egal wie komplex das Projekt auch sein mag. Zur Erstellung von Modellen arbeitet man mit dem sogenannten „Graphical Modeller“. Graphisch, weil das Modell als optisch anschaulicher Baum dargestellt wird und somit auch etwas für Leute ist, die sich nicht in der Programmierwelt auskennen. Modelle erweisen sich als äußerst nützlich, wenn du in einem Kartenprojekt mehrfach auf den gleichen Ablauf zurückgreifen möchtest. Modelle können aber auch in verschiedenen QGIS-Projekten verwendet werden, da sie als eigene Datei abgespeichert werden und nicht in der Projekt-qgz landen. In dieser Übung bilden wir den Workflow der vorherigen Lektion zur Geoverarbeitung im Modell nach. Entsprechend ist es sinnvoll (aber kein muss), vorher Lektion 2 durchgeführt zu haben.
Lernziele:
- Kennenlernen des Graphic Modellers
- Anpassen von Modellvariablen
- Erstellen von neuen Modellteilen
Los geht’s:
- Am besten funktioniert diese Lektion, wenn du sie im Anschluss an Lektion 2 (Geoverarbeitung) durchführst. Wenn das nicht der Fall ist, kannst du sie natürlich trotzdem machen - springe am besten direkt vor zu Schritt 2. Wenn du aber gerade frisch von Lektion 2 kommst und dein Projekt noch geöffnet hast, dann behalte die folgenden vier Layer: „flurstuecke_auszug“, „hochspannungsleitungen“, „landbedeckung“ und „strassen_hauptstr“. Alle anderen Layer kannst du aus dem Layerfenster löschen. Erstelle zur besseren Orientierung eine neue Gruppe im Layerfenster (Rechtsklick → „Gruppe_hinzufügen“) und nenne sie „Ausgangsdaten“. Erstelle eine weitere Gruppe und nenne sie „output_modell“. Alle Layer, die wir in dieser Übung erstellen werden, werden wir dort rein speichern.
![Bildschirmfoto_2022-05-13_um_16.12.53.png](https://s3.amazonaws.com/a.storyblok.com/f/281328/2c7fb8519b/e72801d7-6d6e-409c-a444-942f5fc4c9b4.png)
- Dieser Schritt ist für dich nur relevant, wenn du nicht zuvor Übung 2 durchgeführt hast: Navigiere im Browserfenster zum Ordner „2_geoverarbeitung“ und lade die QGZ-Datei „solarprojekt_gotha“ in dein leeres Projekt ein. Die darin befindlichen Layer sind zur besseren Übersichtlichkeit bereits in zwei Gruppen unterteilt: Die Ausgangsdaten aus dem vorherigen Tutorial sowie eine leere Gruppe für den Output des Modells, den wir in dieser Übung erstellen werden.
![Bildschirmfoto_2022-05-13_um_16.31.24.png](https://s3.amazonaws.com/a.storyblok.com/f/281328/e051d48f47/f904a780-9398-4554-9a21-cbf5053ef710.png)
- Navigiere im Browserfenster zu dem Ordner „3_modelle“, klappe ihn aus, gehe per Rechtsklick auf „solar_modell“ und wähle „Modell bearbeiten...“.
![59847a20-20f4-494b-99f6-efb5a910f78f.png](https://s3.amazonaws.com/a.storyblok.com/f/281328/0f1ef8babc/893ff0a0-c808-4c2e-8cf8-4bb50b68d013.png)
- Es öffnet sich ein neuer Reiter („Modellentwurf-solar_modell“). Der Graphic Modeller hat einen Arbeitsdialog, wo die Struktur des Modells und der Workflow dargestellt werden. Auf der linken Seite des Fensters befindet sich ein Bereich mit zwei Reitern, um neue Elemente in das Modell zu integrieren. Das Modell, das du da siehst, wurde nicht automatisch von GIS erstellt, sondern von uns vorbereitet. Und zwar bildet es genau die Arbeitsschritte der Lektion „Geoverarbeitung“ ab, die du bereits durchgeführt hast. Folgendermaßen ist das Modell aufgebaut: Wir haben drei verschiedene Arten von Modellfeldern. Erstens, in gelb dargestellt, sind die „Modelleingaben“ (1), also alle (teils gefilterten) Layer, die in das Modell einfließen. Zweitens, in weiß dargestellt, sind die „Funktionen“ (2). Das sind die Algorithmen oder Werkzeuge, die auf die Eingabelayer angewandt werden. Und drittens, in grün dargestellt, ist das Ergebnis (3), in unserem Beispiel die Potentialfläche des Solarparks. Die Modellfelder sind durch Verbindungslinien verknüpft, die anzeigen, was zusammengehört.
![Bildschirmfoto_2022-05-03_um_21.58.09.png](https://s3.amazonaws.com/a.storyblok.com/f/281328/805234ba06/7e09f6a5-bdc1-4d27-9b57-7782b98af800.png)
- Um das Modell auszuführen, klicke auf das grüne Play-Symbol. Daraufhin öffnet sich ein Fenster, in dem die sieben Modelleingaben (im Modell in gelb dargestellt) jeweils mit einem Platzhalter aufgeführt sind. Klappe den ersten Parameter „Layer: Landbedeckung“ aus und wähle statt des Platzhalters „Landbedeckung [EPSG:25832]“ aus dem Dropdown-Menü aus. Wähle für „Layer: Strassen“ „strassen_hauptstr [EPSG:25832]“. Die beiden Filter („CLC18“ LIKE ‘2%’ und „BEZ” LIKE ‘A%’) sowie der Abstand zur Autobahn (200 Meter) und der Abstand zu den Hochspannungsleitung (50 Meter) sind bereits richtig voreingestellt, könnten aber theoretisch auch verändert werden. Wähle bei „Layer: Hochspannungsleitungen“ die „Hochspannungsleitungen [EPSG:25832]“. Bestätige mit „Starten“. Sobald das Modell durchgelaufen ist, kannst du das Fenster schließen.
![Bildschirmfoto_2022-05-03_um_22.09.11.png](https://s3.amazonaws.com/a.storyblok.com/f/281328/e823be9077/20e2a1da-5b2c-4dfe-a849-ea063c34f144.png)
- Wechsele zurück in den Projektreiter. Im Ordner „output_modell“ im Layerfenster erscheint jetzt der Layer „solar_potentialflaeche“. In der Attributtabelle kannst du sehen, dass die Fläche die selbe Größe hat, wie in der letzten Übung, nämlich 10,97 Qkm.
![Bildschirmfoto_2022-05-13_um_17.45.25.png](https://s3.amazonaws.com/a.storyblok.com/f/281328/795e0ef197/7b3bc799-fdf6-4927-8779-f8376aaff0c6.png)
- Wir nehmen einmal an, dass sich die Vorgabe für die Potentialfläche geändert hat und statt 200 Metern einen Abstand von 400 Metern zur der Autobahn haben soll. Statt mehrere Schritte wiederholen zu müssen, können wir uns viel Arbeit ersparen und ganz unkompliziert den Puffer-Parameter im Modell anpassen. Gehe dafür zurück in den Modellreiter und führe das Modell erneut aus (grüner Pfeil). Schreibe beim Parameter „Abstand zur Autobahn“ statt 200 eine 400, bestätige den Vorgang mit „Starten“ und schließe das Fenster anschließend.
![Bildschirmfoto_2022-05-03_um_22.19.56.png](https://s3.amazonaws.com/a.storyblok.com/f/281328/0069a51f62/4c33efc8-a1c9-4ebc-965f-e83633bf9503.png)
- Zurück im Projektreiter siehst du den neu erstellten Pufferlayer, der entsprechend breiter ist, als der ursprüngliche. In der Attributtabelle kannst du sehen, dass die Fläche nun 21,25 Qkm beträgt. Die Anpassung des Modells hat also geklappt.
![Bildschirmfoto_2022-05-13_um_17.47.52.png](https://s3.amazonaws.com/a.storyblok.com/f/281328/3713fbec31/1af37918-cc03-44bf-8636-b5785381ab63.png)
- Aber wie erstellt man so ein Modell überhaupt? Das schauen wir uns jetzt an. Die Frage, die wir in der letzten Lektion beantworten sollten, lautete „Wie viele Flurstücke liegen entweder ganz oder teilweise in der Potentialfläche?“. Das heißt wir fügen dem Modellbaum einen Teil hinzu, der für uns die entsprechende Anzahl an Flurstücken berechnet. Gehe zurück in den Modellreiter. Im linken Teil des Bildschirms kannst du zwischen „Eingaben“ und „Algorithmen“ wählen. Gehe auf „Eingaben“ und wähle aus den angebotenen Möglichkeiten „Vektorlayer“ aus. Es öffnet sich ein neues Fenster, indem du den Parameter weiter definieren kannst. Du kannst eine „Beschreibung“ vergeben, zum Beispiel „Layer: Flurstücke“ und als „Geometrietyp“ → „Polygon“ auswählen. Falls das Häkchen bei „Zwingend“ automatisch gesetzt wurde, kannst du es rausnehmen. Das würde nämlich bedeuten, dass das Modell nur ausgeführt werden kann, wenn dieser Parameter vorhanden ist. In unserem Fall handelt es sich aber um einen separaten Zweig unseres Modell. Wenn du mit „ok“ bestätigst, erscheint im Modell die neue Modelleingabe als gelbes Kästchen.
![Bildschirmfoto_2022-05-03_um_22.35.28.png](https://s3.amazonaws.com/a.storyblok.com/f/281328/33a48d8102/c2a65b18-062e-43ec-95c8-6b135c74b336.png)
- Du kannst eine Modelleingabe übrigens auch ganz leicht wieder löschen, indem du per Rechtsklick darauf klickst und „Entfernen“ auswählst.
- Jetzt wollen wir den neuen Eingabelayer Flurstücke auf unsere Potentialfläche zuschneiden. Gehe dafür links im Fenster auf „Algorithmen“, gib oben in der Suchleiste „Zuschneiden“ ein und füge das Werkzeug dem Modell hinzu. Beschrifte das Werkzeug im sich öffnenden Fenster mit „Flurstücke zuschneiden (Zuschneiden)“. Jetzt muss definiert werden, was der Eingabelayer ist und womit er überlagert wird. Gehe dafür auf das viereckige Kästchen links unter dem Eingabelayer („123“). Dort ist „Wert“ gewählt. Wähle stattdessen „Modelleingabe“, denn wollen wir ja die Flurstücke zuschneiden, welche wir soeben dem Modell als Modelleingabe hinzugefügt haben. Wähle entsprechend im Dropdown Menü „Flurstücke” aus.
![Bildschirmfoto_2022-05-13_um_17.29.39.png](https://s3.amazonaws.com/a.storyblok.com/f/281328/db6a499948/a3a3fa89-a776-4526-bd99-68b03d9089a6.png)
- Den Eingabelayer möchten wir mit der Potentialfläche zuschneiden. Am besten setzen wir also an dem Punkt im Modell an, an dem wir die Potentialfläche ermittelt hatten („Potentialfläche ermitteln (Differenz“).
![Bildschirmfoto_2022-05-04_um_22.26.56.png](https://s3.amazonaws.com/a.storyblok.com/f/281328/c801dabde9/ecd1b44c-28d3-4d21-bf74-0e9c6000d38f.png)
- Wähle dafür bei dem viereckigen Kästchen links unter „Layer überlagern“ („123“) „Algorithmusausgabe“ aus. Wähle rechts daneben im Drop-Down-Menü „’Differenz’ aus Algorithmus ‘Potentialfläche ermitteln (Differenz)’” aus. Benenne das Endergebnis unter „Zugeschnitten“ mit „flurstuecke_in_potentialflaeche“ und bestätige mit OK.
![Bildschirmfoto_2022-05-13_um_17.32.30.png](https://s3.amazonaws.com/a.storyblok.com/f/281328/4caec38932/e3a46ef3-3566-43fa-a124-1e9e417e18ae.png)
- Somit hast du dem Modellbaum einen weiteren Ast hinzugefügt:
![Bildschirmfoto_2022-05-03_um_22.49.20.png](https://a.storyblok.com/f/281328/0d34f57129/d41ecccc-8d5e-4f60-8090-5ddd866edbca.png)
- Schauen wir uns nun an, wie es sich verhält, wenn wir unser angepasstes Modell ausführen. Gehe dazu wieder auf den grünen Pfeil und setze den „Abstand zur Autobahn“ auf den Originalzustand von 200 Metern zurück, damit wir die Ergebnisse besser vergleichen können. Du siehst außerdem ein neues Feld „Layer: Flurstücke [optional]“, das wir eben angelegt haben. „Optional“ bezieht sich darauf, dass wir den Haken bei „zwingend“ herausgenommen haben und das Modell auch ausführen könnten, ohne dort etwas auszuwählen (Ergebnis wäre dann aber nur die Größe der Potentialfläche). Da wir aber die Flurstücke innerhalb der Potentialfläche berechnen möchten, wähle im Dropdown Menü „flurstuecke_auszug“ aus. Bestätige mit „Starten“.
![Bildschirmfoto_2022-05-03_um_22.51.39.png](https://s3.amazonaws.com/a.storyblok.com/f/281328/592cb4b854/5a101084-b996-4d3e-a24d-06043e579f0a.png)
- Gehe zurück in den Projektreiter. Dort siehst du nun im Layerfenster die beiden Ergebnislayer. Zur besseren Übersichtlichkeit kannst du sie noch in die Gruppe „output_modell“ verschieben und die beiden anderen Gruppen ausblenden.
![Bildschirmfoto_2022-05-13_um_17.58.46.png](https://s3.amazonaws.com/a.storyblok.com/f/281328/b510d4ad8d/b467ac49-5879-439d-91e3-5b9780779465.png)
- Auf diese Weise kannst du also an verschiedenen Stellschrauben im Modell drehen und dein Projekt ohne großen Aufwand verändern. Abschließend kannst du dein neues Modell noch speichern. Gebe dazu im Modellreiter unter „Modell-Eigenschaften“ einen Namen ein, zum Beispiel „solar_modell_erweitert“. Das ist der Name, der in der qgz gespeichert und in QGIS angezeigt wird. Damit wurde die Datei aber noch nicht auf deiner Festplatte umbenannt. Gehe dafür oben links in der Menüleiste auf „Modell“ → „Modell speichern als...“. Navigiere zum QGIS Advanced Ordner → Modelle und vergebe einen Dateinamen wie „solar_modell_erweitert“ und speichere dein Modell ab.
![Bildschirmfoto_2022-05-03_um_22.58.52.png](https://s3.amazonaws.com/a.storyblok.com/f/281328/32a1485e69/e230a473-4560-48c6-9c11-d2e5311f48fa.png)
- Alternativ könntest du dein Modell auch direkt im Projekt speichern („Modell“ → „Modell im Projekt speichern“), dann landet es in der qgz. Vorher müsstest du aber auf jeden Fall den Namen in den Modell-Eigenschaften vergeben, damit du es später wiederfindest.
![Bildschirmfoto_2022-05-13_um_18.04.58.png](https://s3.amazonaws.com/a.storyblok.com/f/281328/8f66867293/48fccc56-a1fb-4f32-94eb-5f623fbaace3.png)
Hiermit hast du die Übung erfolgreich abgeschlossen, herzlichen Glückwunsch! 😊