next up previous contents index
Next: Isolinienberechnung aus Höhenmodellen Up: Rasterdatenverarbeitung Previous: Verschneidung verschiedener Flächen   Contents   Index


Interpolation von Rasterdaten

GRASS stellt Interpolationsmodule für zwei Anwendungsfälle zur Verfügung:

1.
Die Rasterdatei ist lückenhaft und weist Nullwerte auf.
2.
Die Auflösung der Rasterdatei soll verändert werden.

Die Interpolation verläuft für den ersten Fall folgendermaßen: Das Modul

$ r.surf.idw2

berechnet über eine Filterung mit einer bewegten Gaußschen Glockenkurve, die die Gewichtung eines Rasterwertes in Bezug zu seiner Distanz berücksichtigt (die Anzahl der in die Rechnung einbezogenen nächsten Nachbarn ist als "`number of interpolation points"' wählbar, 12 Punkte sind der Standardwert). In einem wandernden "`Fenster"' werden also die neuen Werte aus den Rasterzellenwerten der nächsten Nachbarn gewichtet nach ihrer Entfernung berechnet. Dabei kann die Auflösung der neu zu erstellenden Rasterdatei mit $ g.region (Menüpunkt 1, GRID RESOLUTION) voreingestellt, d.h. der zweite Anwendungsfall kann gleich mit einbezogen werden. Arbeiten Sie im Längen-/Breitengrad-System, nehmen Sie $ r.surf.idw statt $ r.surf.idw2.

Weist die Rasterfläche größere Lücken auf, ist zu überlegen, mit Splines zu interpolieren. Bei korrekter Steuerung des Algorithmus sind die Ergebnisse wesentlich besser als nach der IDW-Methode. GRASS bietet die Splines-Interpolation im Punktformat an. Dazu ist die Rasterkarte also mit $ r.to.sites in das Punktformat zu konvertieren. Nun wird die neue Auflösung mit $ g.region gewählt. Die Interpolation erfolgt dann mit dem Modul

$ s.surf.rst

Als Ergebnis erhalten Sie die interpolierte Fläche wieder im Rasterformat. Zur Überprüfung der Qualität der Interpolation kann optional sogar eine Karte der lokalen Abweichungen erzeugt werden. Für eine genauere Beschreibung vgl. auch Abschnitt 7.7 bzw. MITASOVA ET AL. 1993a/b, MITAS ET AL. 1999 und NETELER & MITASOVA 2002.

Je nach Datenstruktur müssen Sie sich für eine geeignete Methode entscheiden.

Beim zweiten Anwendungsfall, der Auflösungsverbesserung, können Sie entweder dieselbe Interpolationsmethode oder eine Spline-Interpolation durchführen. Für die Gewichtungsmethode wird zunächst die Auflösung, wie eben beschrieben, mit $ g.region neu festgelegt. Dann führt man die Auflösungsveränderung mit dem Modul $ r.resample durch (arbeitet wie r.surf.idw[2] mit nearest neighbor resampling).

Es gibt zwei alternative Algorithmen zur IDW-Methode: Die bilineare Interpolation und "`Nächster Nachbar"' (nearest neighbor). Die bilineare Interpolation wird mit

$ r.bilinear

durchgeführt. Insbesondere die bilineare Interpolation, die zwar sehr schnell ist, eignet sich allerdings nur für geringe Auflösungsverbesserungen. Bei einer großen Änderung der Auflösung wird eine "`Quaderstruktur"' im Ergebnis sichtbar.

Wollen Sie eine große Auflösungsveränderung durchführen, bietet sich eher das Splines-Verfahren an. Hier wird die Zielauflösung im Modul angegeben, sie ist also nicht vorher mit $ g.region einzustellen. Das Resampling-Modul mit der Spline-Methode heißt

$ r.resamp.rst

Neben der Interpolation kann dieses Modul optional auch noch geomorphologische Parameter wie Hangneigung, Hangexposition, und Profilkrümmungen (vertikal, horizontal und Mittelwert) berechnen. Zu Details der Splineinterpolation sollten die Aufsätze von MITAS ET AL. 1999 und MITASOVA ET AL. 1993a und 1993b gelesen werden[*].


next up previous contents index
Next: Isolinienberechnung aus Höhenmodellen Up: Rasterdatenverarbeitung Previous: Verschneidung verschiedener Flächen   Contents   Index
Markus Neteler 2005-04-14