123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- <h2>DESCRIPTION</h2>
- <em>r.surf.idw</em> fills a grid cell (raster) matrix with
- interpolated values generated from input raster
- data points. It uses a numerical approximation technique
- based on distance squared weighting of the values of
- nearest data points. The number of nearest data points used
- to determined the interpolated value of a cell can be
- specified by the user (default: 12 nearest data points).
- <p>
- If there is a current working mask, it applies to the output
- raster map. Only those cells falling within the mask will be
- assigned interpolated values. The search procedure for the
- selection of nearest neighboring points will consider all
- input data, without regard to the mask.
- The <b>-e</b> flag is the error analysis option that interpolates values
- only for those cells of the input raster map which have non-zero values and
- outputs the difference (see <a href="#minuse.html">NOTES</a> below).
- <p>The <b>npoints</b> parameter defines the number of nearest data points used
- to determine the interpolated value of an output raster cell.
- <h2>NOTES</h2>
- <em>r.surf.idw</em> is a surface generation utility which
- uses inverse distance squared weighting (as described in
- <i>Applied Geostatistics</i> by E. H. Isaaks and R. M.
- Srivastava, Oxford University Press, 1989) to assign
- interpolated values. The implementation includes a
- customized data structure somewhat akin to a sparse matrix
- which enhances the efficiency with which nearest data
- points are selected. For latitude/longitude projections,
- distances are calculated from point to point along a
- geodesic.
- <p>
- Unlike <em><a href="https://grass.osgeo.org/grass7/manuals/addons/r.surf.idw2.html">r.surf.idw2</a></em> (addon),
- which processes all input data points in each interpolation cycle, <em>r.surf.idw</em>
- attempts to minimize the number of input data for which distances must be
- calculated. Execution speed is therefore a function of the search effort,
- and does not increase appreciably with the number of input data points.
- <p>
- <em>r.surf.idw</em> will generally outperform
- <em>r.surf.idw2</em> except when the input data
- layer contains few non-zero data, i.e. when the cost of the search exceeds
- the cost of the additional distance calculations performed by
- <em>r.surf.idw2</em>. The relative performance
- of these utilities will depend on the comparative speed of boolean, integer
- and floating point operations on a particular platform.
- <p>
- Worst case search performance by <em>r.surf.idw</em> occurs
- when the interpolated cell is located outside of the region
- in which input data are distributed. It therefore behooves
- the user to employ a mask when geographic region boundaries
- include large areas outside the general extent of the input
- data.
- <p>
- The degree of smoothing produced by the interpolation will
- increase relative to the number of nearest data points
- considered. The utility may be used with regularly or
- irregularly spaced input data. However, the output result
- for the former may include unacceptable nonconformities in
- the surface pattern.
- <a name="minuse.html"></a>
- <p>
- The <b>-e</b> flag option provides a standard
- surface-generation error analysis facility. It produces an output raster map
- of the difference of interpolated values minus input values for those cells
- whose input data are non-zero. For each interpolation cycle, the known value
- of the cell under consideration is ignored, and the remaining input values
- are used to interpolate a result. The output raster map may be compared to
- the input raster map to analyze the distribution of interpolation error.
- This procedure may be helpful in choosing the number of nearest neighbors
- considered for surface generation.
- <!-- requires https://trac.osgeo.org/grass/ticket/2672 to be fixed:
- <h2>EXAMPLE</h2>
- Interpolation of raster surface from randomly sampled vector elevation
- points (North Carolina sample dataset region):
- <div class="code"><pre>
- g.region vector=elev_lid792_randpts res=1 -p
- # rasterize points
- v.to.rast input=elev_lid792_randpts use=attr attribute_column=value \
- output=elev_lid792_randpts_1m
- # interpolation DEM
- r.surf.idw input=elev_lid792_randpts_1m output=elev_surf_1m_idw
- # validate: differences to original DEM
- r.mapcalc "elev_diff = elev_lid792_1m - elev_surf_1m_idw"
- r.colors map=elev_diff color=differences
- </pre></div>
- -->
- <h2>KNOWN ISSUES</h2>
- Module <em>r.surf.idw</em> works only for integer (CELL) raster maps.
- <h2>SEE ALSO</h2>
- <em>
- <a href="r.surf.contour.html">r.surf.contour</a>,
- <a href="r.surf.gauss.html">r.surf.gauss</a>,
- <a href="r.surf.fractal.html">r.surf.fractal</a>,
- <a href="r.surf.random.html">r.surf.random</a>,
- <a href="v.surf.idw.html">v.surf.idw</a>,
- <a href="v.surf.rst.html">v.surf.rst</a>
- </em>
- <p>
- Overview: <a href="https://grasswiki.osgeo.org/wiki/Interpolation">Interpolation and Resampling</a> in GRASS GIS
- <h2>AUTHOR</h2>
- Greg Koerper <br>
- Global Climate Research Project <br>
- U.S. EPA Environmental Research Laboratory <br>
- 200 S.W. 35th Street, JSB <br>
- Corvallis, OR 97333
- <p>
- <i>Last changed: $Date$</i>
|