Wichtig

Translation is a community effort you can join. This page is currently translated at 88.89%.

17.24. Die iterative Ausführung von Algorithmen

Bemerkung

Diese Lektion zeigt einen anderen Weg, Algorithmen für Vektorlayer wiederholt zu starten. Dabei wird über Objekte des Eingabevektorlayers iteriert.

We already know the model designer, which is one way of automating processing tasks. However, in some situations, the modeler might not be what we need to automate a given task. Let’s see one of those situations and how to easily solve it using a different functionality: the iterative execution of algorithms.

Öffnen Sie die zu diesem Kapitel gehörenden Daten. Sie sollten in etwa wie folgt aussehen.

../../../_images/project1.png

Wir erkennen unser wohlbekanntes DEM aus früheren Lektionen und einige daraus extrahierte Wasserscheiden. Stellen Sie sich vor, Sie müssen das DEM in mehrere kleinere Layer zerteilen, die jeweils das zu einer Wasserscheide gehörende Gebiet enthalten. Das ist nützlich, wenn man später für jedes Einzugsgebiet bestimmte Parameter wie z.B. die mittlere Höhe oder die hypsografische Kurve bestimmen möchte.

Das kann ein langwieriger und ermüdender Prozess sein, besonders wenn die Anzahl der Wasserscheiden hoch ist. Die Aufgabe kann aber einfach automatisert werden, wie wir gleich sehen.

Der Algorithmus, der zum Zuschneiden eines Rasterlayers mit einem Polygonlayer verwendet wird, nennt sich Clip raster with polygons. Er beinhaltet den folgenden Parameter Dialog.

../../../_images/clip2.png

Wenn Sie ihn mit dem Layer der Wasserscheiden und dem DEM als Eingabe starten, erhalten Sie das folgende Ergebnis.

../../../_images/full_clip.png

Wir sehen, dass die Fläche aller Polygone von Wasserscheiden für den Zuschnitt verwendet wird.

Man hätte auch das Polygon einer Wasserscheide auswählen und anschließend den Algorithmus zum Zuschneiden starten können.

../../../_images/selection.png

Da nur gewählte Objekte verwendet werden, wird nur das ausgewählte Polygon zum Zuschneiden des Rasterlayers genutzt.

../../../_images/selection_clip.png

Wenn man so für alle Polygone vorgeht, erhält man das gewünschte Ergebnis. Allerdings ist das kein sehr praktikables Vorgehen. Wir werden stattdessen sehen, wie man die select and crop Routine automatisiert.

Entfernen Sie als Erstes die vorherige Auswahl, so dass wieder alle Polygone genutzt werden. Öffnen Sie nun den Algorithmus Clip raster with polygon und wählen dieselben Eingabewerte wie vorher. Klicken Sie dann auf die Schaltfläche auf der rechten Seite des Eingabefeldes in dem der Vektorlayer ausgewählt wurde.

../../../_images/iterate_button.png

Die Schaltfläche bewirkt, dass der gewählte Eingabelayer sooft geteilt wird, wie er Objekte enthält. Der Algorithmus wird dann für jedes enthaltene Objekt wiederholt aufgerufen. Als Ergebnis erhält man nicht einen Rasterlayer sondern eine Menge an Rasterlayern. Die Anzahl der Rasterlayer entspricht der Anzahl der Aufrufe des Algorithmus.

Hier ist das Ergebnis, dass Sie erhalten wenn Sie den Algorithmus wie beschrieben ausführen.

../../../_images/result_iterative.png

Die Palette zwischen Weiß und Schwarz (oder auch jede andere verwendete Palette) wird für jeden Layer anders eingestellt, abhängig von den enthaltenen Minima und Maxima. Das ist der Grund, warum man die verschiedenen Teile sieht und die Farben an der Grenze der Layer nicht ineinander übergehen. Die Werte passen trotzdem zueinander.

Wenn Sie einen Ausgabedateinamen angeben, werden die ausgegebenen Dateien mit diesem Namen und einem Suffix für die jeweilige Iteration benannt.