interpolation, rast.to.sites

Michael Hill mhill at chiswick.anprod.csiro.au
Sun Jul 4 14:20:41 EDT 1993


On Fri, 2 Jul 93 18:02:28 EST, Simon Cox wrote:

>
>I have been told that s.surf.tps is the "best" interpolater available
>in grass.  Why is this?  My little experience with it has shown
>that it is certainly not quick!  What are its relative merits,
>in comparison with idw and idw2?
>
>What is the easiest way to convert a raster to a site list, so
>that I can use the s.surf.tps interpolater?  Is it necessary to
>go via an ascii intermediate step?
>
>Thanks for your advice.
>
>Simon Cox
>

Simon,

I should plead guilty to an oversimplification in my comment to you about 
interpolators in grass. I have been interested to read the various 
responses on the grassu-list. Interpolation is a complicated issue, since 
by its very nature one is trying to "put data where none exists".

I am currently heavily involved in using interpolators of all sorts, from 
the idw type, through ArcInfo's tin, to s.surf.tps, to the spline software 
developed by Mike Hutchinson which allows the use of independent variables 
and/or covariates to "improve" the quality of a surface where something is 
known about the relationship between your target data, and another 
variable for which you have more data points, or even a grid.

Where you have sparse data, with a poor coverage, s.surf.idw does a good 
job of giving you a surface which reflects the data you have, and nothing 
more. But with sparse data, as I have from a model run on eastern 
Australia, you get all sorts of unsatisfactory  spots and regions which 
you know do not reflect the real response surface. A tin (triangular 
irregular network can do a little better job and readily restrict you 
surface to a convex hull about your points, avoiding the strange 
happenings which can occur for instance with splines.

I feel that s.surf.tps is a great innovation for grass ( the proposed 
semivariogram kriging routine will also be a great addition), however it 
does require a good even coverage of points, and fiddling with the tension 
and other parameters to avoid the spectacular over- and under-shoots which 
can occur in "data holes" and bare edge patches. 

Dealing as I do with pasture models, requiring long runs of complete 
climate data sets, inevitably I end up with a sparse set of data points. 
However, if my model output is, say, dry matter yield, I have a good basis 
for saying that independent grids of rainfall, elevation, temperature etc 
will have quite predictable relationships with my model output. It is in 
this area, that the algorithms which Hutchinson has developed, using 
covariate relationships or independent variables, are hard to beat.

As I remember it, you were trying to contour a raster map. I guess my 
experience with the grass raster contouring is the same as yours. Very 
slow. Being an impatient soul, and flipping from program to program, I 
prefer to regard rasters as simply arrays of points and to operate on 
them, or subsamples of them, as such. Arc/Info has a nice "very important 
point" (VIP) extraction routine to overcome the time and processing 
problems of contouring, etc., very dense grids or point sets.

Interpolation is an area where different routines suit different tasks, 
and sometimes the most simple say idw may be quite appropriate since it 
represents the data, and does not OVERSTATE the precision. 

I would repeat my suggestion that if you are unhappy with the speed of r.
surf.contour, try extracting a representative subsample of your grid cells 
as points and see what s.surf.tps will do. You should have a good coverage 
of points. The only reservation is that it would be better to extract the 
say 10% of cells which statisically best describe the variation in your 
data. I am not sure that there is a way to do this in grass.

Just a final important general point. Surface generation is all about a 
better representation of sparse real data. The primary concern should 
always be with not overfitting the surface, retaining a suitable humility 
about the error levels in your surface, and the respect for the 
limitations imposed by the quality, accuracy and portability of the base 
data.



Apologies to those not interested in this, but I don't often burden you 
with my thoughts


Michael Hill


Michael J Hill
Research Scientist
CSIRO Pastoral Research Laboratory, Armidale, NSW, Australia,2350.
E-Mail address: mhill at chiswick.anprod.csiro.au



More information about the grass-user mailing list