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.
Wir kennen schon die grafische Modellierung, die eine Möglichkeit der automatischen Aufgabenverarbeitung darstellt. In manchen Situationen ist die Verarbeitungsmodellierung aber nicht das richtige Werkzeug zur Automatisierung. Sehen wir uns so ein Beispiel näher an. Die Lösung ist in diesem Fall eine abweichende Funktionalität: die iterative Ausführung von Algorithmen.
Öffnen Sie die zu diesem Kapitel gehörenden Daten. Sie sollten in etwa wie folgt aussehen.
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.
Wenn Sie ihn mit dem Layer der Wasserscheiden und dem DEM als Eingabe starten, erhalten Sie das folgende Ergebnis.
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.
Da nur gewählte Objekte verwendet werden, wird nur das ausgewählte Polygon zum Zuschneiden des Rasterlayers genutzt.
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.
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.
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.