[GRASS-user] strange behaviour of v.surf.idw

Paul Kelly paul-grass at stjohnspoint.co.uk
Tue Feb 12 05:40:45 EST 2008


On Tue, 12 Feb 2008, G. Allegri wrote:

> Hello everyone. In these days I was using IDW to make an easy interpolation
> of a point features layer, and I faced a strange behaviour.
> My dataset is composed of 122 points, and the attribute to be interpolated
> is Z, in the sample I attach.
> I've interploated first in a narrow region around a peak. 5/122 points were
> used and the result is this:http://www.geospatial.it/allegri/IDW1.png, 491
> rows x 552 columns of 2 meters cells.
> Then I've widened the region in the same area:
> http://www.geospatial.it/allegri/IDW2.png. Ok
> Then, when I've interpolated across the while area, the result is this
> strange over-smoothed surface: http://www.geospatial.it/allegri/IDW3.png ,
> where I put in evidence the first small region.

Are you sure they are really that different? If you could use the same 
colour table for all three images, it would be a lot easier to see. I 
mean, are the values actually very different or are you just going by the 
colours?

If you still notice anomalies after assigning the same colour table to all 
the maps, I will definitely look into it, as I wrote a lot of the code in 
the current version of v.surf.idw.

> Another wierd surface I got is: http://www.geospatial.it/allegri/IDW4.png ,
> resulted from a lower resolution setting (50 meters) of the region.
>
> About IDW3:
> Why the interpolation fails to detect local anomalies while it gets wider?
> It seems that the algorithm doesn't manage correctly the incresing number of
> points vs search radius.

I'm not sure what you mean here. Can you explain further?

> I will try to take a look at the v.surv.idw code,
> and to understand what the nrowsxncols/npoints>400 threshold stands for...

It means, if the resolution is quite a lot larger than the number of 
points, it simply searches through all the points for each cell of the 
output raster to find the 12 closest, rather than using a search radius to 
only search those close by. It is just a bit faster. But if you can 
improve the way it detects this it would be very interesting as I'm not 
happy with the choice of such an arbitrary number.

Paul


More information about the grass-user mailing list