Re: moving average

HI Gaoming Fu,

> Recently some one told me that Moving average is another good way for
> interpolation. But I have no idea about it. Does VisAD suppor it?
> 
> For example, for an area of 10 by 10 m, I have some irregular points (with x, 
> y, and z).
> Now I want to draw the surface using a grid with cell size of 1 m. First I 
> have to interpolate
> these grid points to get the z values (this can be easily done using 
> WEIGHTED_AVERAGE
> and NEAREST_NEIGHBOR methods in VisAD), then draw those grid points. Now I 
> want to try the so called "Moving average" approach. The purpose is
> to get a smooth surface so that it is very close to the real topography 
> visually.

A moving average interpolation is an example of WEIGHTED_AVERAGE,
it is only a question of what the weights are. Applications can
control this by extending the Set class (or extending one of its
subclasses, which is generally easier) and overriding the
valueToInterp() and/or doubleToInterp() methods. Note the doubles
are used primarily for 1-D sets of time values.

An easier alternative might be an explicit analysis function that
you could write to take your IrregularSet, apply the moving average
interpolation, and construct a GriddedSet.

Good luck,
Bill
----------------------------------------------------------
Bill Hibbard, SSEC, 1225 W. Dayton St., Madison, WI  53706
hibbard@xxxxxxxxxxxxxxxxx  608-263-4427  fax: 608-263-6738
http://www.ssec.wisc.edu/~billh/vis.html