dwww Home | Manual pages | Find package

r.fillnulls(1grass)         GRASS GIS User's Manual        r.fillnulls(1grass)

NAME
       r.fillnulls  - Fills no-data areas in raster maps using spline interpo-
       lation.

KEYWORDS
       raster, surface, elevation, interpolation, splines, no-data filling

SYNOPSIS
       r.fillnulls
       r.fillnulls --help
       r.fillnulls  input=name  output=name   method=string    [tension=float]
       [smooth=float]    [edge=integer]    [npmin=integer]    [segmax=integer]
       [lambda=float]    [memory=memory  in  MB]     [--overwrite]    [--help]
       [--verbose]  [--quiet]  [--ui]

   Flags:
       --overwrite
           Allow output files to overwrite existing files

       --help
           Print usage summary

       --verbose
           Verbose module output

       --quiet
           Quiet module output

       --ui
           Force launching GUI dialog

   Parameters:
       input=name [required]
           Name of input raster map

       output=name [required]
           Name for output raster map

       method=string [required]
           Interpolation method to use
           Options: bilinear, bicubic, rst
           Default: rst

       tension=float
           Spline tension parameter
           Default: 40.

       smooth=float
           Spline smoothing parameter
           Default: 0.1

       edge=integer
           Width of hole edge used for interpolation (in cells)
           Options: 2-100
           Default: 3

       npmin=integer
           Minimum number of points for approximation in a segment (>segmax)
           Options: 2-10000
           Default: 600

       segmax=integer
           Maximum number of points in a segment
           Options: 2-10000
           Default: 300

       lambda=float
           Tykhonov regularization parameter (affects smoothing)
           Used in bilinear and bicubic spline interpolation
           Default: 0.01

       memory=memory in MB
           Maximum memory to be used (in MB)
           Cache size for raster rows
           Default: 300

DESCRIPTION
       r.fillnulls  fills  NULL pixels (no data areas) in input raster map and
       stores filled data to a new output raster map. The fill areas  are  in-
       terpolated  from  the  no  data area boundaries buffer using v.surf.rst
       regularized spline interpolation with  tension  (method=rst)  or  r.re-
       samp.bspline  cubic  or linear spline interpolation with Tykhonov regu-
       larization.

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 in-
       terpolates 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.
       The width of edge area can be adjusted by changing the edge parameter.

       During the interpolation following warning may occur when using the RST
       method:

       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.

       If  interpolation  fails,  temporary raster and vector maps are left in
       place to allow unfilled map hole (NULL area) identification and  manual
       repair.

       When using the default RST method, the algorithm is based on v.surf.rst
       regularized splines with tension interpolation  module  which  interpo-
       lates the raster cell values for NULL data areas from the boundary val-
       ues 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.
       Otherwise,  either  the  linear  or  cubic  spline  interpolation  with
       Tykhonov regularization can be selected (based on r.resamp.bspline).

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  applying  the  "differences"  color table with r.colors) and/or to
       query individual cell values.

       RST method stores temporary maps on hard disk. It will require at least
       as much free space as one extra input raster map takes.

EXAMPLE
       In  this  example,  the SRTM elevation map in the North Carolina sample
       dataset location is filtered for outlier elevation values; missing pix-
       els are then re-interpolated to obtain a complete elevation map:
       g.region raster=elev_srtm_30m -p
       d.mon wx0
       d.histogram elev_srtm_30m
       # remove SRTM outliers, i.e. SRTM below 50m (esp. lakes), leading to no data areas
       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
       # using the default RST method to fill these holes in DEM
       r.fillnulls input=elev_srtm_30m_filt output=elev_srtm_30m_rst tension=20
       # using the bilinear method to fill these holes in DEM
       r.fillnulls input=elev_srtm_30m_filt output=elev_srtm_30m_bilin method=bilinear
       d.histogram elev_srtm_30m_rst
       d.rast elev_srtm_30m_rst
       d.erase
       d.histogram elev_srtm_30m_bilin
       d.rast elev_srtm_30m_bilin
       r.mapcalc "diff_rst_bilin = elev_srtm_30m_rst - elev_srtm_30m_bilin"
       r.colors diff_rst_bilin color=differences
       r.univar -e diff_rst_bilin
       d.erase
       d.rast diff_rst_bilin
       d.legend diff_rst_bilin

REFERENCES
           •   Mitas,  L.,  Mitasova,  H.,  1999,  Spatial  Interpolation. In:
               P.Longley, M.F. Goodchild, D.J. Maguire, D.W.Rhind (Eds.), Geo-
               graphical  Information Systems: Principles, Techniques, Manage-
               ment and Applications, Wiley, pp.481-492

           •   Mitasova H., Mitas L.,  Brown W.M.,   D.P.  Gerdes,  I.   Kosi-
               novsky,  Baker,  T.1995, Modeling spatially and temporally dis-
               tributed phenomena: New methods and tools for GRASS GIS. Inter-
               national  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, Mathemati-
               cal 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.

SEE ALSO
        r.fill.dir, r.mapcalc, r.resamp.bspline, v.surf.rst

AUTHORS
       Markus Neteler, University of Hannover  and Fondazione Edmund Mach
       Improvement by Hamish Bowman, NZ

SOURCE CODE
       Available at: r.fillnulls source code (history)

       Accessed: unknown

       Main index | Raster index | Topics index | Keywords index  |  Graphical
       index | Full index

       © 2003-2022 GRASS Development Team, GRASS GIS 7.8.7 Reference Manual

GRASS 7.8.7                                                r.fillnulls(1grass)

Generated by dwww version 1.14 on Sun Dec 29 18:56:19 CET 2024.