123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- <h2>DESCRIPTION</h2>
- <em>r.fillnulls</em> fills NULL pixels (no data areas) in input map and
- stores filled map to a new output map. The fill data are interpolated
- from the no data area boundaries buffer using <em>v.surf.rst</em>
- spline interpolation.
- <h2>NOTES</h2>
- Each area boundary buffer is set to three times the map resolution to get nominally
- three points around the edge. This way the algorithm interpolates into the hole with
- a trained slope and curvature at the edges, in order to avoid that such a flat plane
- is generated in a hole.
- <p>
- During the interpolation following warning may occur:<p>
- <tt>
- Warning: strip exists with insufficient data<br>
- Warning: taking too long to find points for interpolation--please change
- the region to area where your points are</tt>
- <p>
- This warning is generated if large data holes exist within the surface.
- As the idea of <em>r.fillnulls</em> is to fill such holes, the user may
- ignore the warning. The interpolation will be continued. However, the user
- may pay attention to below notes.
- <h2>NOTES</h2>
- The algorithm is based on <em>v.surf.rst</em>
- regularized splines with tension interpolation module which interpolates the
- raster cell values for NULL data areas from the boundary values of the NULL
- data area. An eventual raster MASK is respected during the NULL data area(s)
- filling. The interpolated values are patched into the NULL data area(s) of
- the input map and saved into a new raster map.
- <h2>WARNING</h2>
- Depending on the shape of the NULL data area(s) problems may occur due to an
- insufficient number of input cell values for the interpolation process. Most
- problems will occur if a NULL data area reaches a large amount of the map
- boundary. The user will have to carefully check the result using
- <em>r.mapcalc</em> (generating a difference map to the
- input map) and/or <em>d.what.rast</em> to query individual cell values.
- <h2>EXAMPLE</h2>
- In this example, the SRTM elevation map in the
- North Carolina sample dataset location is filtered for outlier
- elevation values; missing pixels are then re-interpolated to obtain
- a complete elevation map:
- <div class="code"><pre>
- g.region rast=elev_srtm_30m -p
- d.mon wx0
- d.histogram elev_srtm_30m
- # remove too low elevations (esp. lakes)
- r.mapcalc "elev_srtm_30m_filt = if(elev_srtm_30m < 50.0, null(), elev_srtm_30m)"
- d.histogram elev_srtm_30m_filt
- d.rast elev_srtm_30m_filt
- r.fillnulls input=elev_srtm_30m_filt output=elev_srtm_30m_complete tension=20
- d.histogram elev_srtm_30m_complete
- d.rast elev_srtm_30m_complete
- </pre></div>
- <h2>SEE ALSO</h2>
- <em>
- <a href="r.fill.dir.html">r.fill.dir</a>,
- <a href="r.mapcalc.html">r.mapcalc</a>,
- <a href="v.surf.rst.html">v.surf.rst</a>
- </em>
- <h2>REFERENCES</h2>
- <P> Mitas, L., Mitasova, H., 1999, Spatial Interpolation. In: P.Longley,
- M.F. Goodchild, D.J. Maguire, D.W.Rhind (Eds.), Geographical Information
- Systems: Principles, Techniques, Management and Applications, Wiley,
- pp.481-492
- <p>Mitasova H., Mitas L., Brown W.M., D.P. Gerdes, I.
- Kosinovsky, Baker, T.1995, Modeling spatially and temporally distributed
- phenomena: New methods and tools for GRASS GIS. <i>International Journal of
- GIS</i>, 9 (4), special issue on Integrating GIS and Environmental modeling,
- 433-446.
- <p><a href="http://skagit.meas.ncsu.edu/~helena/gmslab/papers/lmg.rev1.ps">Mitasova H.
- and Mitas L. 1993</a>: Interpolation by Regularized Spline with Tension: I.
- Theory and Implementation, <i>Mathematical Geology</i> 25, 641-655.
- <p><a href="http://skagit.meas.ncsu.edu/~helena/gmslab/papers/hmg.rev1.ps">Mitasova H.
- and Hofierka L. 1993</a>: Interpolation by Regularized Spline with Tension:
- II. Application to Terrain Modeling and Surface Geometry Analysis,
- <i>Mathematical Geology</i> 25, 657-667.
- <H2>AUTHORS</H2>
- r.fillnulls: Markus Neteler, University of Hannover<p>
- and authors of v.surf.rst<br>
- Improvement by Hamish Bowman, NZ
- <p><i>Last changed: $Date$</i>
|