[GRASS-SVN] r70882 - grass-addons/grass7/raster/r.fill.gaps

svn_grass at osgeo.org svn_grass at osgeo.org
Fri Apr 14 20:23:37 PDT 2017


Author: wenzeslaus
Date: 2017-04-14 20:23:37 -0700 (Fri, 14 Apr 2017)
New Revision: 70882

Modified:
   grass-addons/grass7/raster/r.fill.gaps/main.c
   grass-addons/grass7/raster/r.fill.gaps/r.fill.gaps.html
Log:
r.fill.gaps: conform to submitting rules, limit line lenght, small fixes

Modified: grass-addons/grass7/raster/r.fill.gaps/main.c
===================================================================
--- grass-addons/grass7/raster/r.fill.gaps/main.c	2017-04-15 02:20:11 UTC (rev 70881)
+++ grass-addons/grass7/raster/r.fill.gaps/main.c	2017-04-15 03:23:37 UTC (rev 70882)
@@ -764,9 +764,13 @@
     G_gisinit(argv[0]);
 
     module = G_define_module();
-    module->keywords = _("raster,interpolation,IDW");
+    G_add_keyword(_("raster"));
+    G_add_keyword(_("surface"));
+    G_add_keyword(_("interpolation"));
+    G_add_keyword(_("IDW"));
+    G_add_keyword(_("null data"));
     module->description =
-        _("Rapidly fills 'no data' cells of a raster map with interpolated values (IDW).");
+        _("Rapidly fills 'no data' cells (NULLs) of a raster map with interpolated values (IDW).");
 
     /* parameters */
 
@@ -846,11 +850,13 @@
     parm.dist_m = G_define_flag();
     parm.dist_m->key = 'm';
     parm.dist_m->description =
-        _("Interpret distance as map units, not cell number");
+        _("Interpret distance as map units, not number of cells");
 
     parm.preserve = G_define_flag();
     parm.preserve->key = 'p';
-    parm.preserve->description = _("Preserve original cell values");
+    parm.preserve->label = _("Preserve original cell values");
+    parm.preserve->description =
+        _("By default original values are smoothed");
 
     parm.print_w = G_define_flag();
     parm.print_w->key = 'w';

Modified: grass-addons/grass7/raster/r.fill.gaps/r.fill.gaps.html
===================================================================
--- grass-addons/grass7/raster/r.fill.gaps/r.fill.gaps.html	2017-04-15 02:20:11 UTC (rev 70881)
+++ grass-addons/grass7/raster/r.fill.gaps/r.fill.gaps.html	2017-04-15 03:23:37 UTC (rev 70882)
@@ -1,16 +1,20 @@
 <h2>DESCRIPTION</h2>
 
 
-<em><b>r.fill.gaps</b></em> - Fast gap filling and interpolation of dense raster data.
+<em><b>r.fill.gaps</b></em> is a module for fast gap filling and
+interpolation of dense raster data.
 
 <p>
 
-The <em>r.fill.gaps</em> module is capable of quickly filling small "no data" areas (gaps) in large raster maps.
-As a rule of thumb, there should be at least as many data cells as there are "no data" cells in
-the input raster map. Several interpolation modes are available.
-By default, all values of the input raster map will be replaced with locally interpolated values in the output raster map.
-With dense data and small gaps, this should result in only slight deviations from the original data
-and produce smooth output. Alternatively, setting the <em>-p</em> flag will preserve the original cell values.
+The <em>r.fill.gaps</em> module is capable of quickly filling small
+"no data" areas (gaps) in large raster maps. As a rule of thumb, there
+should be at least as many data cells as there are "no data" cells in
+the input raster map. Several interpolation modes are available. By
+default, all values of the input raster map will be replaced with
+locally interpolated values in the output raster map. With dense data
+and small gaps, this should result in only slight deviations from the
+original data and produce smooth output. Alternatively, setting the
+<b>-p</b> flag will preserve the original cell values.
 
 <p>
 
@@ -24,206 +28,271 @@
 
 <p>
 
-The spatially weighted mean is equivalent to an Inverse Distance Weighting (IDW; see
-also <em><a href="r.surf.idw.html">r.surf.idw</a></em>) interpolation. The simple
-mean is equivalent to a low-pass filter. Median and mode replacements can also be
-achieved using <em><a href="r.neighbors.html">r.neighbors</a></em>.
- 
-<p> 
+The spatially weighted mean is equivalent to an Inverse Distance
+Weighting (IDW;
+see also <em><a href="r.surf.idw.html">r.surf.idw</a></em>)
+interpolation. The simple mean is equivalent to a low-pass filter.
+Median and mode replacements can also be achieved using
+<em><a href="r.neighbors.html">r.neighbors</a></em>.
 
-Note that <em>r.fill.gaps</em> is highly optimized for fast processing of large raster datasets
-with a small interpolation distance threshold (i.e. closing small gaps). As a trade-off
-for speed and a small memory foot print, some spatial accuracy is lost due to the rounding
-of the distance threshold to the closest approximation in input raster cells and the use of a matrix of precomputed weights at cell resolution (see further
-down for details). Note also that processing time will increase exponentially with higher distance settings.
-Cells outside the distance threshold will not be interpolated, preserving the edges of the data zones in the input data.
+<p>
 
+Note that <em>r.fill.gaps</em> is highly optimized for fast processing
+of large raster datasets with a small interpolation distance threshold
+(i.e. closing small gaps). As a trade-off for speed and a small memory
+foot print, some spatial accuracy is lost due to the rounding of the
+distance threshold to the closest approximation in input raster cells
+and the use of a matrix of precomputed weights at cell resolution (see
+further down for details). Note also that processing time will increase
+exponentially with higher distance settings. Cells outside the distance
+threshold will not be interpolated, preserving the edges of the data
+zones in the input data.
+
 <p>
 
-This module is not well suited for interpolating sparse input data and closing large gaps.
-For such purposes solutions more appropriate methods are available, such as <em><a href="v.surf.idw.html">v.surf.idw</a></em>
-or <em><a href="v.surf.rst.html">v.surf.rst</a></em>.
+This module is not well suited for interpolating sparse input data and
+closing large gaps. For such purposes solutions more appropriate
+methods are available, such as
+<em><a href="v.surf.idw.html">v.surf.idw</a></em> or
+<em><a href="v.surf.rst.html">v.surf.rst</a></em>.
 
 <p>
 
-Applications where the properties of <em>r.fill.gaps</em> are advantageous include the processing of
-high resolution, close range scanning and remote sensing datasets. Such datasets commonly feature densely spaced
-measurements that have some gaps after rasterization, due to blind spots, instrument failures,
-and misalignments between the GIS' raster cell grids and the original measurement locations.
-In these cases, <em>r.fill.gaps</em> should typically be run using the "weighted mean" (default) method
-and with a small distance setting (the default is to use a search radius of just three cells).
+Applications where the properties of <em>r.fill.gaps</em> are
+advantageous include the processing of high resolution, close range
+scanning and remote sensing datasets. Such datasets commonly feature
+densely spaced measurements that have some gaps after rasterization,
+due to blind spots, instrument failures, and misalignments between the
+GIS' raster cell grids and the original measurement locations. In these
+cases, <em>r.fill.gaps</em> should typically be run using the "weighted
+mean" (default) method and with a small distance setting (the default
+is to use a search radius of just three cells).
 
 <p>
 
-The images below show a gradiometer dataset with gaps and its interpolated equivalent, produced using
-the spatially weighted mean operator (<em>mode="wmean"</em>).
+The images below show a gradiometer dataset with gaps and its
+interpolated equivalent, produced using the spatially weighted mean
+operator (<tt>mode="wmean"</tt>).
 
 <p>
 
-<img src="r_fill_gaps_01.png" alt="">  <img src="r_fill_gaps_02.png" alt="">
+<img src="r_fill_gaps_01.png" alt="Raw data">  <img src="r_fill_gaps_02.png" alt="Gaps filled">
 
 <p>
 
-In addition, <em>r.fill.gaps</em> can be useful for raster map generalization. Often, this involves removing small 
-clumps of categorized cells and then filling the resulting data gaps without "inventing" any new values.
-In such cases, the "mode" or "median" interpolators should be used.
+In addition, <em>r.fill.gaps</em> can be useful for raster map
+generalization. Often, this involves removing small clumps of
+categorized cells and then filling the resulting data gaps without
+"inventing" any new values. In such cases, the "mode" or "median"
+interpolators should be used.
 
 
-<h2>USAGE</h2>
+<h3>Usage</h3>
 
-The most critical user-provided settings are the interpolation/gap filling method (<em>mode=</em>)
-and the maximum distance, up to which <em>r.fill.gaps</em> will scan for given data points
-when attempting to fill/interpolate a value at any given location (<em>distance=</em>).
-The distance can be expressed as a number of cells (default) or in the current location's units (if the <em>-m</em> flag is given).
-The latter are typically meters, but can be any other units of a <em>planar</em> coordinate system. 
+The most critical user-provided settings are the interpolation/gap
+filling method (<b>mode</b>) and the maximum distance, up to which
+<em>r.fill.gaps</em> will scan for given data points when attempting to
+fill/interpolate a value at any given location (<b>distance</b>).
+The distance can be expressed as a number of cells (default) or in the
+current location's units (if the <b>-m</b> flag is given). The latter
+are typically meters, but can be any other units of a <em>planar</em>
+coordinate system.
 
 <p>
 
-Note that proper handling of geodetic coordinates (lat/lon) and distances is currently not implemented.
-For lat/lon data, the distance should therefore be specified in cells and usage of <em>r.fill.gaps</em> should
-be restricted to small areas to avoid large inaccuracies that may arise from the different extents of cells
-along the latitudinal and longitudinal axes.
+Note that proper handling of geodetic coordinates (lat/lon) and
+distances is currently not implemented. For lat/lon data, the distance
+should therefore be specified in cells and usage of
+<em>r.fill.gaps</em> should be restricted to small areas to avoid large
+inaccuracies that may arise from the different extents of cells along
+the latitudinal and longitudinal axes.
 
 <p>
 
-Distances specfied in map units will be approximated as accurately as the current region's cell resolution
-settings allow. The program will warn if the distance cannot be expressed as whole
-cells at the current region's resolution. In such case, the number of cells in the search window
-will be rounded up. Due to the rounding effect introduced by using cells as spatial units,
-the actual maximum distance considered by the interpolation may be up to half a cell diagonal 
-larger than the one specified by the user.
+Distances specfied in map units (<b>-m</b> flag) will be approximated
+as accurately as the current region's cell resolution settings allow.
+The program will warn if the distance cannot be expressed as whole
+cells at the current region's resolution. In such case, the number of
+cells in the search window will be rounded up. Due to the rounding
+effect introduced by using cells as spatial units, the actual maximum
+distance considered by the interpolation may be up to half a cell
+diagonal larger than the one specified by the user.
 
 <p>
 
-The interpolator type "wmean" uses a pre-computed matrix of spatial weights To speed up computation. This matrix can
-be examined (printed to the screen) before running the interpolation, by setting the <em>-w</em> flag.
-In mode "wmean", the <em>power=</em> option has the usual meaning: higher values mean
-that cell values in the neighborhood lose their influence on the cell to be interpolated more rapidly with increasing distance from the latter.
-Another way of explaining this effect is to state that larger "power" settings result in more
-localized interpolation, smaller ones in more globalized interpolation. The default setting is <em>power=2.0</em>.
+The interpolator type "wmean" uses a pre-computed matrix of spatial
+weights to speed up computation. This matrix can be examined (printed
+to the screen) before running the interpolation, by setting the
+<b>-w</b> flag. In mode "wmean", the <b>power</b> option has the usual
+meaning in IDW: higher values mean that cell values in the neighborhood
+lose their influence on the cell to be interpolated more rapidly with
+increasing distance from the latter. Another way of explaining this
+effect is to state that larger "power" settings result in more
+localized interpolation, smaller ones in more globalized interpolation.
+The default setting is <tt>power=2.0</tt>.
 
 <p>
 
-The interpolators "mean", "median" and "mode" are calculated from all cell values 
-within the search radius. No spatial weighting is applied for these methods.
-The "mode" of the input data may not always be unique. In such case, the mode will be the smallest 
-value with the highest frequency.
+The interpolators "mean", "median" and "mode" are calculated from all
+cell values within the search radius. No spatial weighting is applied
+for these methods. The "mode" of the input data may not always be
+unique. In such case, the mode will be the smallest value with the
+highest frequency.
 
 <p>
 
-Often, input data will contain spurious extreme measurements (spikes, outliers, noise) caused by the limits
-of device sensitivity, hardware defects, environmental influences, etc. If the normal, valid
-range of input data is known beforehand, then the <em>minimum=</em> and <em>maximum=</em> options can be used
-to exclude those input cells that have values below or above that range, respectively.
-This will prevent the influence of spikes and outliers from spreading through the interpolation.
+Often, input data will contain spurious extreme measurements (spikes,
+outliers, noise) caused by the limits of device sensitivity, hardware
+defects, environmental influences, etc. If the normal, valid range of
+input data is known beforehand, then the <b>minimum</b> and
+<b>maximum</b> options can be used to exclude those input cells that
+have values below or above that range, respectively. This will prevent
+the influence of spikes and outliers from spreading through the
+interpolation.
 
 <p>
 
-Unless the <em>-p</em> (replace) flag is given, data cells of the input map will be replaced
-with interpolated values instead of preserving them in the output.
+Unless the <b>-p</b> (replace) flag is given, data cells of the input
+map will be replaced with interpolated values instead of preserving
+them in the output.
 
-Besides the result of the interpolation/gap filling, a second output map can be specified via the
-<em>uncertainty=</em> option. The cell values in this map represent a simple measure of how
-much uncertainty was involved in interpolating each cell value of the primary output map, with
-"0" being the lowest and "1" being the theoretic highest uncertainty. Uncertainty is measured
-by summing up all cells in the neighborhood (defined by the search radius <em>distance=</em>) that contain a value in the <em>input</em> map,
-multiplied by their weights, and dividing the result by the sum of all weights in the neighborhood.
-For <em>mode=wmean</em>, this means that interpolated output cells that
-were computed from many nearby input cells have very low uncertainty and vice versa.
-For all other modes, all weights in the neighborhood are constant "1" and the uncertainty measure
-is a simple measure of how many input data cells were present in the search window.
+<p>
 
+Besides the result of the interpolation/gap filling, a second output
+map can be specified via the <b>uncertainty</b> option. The cell values
+in this map represent a simple measure of how much uncertainty was
+involved in interpolating each cell value of the primary output map,
+with "0" being the lowest and "1" being the theoretic highest
+uncertainty. Uncertainty is measured by summing up all cells in the
+neighborhood (defined by the search radius <b>distance</b>) that
+contain a value in the <b>input</b> map, multiplied by their weights,
+and dividing the result by the sum of all weights in the neighborhood.
+For <tt>mode=wmean</tt>, this means that interpolated output cells that
+were computed from many nearby input cells have very low uncertainty
+and vice versa. For all other modes, all weights in the neighborhood
+are constant "1" and the uncertainty measure is a simple measure of how
+many input data cells were present in the search window.
 
-<h2>NOTES</h2>
+<h3>Spatial weighting scheme</h3>
 
-The key to getting good gap filling results is to understand the spatial weighting scheme
-used in mode "wmean". The weights are precomputed and assigned per cell within the search
-window centered on the location at which to interpolate/gap fill all cells within
-the user-specified distance.
+The key to getting good gap filling results is to understand the
+spatial weighting scheme used in mode "wmean". The weights are
+precomputed and assigned per cell within the search window centered on
+the location at which to interpolate/gap fill all cells within the
+user-specified distance.
 
 <p>
 
-The illustration below shows the precomputed weights matrix for a search distance of four cells from the center cell:
+The illustration below shows the precomputed weights matrix for a
+search distance of four cells from the center cell:
 
 <pre>
-
-000.00 000.01 000.04 000.07 000.09 000.07 000.04 000.01 000.00 
-000.01 000.06 000.13 000.19 000.22 000.19 000.13 000.06 000.01 
-000.04 000.13 000.25 000.37 000.42 000.37 000.25 000.13 000.04 
-000.07 000.19 000.37 000.56 000.68 000.56 000.37 000.19 000.07 
-000.09 000.22 000.42 000.68 001.00 000.68 000.42 000.22 000.09 
-000.07 000.19 000.37 000.56 000.68 000.56 000.37 000.19 000.07 
-000.04 000.13 000.25 000.37 000.42 000.37 000.25 000.13 000.04 
-000.01 000.06 000.13 000.19 000.22 000.19 000.13 000.06 000.01 
 000.00 000.01 000.04 000.07 000.09 000.07 000.04 000.01 000.00
-
+000.01 000.06 000.13 000.19 000.22 000.19 000.13 000.06 000.01
+000.04 000.13 000.25 000.37 000.42 000.37 000.25 000.13 000.04
+000.07 000.19 000.37 000.56 000.68 000.56 000.37 000.19 000.07
+000.09 000.22 000.42 000.68 001.00 000.68 000.42 000.22 000.09
+000.07 000.19 000.37 000.56 000.68 000.56 000.37 000.19 000.07
+000.04 000.13 000.25 000.37 000.42 000.37 000.25 000.13 000.04
+000.01 000.06 000.13 000.19 000.22 000.19 000.13 000.06 000.01
+000.00 000.01 000.04 000.07 000.09 000.07 000.04 000.01 000.00
 </pre>
 
-Note that the weights in such a small window drop rapidly for the default setting of <em>power=2</em>.
+Note that the weights in such a small window drop rapidly for the
+default setting of <tt>power=2</tt>.
 
 <p>
 
-If the distance is given in map units (flag <em>-m</em>), then the search window can be modeled more accurately as a circle.
-The illustration below shows the precomputed weights for a distance in map units that is approximately equivalent to four cells from the center cell:
+If the distance is given in map units (flag <tt>-m</tt>), then the
+search window can be modeled more accurately as a circle. The
+illustration below shows the precomputed weights for a distance in map
+units that is approximately equivalent to four cells from the center
+cell:
 
 <pre>
-
-...... ...... ...... 000.00 000.00 000.00 ...... ...... ...... 
-...... 000.00 000.02 000.06 000.09 000.06 000.02 000.00 ...... 
-...... 000.02 000.11 000.22 000.28 000.22 000.11 000.02 ...... 
-000.00 000.07 000.22 000.44 000.58 000.44 000.22 000.07 000.00 
-000.00 000.09 000.28 000.58 001.00 000.58 000.28 000.09 000.00 
-000.00 000.07 000.22 000.44 000.58 000.44 000.22 000.07 000.00 
-...... 000.02 000.11 000.22 000.28 000.22 000.11 000.02 ...... 
-...... 000.00 000.02 000.06 000.09 000.06 000.02 000.00 ...... 
 ...... ...... ...... 000.00 000.00 000.00 ...... ...... ......
-
+...... 000.00 000.02 000.06 000.09 000.06 000.02 000.00 ......
+...... 000.02 000.11 000.22 000.28 000.22 000.11 000.02 ......
+000.00 000.07 000.22 000.44 000.58 000.44 000.22 000.07 000.00
+000.00 000.09 000.28 000.58 001.00 000.58 000.28 000.09 000.00
+000.00 000.07 000.22 000.44 000.58 000.44 000.22 000.07 000.00
+...... 000.02 000.11 000.22 000.28 000.22 000.11 000.02 ......
+...... 000.00 000.02 000.06 000.09 000.06 000.02 000.00 ......
+...... ...... ...... 000.00 000.00 000.00 ...... ...... ......
 </pre>
 
 <p>
 
-When using a small search radius, <em>cells=</em> must also be set to a small value. Otherwise, there may not be enough cells with data within
-the search radius to support interpolation.    
+When using a small search radius, <b>cells</b> must also be set to a
+small value. Otherwise, there may not be enough cells with data within
+the search radius to support interpolation.
 
+
+<h2>NOTES</h2>
+
+The straight-line metric used for converting distances in map units to
+cell numbers is only adequate for planar coordinate systems. Using this
+module with lat/lon input data will likely give inaccurate results,
+especially when interpolating over large geographical areas.
+
 <p>
 
-This module can handle cells with different X and Y resolutions. However, note that the weight matrix
-will be skewed in such cases, with higher weights occurring close to the center and along the axis with the higher resolution.
-This is because weights on the lower resolution axis are less accurately calculated.
-The skewing effect will be stronger if the difference between the X and Y axis resolution  is greater and a larger "power" setting is chosen.
-This property of the weights matrix directly reflects the higher information density along the higher resolution axis.
+If the distance is set to a relatively large value, processing time
+will quickly approach and eventually exceed that of point-based
+interpolation modules such as
+<em><a href="v.surf.rst.html">v.surf.rst</a></em>.
 
 <p>
 
-Note on printing the weights matrix (using the <em>-w</em> flag): the matrix cannot be printed if it is too large.
+This module can handle cells with different X and Y resolutions.
+However, note that the weight matrix will be skewed in such cases, with
+higher weights occurring close to the center and along the axis with
+the higher resolution. This is because weights on the lower resolution
+axis are less accurately calculated. The skewing effect will be
+stronger if the difference between the X and Y axis resolution is
+greater and a larger "power" setting is chosen. This property of the
+weights matrix directly reflects the higher information density along
+the higher resolution axis.
 
 <p>
 
-The memory estimate provided by the <em>-m</em> flag is a lower limit on the amount of RAM that will be needed.
+Note on printing the weights matrix (using the <b>-w</b> flag): the
+matrix cannot be printed if it is too large.
 
 <p>
 
-If the <em>-s</em> flag is set, floating point type output will be saved as a "single precision" raster map, saving ~50% disk space compared to the default "double precision" output.
+The memory estimate provided by the <b>-u</b> flag is a lower limit on
+the amount of RAM that will be needed.
 
+<p>
 
+If the <b>-s</b> flag is set, floating point type output will be
+saved as a "single precision" raster map, saving ~50% disk space
+compared to the default "double precision" output.
+
+
 <h2>EXAMPLES</h2>
 
-Gap-fill a dataset using spatially weighted mean (IDW) and a maximum search radius of 3.0 map units;
-also produce uncertainty estimation map:
+Gap-fill a dataset using spatially weighted mean (IDW) and a maximum
+search radius of 3.0 map units; also produce uncertainty estimation
+map:
 
-<pre>
+<div class="code"><pre>
 r.fill.gaps input=measurements output=result dist=3.0 -m mode=wmean uncertainty=uncert_map
-</pre>
+</pre></div>
 
-Run a fast low-pass filter (replacement all cells with mean value of neighboring cells) on the input map:
-<pre>
+Run a fast low-pass filter (replacement all cells with mean value of
+neighboring cells) on the input map:
+
+<div class="code"><pre>
 r.fill.gaps input=measurements output=result dist=10 mode=mean
-</pre>
+</pre></div>
 
-Fill data gaps in a categorized raster map; preserve existing data: 
-<pre>
+Fill data gaps in a categorized raster map; preserve existing data:
+
+<div class="code"><pre>
 r.fill.gaps input=categories output=result dist=100 -m mode=mode -p
-</pre>
+</pre></div>
 
 <h3>Lidar point cloud example</h3>
 
@@ -234,7 +303,8 @@
 r.in.lidar -e input=points.las output=density method=n resolution=5 class_filter=2
 </pre></div>
 
-Based on the result, set computational region extent and desired resolution:
+Based on the result, set computational region extent and desired
+resolution:
 
 <div class="code"><pre>
 g.region -pa raster=density res=1
@@ -246,6 +316,18 @@
 r.in.lidar input=points.las output=ground_raw method=mean class_filter=2
 </pre></div>
 
+Check that there is more non-NULL cells that NULL (no data) cells:
+
+<div class="code"><pre>
+r.univar map=ground_raw
+</pre></div>
+
+<pre>
+total null and non-null cells: 2340900
+total null cells: 639184
+...
+</pre>
+
 Fill in the cells with the three-cell search radius:
 
 <div class="code"><pre>
@@ -254,9 +336,11 @@
 
 <center>
 <a href="r_fill_gaps_lidar.png"><img src="r_fill_gaps_lidar.png" alt="Point density and ground surface" width=600></a>
-<p>
-<em>Binning of lidar and resulting ground surface with filled gaps</em>
-</p>
+<p><em>
+Binning of lidar and resulting ground surface with filled gaps.
+Note the NULL cells (white) in the resulting ground surface.
+These are areas with lack of cells with values in close proximity.
+</em></p>
 </center>
 
 <!--
@@ -283,28 +367,19 @@
 
 <h2>SEE ALSO</h2>
 
-<em><a href="http://en.wikipedia.org/wiki/Inverse_distance_weighting">Wikipedia on Inverse Distance Weighting</a></em>,<br>
-<em><a href="r.neighbors.html">r.neighbors</a></em>,<br>
-<em><a href="r.surf.idw2.html">r.surf.idw</a></em>,<br>
-<em><a href="v.surf.idw.html">v.surf.idw</a></em>,<br>
-<em><a href="v.surf.rst.html">v.surf.rst</a></em>
+<em>
+<a href="r.neighbors.html">r.neighbors</a>,
+<a href="r.surf.idw2.html">r.surf.idw</a>,
+<a href="v.surf.idw.html">v.surf.idw</a>,
+<a href="v.surf.rst.html">v.surf.rst</a>
+</em>
 
-
-<h2>CAVEATS</h2>
-
-The straight-line metric used for converting distances in map units to cell numbers is only adequate for planar coordinate systems.
-Using this module with lat/lon input data will likely give inaccurate results, especially when interpolating over large geographical areas.
-
 <p>
+<a href="http://en.wikipedia.org/wiki/Inverse_distance_weighting">Inverse Distance Weighting in Wikipedia</a>
 
-If the distance is set to a relatively large value, processing time
-will quickly approach and eventually exceed that of point-based interpolation modules such
-as <em><a href="v.surf.rst.html">v.surf.rst</a></em>.
+<h2>AUTHOR</h2>
 
+Benjamin Ducke
 
-<h2>AUTHOR</h2>
+<p><i>Last changed: $Date$</i>
 
-Benjamin Ducke <br>
-
-<p>
-Latest revision: <i>Mar 20 2015</i>.



More information about the grass-commit mailing list