Scroll to navigation

r.fillnulls(1grass) Grass User's Manual r.fillnulls(1grass)

NAME

r.fillnulls - Fills no-data areas in raster maps using v.surf.rst splines interpolation

KEYWORDS

raster, elevation, interpolation

SYNOPSIS

r.fillnulls
 
r.fillnulls help
 
r.fillnulls input=string output=string [tension= float] [smooth=float] [--overwrite] [-- verbose] [--quiet]

Flags:

--overwrite
 
Allow output files to overwrite existing files
--verbose
 
Verbose module output
--quiet
 
Quiet module output

Parameters:

input=string
 
Raster map in which to fill nulls
output=string
 
Output raster map with nulls filled by interpolation from surrounding values
tension=float
 
Spline tension parameter
 
Default: 40.
smooth=float
 
Spline smoothing parameter
 
Default: 0.1

DESCRIPTION

r.fillnulls 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 v.surf.rst spline interpolation.

NOTES

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.
During the interpolation following warning may occur:
Warning: strip exists with insufficient data
 
Warning: taking too long to find points for interpolation--please change the region to area where your points are
This warning is generated if large data holes exist within the surface. As the idea of r.fillnulls 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.

NOTES

The algorithm is based on v.surf.rst 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.

WARNING

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 r.mapcalc (generating a difference map to the input map) and/or d.what.rast to query individual cell values.

EXAMPLE

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:
 
g.region rast=elev_srtm_30m -p
 
d.mon x0
 
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
 

SEE ALSO

r.fill.dir, r.mapcalc, v.surf.rst

REFERENCES


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
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. International Journal of GIS, 9 (4), special issue on Integrating GIS and Environmental modeling, 433-446.
Mitasova H. and Mitas L. 1993: Interpolation by Regularized Spline with Tension: I. Theory and Implementation, Mathematical Geology 25, 641-655.
Mitasova H. and Hofierka L. 1993: Interpolation by Regularized Spline with Tension: II. Application to Terrain Modeling and Surface Geometry Analysis, Mathematical Geology 25, 657-667.

AUTHORS

r.fillnulls: Markus Neteler, University of Hannover
and authors of v.surf.rst
 
Improvement by Hamish Bowman, NZ
Last changed: $Date: 2011-11-08 10:42:51 +0100 (Tue, 08 Nov 2011) $
Full index
© 2003-2011 GRASS Development Team
GRASS 6.4.2