Nach ungefähr einem Jahr seit dem letzten Release freue ich mich sehr, dieses Mal wieder ein größeres Update ankündigen zu dürfen! Der Installer für SplashTool Version 3.0, sowie die aktualisierte Installationsanleitung und Verfahrensbeschreibung sind ab sofort im passwortgeschützten Kundenbereich verfügbar! Hier sind die wichtigsten Neuerungen.
Neue Berechnung der Abflussakkumulation
SplashTool hat sowohl in der CPU-als auch in der GPU-Variante einen aktualisierten Rechenkern spendiert bekommen. Die Analyse funktioniert immer noch nach demselben Prinzip. Wasser fließt entsprechend der Wasserstände in jedem Iterationsschritt von Zelle zu Zelle, bis sich ein annähernd stationärer Zustand einstellt. Geändert hat sich die Ermittlung der Abflussakkumulation. Diese wurde in alten Versionen als ein einzelner Summenwert je Zelle ermittelt. Wenn zum Beispiel Wasser die Zelle in negativer X-Richtung (Richtung Westen) verlässt, führt dies zu einer Erhöhung der Abflussakkumulation genauso, wie wenn Wasser die Zelle in positiver X-Richtung verlässt (in Richtung Osten). Im neuen Rechenkern wird die Abflussakkumulation in X Richtung und in Y Richtung jeweils separat bilanziert. Hierbei können auch betragsmäßig negative Werte auftreten, wenn die Akkumulation in negativer X- oder Y-Richtung auftritt, sodass die Akkumulationsraster eine Aussage über die vorherrschende Richtung ermöglichen. Im Gegensatz zur bisherigen Vorgehensweise wird die Gesamtabflussakkumulation nicht mehr als Summe der Akkumulationen in X- und Y-Richtung berechnet, sondern als Wurzel der Summe der Quadrate der Akkumulationen in X- und Y- Richtung:
flow_xy = (flow_x^2 + flow_y^2)^0.5
Dieser Ansatz entspricht eher einer richtungsabhängigen Akkumulation und führt gerade bei Abflusspfaden, die schräg über das Raster laufen und sowohl Komponenten in X- und Y Richtung haben, zu aussagekräftigeren Ergebnissen.
WICHTIG: Dies bedeutet, dass die Abflussakkumulation mit dem neuen Ansatz geringer ausfällt, als mit dem alten Ansatz, wo die Werte summiert wurden. Ebenso könnten mit dem neuen Ansatz Akkumulationen sich gegenseitig „eliminieren“, wenn zum Beispiel Wasser zu verschiedenen Iterationsschritten in einer Rasterzelle in verschiedene Richtungen fließt. Da die Akkumulation geringer ausfällt, fällt auch die Änderung der Akkumulation geringer aus, sodass die Iteration ggf. früher als vorher das Konvergenzkriterium erreicht. Bitte prüfen Sie, ob das von Ihnen gewählte Konvergenzkriterium mit der neuen Berechnungsweise noch ausreichend stationäre Ergebnisse erzeugt.
Falls Sie mit SplashTool Version 3.0 die alte Berechnungsmethode für die Abflussakkumulation nutzen möchten, können Sie dies ohne Probleme tun. Setzen Sie hierzu einfach in den Einstellungen das Häkchen „legacy flowacc“.
Postprocessing und Darstellung von Fließpfeilen
Die neue Berechnungsmethode für die Abflussakkumulation ermöglicht es, nach der Iteration über einen Postprocessing-Algorithmus Fließpfeile zu erstellen. Diese Fließpfeile werden in Bereichen mit höherer Abflussakkumulation erstellt und dienen der Visualisierung. Der hierfür genutzte Ausdünnungsalgorithmus nutzt ein komplexes Verfahren, welches sicherstellt, dass die Fließpfeile an den Stellen dargestellt werden, wo die höchsten Abflussakkumulationen auftreten. Eine Aufrasterung oder Mittelwertbildung findet hierbei nicht statt, wodurch eine ansprechende visuelle Qualität der Ausdünnung erreicht werden kann. Sie können sowohl den Schwellwert der Abflussakkumulation, ab welcher Pfeile erstellt werden sollen, als auch mittlere Abstände der Punkte voneinander definieren. Geben Sie mehrere mit ; getrennte Werte an, um mehrere Ergebnisdatensätze zu erstellen. Zum Beispiel:
16, 32, 64
um drei Ergebnisdatensätze mit mittleren Punktabständen von 16, 32 und 64 Metern zu erstellen.
Die ausgedünnten Datensätze werden als ESRI Punktshapefile ausgespielt. Sie können diese mit einem entsprechenden Symbol (zum Beispiel einen Pfeil) visualisieren, indem Sie das Attributfeld „RICHTUNG“ als Rotationsfeld in geografischer Rotation definieren (0 Grad zeigt nach Norden, der Winkel nimmt im Uhrzeigersinn zu).
Dieser Blogartikel erklärt, wie Sie die Punkshapefiles in QGIS oder ArcGIS Pro visualisieren.
EIn Beispielpaket mit Ergebnisdaten und GIS-Projekten für die Visualisierung der Fließpfeile in QGIS und ArcGIS können Sie hier herunterladen.
Freigabe des Grafikkartenspeichers
Der Arbeitsspeicher der Grafikkarte wird jetzt direkt nach dem Ende einer Iteration mit dem GPU Rechenkern freigegeben und nicht erst, wenn SplashTool geschlossen wird.
Bessere Berücksichtigung von NODATA-Definitionen in Eingabe GeoTIFs
Wenn ein Input-Geotif einen dedizierten Nodata-Wert aufweist, so wird dieser beim Einlesen berücksichtigt. Erst, wenn kein Nodata-Wert definiert ist, wird der in der Konfiguration definierte NODATA-Schwellwert zur Ermittlung verwendet. Alle Zellen die kleiner als der Schwellwert sind, werden als NODATA interpretiert. Der Standardwert für den Nodata Schwellwert in der neuen .splashconfig ist -88.888 und kann bei Bedarf vom Nutzer angepasst werden. Beim GeoTIF-Export wird Nodata zu -8.888.888 gesetzt.
Performance von SplashTool 3.0 im Vergleich zu Version 2.2
Der „legacy Rechenkern“ von SplashTool 3.0 ist sowohl vom Berechnungsansatz, als auch von der Performance identisch mit dem Rechenkern von SplashTool 2.2.
Der neue GPU-Rechenkern ist aufgrund der etwas komplexeren Berechnung ca. 3 Prozent langsamer als der alte Rechenkern, der CPU-Rechenkern ist um 12% langsamer. Da mehr Daten verarbeitet werden müssen, sind ca. 25% bis 30% mehr Arbeitsspeicher für CPU und Grafikkarte erforderlich. Da mehr Ausgabedateien geschrieben werden, und aufgrund des Postprocessings am Ende der Iteration dauert auch das Schreiben der Ergebnisdaten etwas länger.
Aufgrund der verbesserten Methode zur Ermittlung der Akkumulation, und der Möglichkeit des Postprocessings, empfehle ich Ihnen, den kleinen Geschwindigkeitsverlust in Kauf zu nehmen, sofern Ihre Hardware genügend Arbeitsspeicher hat. Sie profitieren hierdurch von aussagekräftgeren Ergebnissen und hilfreichen Visualisierungen.