This is the command r.fillnullsgrass that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator
PROGRAM:
NAME
r.fillnulls - Fills no-data areas in raster maps using spline interpolation.
KEYWORDS
raster, elevation, interpolation
SYNOPSIS
r.fillnulls
r.fillnulls --help
r.fillnulls input=name output=name method=string [tension=float] [smooth=float]
[edge=integer] [npmin=integer] [segmax=integer] [--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
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 interpolated from the no data area
boundaries buffer using v.surf.rst regularized spline interpolation with tension
(method=rst) or r.resamp.bspline cubic or linear spline interpolation with Tykhonov
regularization.
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. 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 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. 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 pixels 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 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
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.
Use r.fillnullsgrass online using onworks.net services