Leerwerte in Eingabe-Geotifs

Mit dem Release von SplashTool 3.1 hat sich die Verarbeitung von Leerwerten (NoData-Werten) in GeoTif-Dateien verändert. GeoTif-Dateien sind das Standard Ein- und Ausgabeformat von SplashTool für die rasterbasierte Analyse. Doch was sind NoData-Werte, und wofür braucht man sie überhaupt?

Warum Leerwerte?

Im Regelfall analysieren wir mit Geoinformationssystemen oder Analysetools wie SplashTool natürliche Einzugsgebiete, oder Betrachtungsbereiche wie zum Beispiel Ortsteile, Gemeinden, Städte, oder sogar ganze Landkreise. Diese sind eigentlich immer irregulär geformt, und nicht perfekt rechteckig und nach Norden, Süden, Osten und Westen ausgerichtet, wie es ein GeoTIF gerne hätte. Die Lösung ist, dass das GeoTIF ein „umliegendes Rechteck“ um den abgegrenzten irregulären Betrachtungsbereich bildet, und alle Zellwerte, welche außerhalb des Betrachtungsbereichs sind, als „Leerwerte“ definiert werden.

Die bisherige Vorgehensweise

In SplashTool 2.2 und älter musste man die Bereiche außerhalb manuell zu einer bestimmten Zahl (zum Beispiel -999) reklassifizieren, und anschließend den „Nodata-Threshold“, also den Schwellwert, unter welchem Zahlen als Leerwert definiert werden, auf einen größeren Wert setzen (zum Beispiel -888). Somit konnte SplashTool mitgeteilt werden, dass die Zellen als Leerwerte zu interpretieren sind.

Die neue Vorgehensweise ab SplashTool 3.1

Ab SplashTool 3.1 wird der „Nodata-Threshold“ nur noch dann verwendet, wenn das Eingabe-GeoTIF keinen definierten Leerwert aufweist, ansonsten wird der Leerwert des GeoTifs übernommen. Das Problem dabei: ArcGIS verwendet in einigen Geoverarbeitungstools wie zum Beispiel dem Raster-Cliptool „nach Maske extrahieren“ sehr große bzw. sehr kleine Zahlen als Nodata-Werte. DIese Zahlen können unter Umständen nicht mehr exakt als „Float32“ abgebildet werden, wodurch eine Abfrage, ob eine Rasterzelle diesen Wert enthält, nicht zuverlässig durchgeführt werden kann.

Dieses Problem wird in SplashTool folgendermaßen gelöst:

  • Wenn der im GeoTIF definierte Nodata-Wert größer ist als 108, werden alle Werte größer als 108 zu Nodata reklassifiziert
  • Wenn der im GeoTIF definierte Nodata-Wert kleiner ist als -108, werden alle Werte kleiner als -108 zu Nodata reklassifiziert
  • Nur wenn das GeoTIF keinen definierten Nodata-Wert aufweist, werden Zellen, die kleiner als der Nodata Threshold sind, zu Nodata reklassifiziert.
  • Der Nodata-Threshold wurde mit der Aktualisierung von SplashTool 2.2 auf SplashTool 3.0 von -888 auf -88.888 geändert. Dies war wichtig, da mit dem Wechsel auf die fließrichtungsabhängigen Abflussakkumulation auch negative Werte kleiner als -888 in den Ergebnissen auftreten können, und diese bei einem Restart einer abgebrochenen Iteration erneut eingelesen werden müssen.

In QGIS können und sollten Sie bei der Nutzung des Tools „Raster auf Layermaske zuschneiden“ einen Leerwert setzen und diesen so definieren, dass er außerhalb der von Ihnen erwarteten Eingangs- und Ergebnisdaten liegt, zum Beispiel auf -88.888:

QGIS-Geoverarbeitungswerkeug „Raster auf Layermaske zuschneiden“ mit markiertem Bereich zur Definition des Leerwerts

Um zu sehen, ob für ein Raster ein Nodata-Wert im Geotif definiert wurde, können Sie in QGIS in den Einstellungen zum Rasterdatensatz den Reiter „Transparenz“ öffnen. Dort sehen Sie, ob ein Leerwert definiert wurde.

Nodata-Werte in anderen Datensätzen

Für den Betrachtungsbereich sind die Data- und Nodata-Zellen des digitalen Geländemodells ausschlaggebend. Nodata-Zellen in allen anderen Eingabedateien (zum Beispiel Anfangswasserstand) werden zu 0 reklassifiziert. Somit werden auch dann plausible Ergebnisse erzeugt, wenn das Anfangswassertiefenraster an einzelnen Stellen Leerwerte enthält, an welchen das DGM Daten aufweist.

Fazit

Mit der Aktualisierung von SplashTool auf die Version 3.1 hat sich die Verarbeitung von Nodata-Werten in den Eingabe-Geotifs geändert. Sie müssen Leerwerte nicht mehr zu einer bestimmten Zahl reklassifizieren, ich empfehle Ihnen, die in QGIS und ArcGIS eingebaute Möglichkeit zu nutzen, Nodata-Werte für das Geotif selbst zu definieren. Hierdurch haben Sie mehrere Vorteile:

  • Die MIN- und MAX-Werte werden im GIS korrekt angezeigt
  • Sie können die dargestellten Daten leichter plausibilisieren

Wenn ihr GeoTIF einen definierten Nodata-Wert hat, so sind alle im GIS sichtbaren Werte die Werte, mit denen SplashTool die Analyse durchführt. Die alte Herangehensweise mit manuell klassifizierten Werten unterhalb des Schwellwerts funktioniert nur noch, wenn das GeoTif selbst keinen definierten Nodata-Wert hat.