next up previous contents index
Nächste Seite: Tipp Aufwärts: Überflutungssimulation im Höhenmodell erzeugen Vorherige Seite: Beispieldaten   Inhalt   Index


Lösung mit GRASS

Es wurde GRASS 5.0pre1 unter einer Debian GNU/Linux Installation (woody) verwendet.

Eine pragmatische Lösung für diese Aufgabe ist es, alle Punkte einer Rasterdatei, deren (Höhen) - Wert unter einer bestimmten Vorgabe liegen auszublenden, also durch eine Maske zu verdecken. Hierzu bedient man sich des schon in Kapitel 4.4 ab der Seite [*] vorgestellten Programmes r.mapcalc, das direkte arithmetische und logische Operationen auf ein Raster zulässt. In diesem Fall genügt ein r.mapcalc Ergebnisdatei=``if(Ausgangsdatei <= 1900, null(), Ausgangsdatei)``. Hierdurch wird eine neue Ergebnisdatei erzeugt, in der alle Werte der Ausgangsdatei, die kleiner oder gleich 1900 sind, auf Null(), also ,,nicht existent`` gesetzt werden. Alle anderen Werte (der,, Else-Fall``) werden beibehalten. Eine Anzeige mit d.rast Ergebnisdatei zeigt das Ergebnis im aktiven Monitor an (Abb. 6.1)

GRASS:~ > r.mapcalc craterflood="if(crater <= 1900,null(),crater)"

\includegraphics[width=0.8\textwidth]{flood-model/flood-1.eps}

Abbildung 6.1: Überflutungssimulation ,,Crater Lake`` Pegelhöhe bei 1900 Metern mit GRASS

Soll die Ergebnisdatei als Maske gebraucht werden so kann man mit dem Aufruf r.mapcalc Ergebnisdatei=``if(Ausgangsdatei $<=$ 1900, null(), 200)`` dem nicht gefluteten Bereichen ein beliebiger Wert (hier 200) zugewiesen oder durch

r.mapcalc 'Ergebnisdatei=if(Ausgangsdatei $<=$ 1900, 200, null())'
das inverse Ergebnis erzeugt werden (alle Bereiche über 1900 werden ausgeblendet). Der Zahlenwert der Maske ist nicht entscheident, da durch GRASS alle Gebiete maskiert werden, die nicht null() sind.

GRASS:~ > r.mapcalc 'cratermask=if(crater <= 1900,200,null())'



Unterabschnitte
next up previous contents index
Nächste Seite: Tipp Aufwärts: Überflutungssimulation im Höhenmodell erzeugen Vorherige Seite: Beispieldaten   Inhalt   Index
Heiko Kehlenbrink 2002-04-18