[GRASS-user] Interpolating DEM from points with 'no data' area

Hamish hamish_b at yahoo.com
Mon May 6 14:19:59 PDT 2013


Adrian wrote:
>      I have a question about interpolating surface from vector 
> points. I'm building surface for a large area 8x10km with IDW
> method, from point data derived from LiDAR.
>
>      There is large area at the south-east side in the dataset
> (probably 1/3 of the whole set) with no data and also some small
> gaps in the data (in place of buildings). What to do when
> interpolating because the program interpolates also in the large
> 'no data' area resulting in flat surfaces and strange shapes
> there? How to proceed in this case?

the r.surf.nnbathy addon module often does the same. what I do
is create a MASK covering the area of interest, and apply it post-
hoc.

my workflow usually looks like this:

first I run r.in.xyz with the method=n statistic,
then run r.null to change all the n=0 into NULLs,
then run r.univar to check point vs. cell density,
then adjust 'g.region -a res=' and rerun r.in.xyz,
run r.null, recheck r.univar, etc etc etc.

when I'm happy with it do the real r.in.xyz import.
run r.buffer on the r.in.xyz import with the buffer size
set to some value a little bit bigger than the r.univar
density. typically I just do this by eye/educated guess
depending on the dataset.

then run the hole-filling interpolation.

finally the new buffer becomes a raster MASK (see r.mask),
I use "r.mapcalc interp.cropped = interpolated" to create a
new masked version of the interpolation, and then remove the
MASK.


Hamish


More information about the grass-user mailing list