*v.surf.idw* fills a raster matrix with interpolated
values generated from a set of irregularly spaced data
points using numerical approximation (weighted averaging)
techniques. The interpolated value of a cell is determined
by values of nearby data points and the distance of the
cell from those input points. In comparison with other
methods, numerical approximation allows representation of
more complex surfaces (particularly those with anomalous
features), restricts the spatial influence of any errors,
and generates the interpolated surface from the data
points.

This program allows the user to use a GRASS vector point map file, rather than a raster map layer, as input.

The amount of memory used by this program is related to the number of vector points in the current region. If the vector point map is very dense (i.e., contains many data points), the program may not be able to get all the memory it needs from the system. The time required to execute is related to the resolution of the current region, after an initial delay determined by the time taken to read the input vector points map.

To read and interpolate from the elevation co-ordinates as 3rd dimension
of the vector geometry, use *layer=0*. In this case no *column*
parameter has to be specified.

If the user has a mask set, then interpolation is only done
for those cells that fall within the mask. However, all
vector points in the current region are used even
if they fall outside the mask. Vector points outside the current
region are not used in the interpolation. A larger region may
be set and a mask used to limit interpolation to a smaller area
if it is desired to use vector points from outside the region in the
interpolation. The *-n* flag may also be used to
achieve a similar result.

If more than *count* points fall into one target raster cell,
the mean of all the site values will determine the cell value (unless
the -n flag is specified, in which case only the *count*
points closest to the centre of the cell will be interpolated).

The *power=* parameter defines an exponential distance weight.
Greater values assign greater influence to values closer to the
point to be interpolated. The interpolation function peaks sharply over
the given data points for 0 < *p* < 1 and more smoothly for
larger values. The default value for the power parameter is 2.

By setting *npoints=1*, the module can be used
to calculate raster Voronoi diagrams (Thiessen polygons).

Improved algorithm (indexes points according to cell and ignores points outside current region) by Paul Kelly

*Last changed: $Date$*