[GRASS-user] Spatially/networked constrained interpolation

Hamish hamish_nospam at yahoo.com
Mon Apr 30 01:55:51 EDT 2007


Jonathan Greenberg wrote:
> One of the issues we are currently working on (and the reason for the
> barrage of emails about point files and whatnot) is moving towards
> interpolating data which is located in a river network.  Are there any
> spatial interpolation techniques available in grass which will take
> into account "barriers" when calculating distances (say, if we are
> using a kriging approach).  For instance:
> 
> 
> ----?-------
> 		\____X1_______
> 		/
> ---X2-------
> 
> These are two rivers flowing into a larger channel.  ? is an unknown
> value I want to predict.  X1 and X2 are two stations that I have data
> for.  X2 is geographically closer to ? than X1, but if you approach
> this viewing it as a network or a costdistance surface where the
> distances must be constrained by channel connectivity, X1 is closer
> than X2.  Initially I've considered generating a costdistance surface
> PER station using a mask of the rivers, and using that to figure out
> the distance of any arbitrary point to every station, then pulling out
> the variogram info into R or some stats package, make a model, then
> apply it to the stack of distance from station X rasters. Is there a
> better way of doing this?


Hi Jonathan,

I have written something which does that for raster data (true cost
interpolation). It is well developed and tested, but I have not yet
formally published it. In our project we are looking at parallel fjords,
not rivers, but it is the same non-polluting idea -- you want as-the-
fish-swims "cost" distance, not as-the-bird-flies Euclidean distance.

+: you can make it more expensive to travel upstream and other cool
stuff. (similar to r.walk in that way- it may be quicker to drive up the
gentle back of a hill than to attempt the shortest path up a cliff face)

-: it is extremely computationally intensive for more than ~50 starting
vector points, so is better for point source monitoring problems than
bathymetric surface interpolation. (it was written for interpolating
between CTD stations)

screenshot:
 http://bambi.otago.ac.nz/hamish/grass/screenshots/inlets_03_SurfSal_icw_big.png


alternative methods in other GIS systems I have seen are abysmally brain
dead. e.g. AFAICT the barrier method used in Arc just removes points
from the IDW interpolation which do not have direct line of sight to
each other. Useless for a curved river or two points either side of an
island. Worse, that gives you a bad results if you do have a far away
point which happens to be in the line of sight, and much closer points
which aren't.


contact me off-list for more info,
Hamish




More information about the grass-user mailing list