[GRASS-user] Re: Thin plate spline for climate point record interpollation?

Joel Pitt joel.pitt at gmail.com
Thu Aug 7 22:22:57 EDT 2008

I'd be keen to see something like this too, if time permits I might
even work on it myself (if I convince my colleagues it's worthwhile
for our project).


On Sun, Jul 27, 2008 at 2:30 AM, Andreas Philipp
<andreas.philipp at geo.uni-augsburg.de> wrote:
> I think Dimos does not look just for "normal" interpolation of a
> variable just using the spatial information of the variable itself, but
> for a procedure using additionally a multiple regression scheme of a set
> of "independent" variables. As far as I know there is no tool yet to do
> that easily within GRASS at the moment (please correct me if it is there
> already).
> Because I was also thinking how to realise a regression based
> interpolation scheme in GRASS and might be not the only one, I try to
> describe the problem:
> Those independent variables can be elevation, lat and lon of the station
> or relief parameters which have a stable average influence on the
> spatial distribution of the target variable.
> E.g. in order to interpolate temperature accurately you
> calculate a regression coefficient from height-above-sea-level-values
> onto the temperature-values (over the whole space and time domain). Then
> you subtract the fitted temperature values from the observed
> temperatures and receive a temperature anomaly field (the residuals)
> which would be realised if no height differences would be given but only
> the spatial temperature variation due to meteorological reasons. Then
> these anomalies (residuals) are interpolated in space with splines or
> whatever onto a regular grid. Afterwards this grid is scaled to height
> again by using the regression coefficients, et voila. This takes into
> account that the target variable is not only dependend of spatial
> autocorrelation (interpolated temperature of a mountain is then not as
> high as the station record in the nearby valley). This is a procedure
> which is commonly recommended in climatology.
> However, in order to calculate the regression coefficients, longer time
> series should be used (not only the time slice or map which is intended
> to be interpolated) in order to get the pure average dependence of
> temperature to elevation. Further it might be necessary to do the whole
> analysis for each month of the year separately in order to account for
> effects of large scale climatological differences in the annual cycle.
> Instead of elevation only also latitude, longitude and other parameters
> can be used in a multiple regression scheme. An especially interesting
> independent parameter is a typical relief type of the surrounding of
> each gridpoint (achieved by principal component analysis of the
> neighbour grid point heights in a moving window. May be to be plugged in
> into r.li?).
> If I'm right this is not easy to do within GRASS at this time. May be R
> can be used as a work around? Anyone has an idea?
> I think it would be great to have such a tool originally in GRASS (I'm
> sure a lot of climatologists would grep for GRASS just for that feature)
> but it is a bit of work to program it (I think the main problem would be
> the multiple regression, if only there was a fortran90 interface ...).
> However to use a single independent variable may be r.mapcalc could be
> used if the vector point observations are transformed to raster maps
> (bivariate regression is rather simple even if quite a few raster maps
> are neccessary).
> Hm, quite a long mail, but may be some others are interested and willing
> to solve ...
> Please correct me if I'm missing something.
> Andreas
> Am Freitag, den 25.07.2008, 23:35 -0700 schrieb Dimos:
>> Searching at the Grass online manual, I have found two
>> modules that are relevant to my question:
>> 1)v.surf.rst
>> 2)v.vol.rst
>> So, maybe these could be used to create a 1km climate
>> surface with independent variables of Lat, Long and
>> Elev? (v.vol.rst needs similar input on the 3D x,y,z
>> files)
>> Thanks, Dimos
>> --- Dimos <dimos_anastasiou at yahoo.com> wrote:
>> > Dear Grass Users,
>> >
>> > How to do thin plate spline interpolation with Grass
>> > GIS (ex. Anusplin
>> >
>> http://fennerschool.anu.edu.au/publications/software/anusplin.php)
>> > using:
>> >
>> > -Lat, long and elevation as the 3 independent
>> > variables
>> > -Temperature or precipitation as dependent variable
>> > -1 KM elevation grid
>> > -Irregularly spaced 30 year climate records (POINT
>> > DATA)
>> >
>> > To create a: 1 KM resolution climate surface for
>> > each
>> > dependent variable
>> >
>> > Thanks,
>> >
>> > Dimos
>> >
>> _______________________________________________
>> grass-user mailing list
>> grass-user at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/grass-user
> _______________________________________________
> grass-user mailing list
> grass-user at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/grass-user

More information about the grass-user mailing list