r.surf.nnbathy
Interpolates a raster map using the nnbathy natural neighbor interpolation program.
r.surf.nnbathy input=name output=name [algorithm=string] [--overwrite] [--verbose] [--quiet] [--qq] [--ui]
Example:
r.surf.nnbathy input=name output=name
grass.script.run_command("r.surf.nnbathy", input, output, algorithm="nn", overwrite=False, verbose=False, quiet=False, superquiet=False)
Example:
gs.run_command("r.surf.nnbathy", input="name", output="name")
Parameters
input=name [required]
Name of input raster map
output=name [required]
Name of output raster map
algorithm=string
Settings
Allowed values: l, nn, ns
Default: nn
l: Linear
nn: Sibson natural neighbor
ns: Non-Sibsonian natural neighbor
--overwrite
Allow output files to overwrite existing files
--help
Print usage summary
--verbose
Verbose module output
--quiet
Quiet module output
--qq
Very quiet module output
--ui
Force launching GUI dialog
input : str, required
Name of input raster map
Used as: input, raster, name
output : str, required
Name of output raster map
Used as: output, raster, name
algorithm : str, optional
Settings
Allowed values: l, nn, ns
l: Linear
nn: Sibson natural neighbor
ns: Non-Sibsonian natural neighbor
Default: nn
overwrite: bool, optional
Allow output files to overwrite existing files
Default: False
verbose: bool, optional
Verbose module output
Default: False
quiet: bool, optional
Quiet module output
Default: False
superquiet: bool, optional
Very quiet module output
Default: False
DESCRIPTION
r.surf.nnbathy is an interface between the external nnbathy utility and GRASS. nnbathy is a surface interpolation program provided with nn - a natural neighbor interpolation library, written by Pavel Sakov.
r.surf.nnbathy provides 3 interpolation algorithms. According to nn library documentation these are: Delaunay interpolation (alg=l), Watson's algortithm for Sibson natural neighbor interpolation (alg=nn) and Belikov and Semenov's algorithm for non-Sibsonian natural neighbor interpolation (alg=ns). For performing the underlaying Delaunay triangulation in all cases nnbathy uses triangle software by Jonathan Richard Shewchuk.
The output raster map is a continous surface interpolated from the input data.
NOTES
nnbathy, if built with '-DNN_SERIAL' (default as of nn 1.85), is able to create a grid of virtually any size. It interpolates and writes one output point at a time only. This eliminates the necessity to hold the whole output array in memory. However, even then all the input points are still held in the memory.
- Requires GRASS 7 and nnbathy 1.76 or greater.
- Build nnbathy according to instructions provided with its source code and put it somewhere in your $PATH.
- The output raster map extent and resolution match the region settings at which the script was started.
- The output raster map non-NULL area is limited to the convex hull encompassing all the non-NULL input cells.
- The output is double precision floating point raster map (DCELL).
- Natural neighbor is a an exact interpolation algorithm, so all non-NULL input points have their value exactly preserved in the output.
- There is circa 0.2 KB memory overhead per each input cell. However, the output grid can be of any size, if nnbathy is built with -DNN_SERIAL switch.
- r.surf.nnbathy creates 3 temporary files: ASCII x,y,z lists of the
input points and output cells, and the output list converted into
GRASS ASCII format. Then it makes a GRASS raster map from the latter
- and only then it removes the 3 temp files, when the script terminates. Thus, at the script run time several times more disk space might be required, than the final GRASS raster map would actually occupy.
EXAMPLE
g.region raster=elevation@PERMANENT -p
r.random input=elevation@PERMANENT n=100000 raster_output=random_points
r.surf.nnbathy input=random_points output=raster_map
d.rast map=raster_map
REQUIREMENTS
- nnbathy library by Pavel Sakov
- v.surf.nnbathy
SEE ALSO
AUTHOR
Adam Laza, OSGeoREL, Czech Technical University in Prague (mentor: Martin Landa)
based on v.surf.nnbathy from GRASS 6 by
Hamish Bowman, Otago University, New Zealand
Based on r.surf.nnbathy by Maciej Sieczka
SOURCE CODE
Available at: r.surf.nnbathy source code
(history)
Latest change: Friday Feb 21 10:10:05 2025 in commit 7d78fe3