GRASS logo

NAME - Interpolates a raster map using the nnbathy natural neighbor interpolation program.


vector, surface, interpolation, natural, neighbor

SYNOPSIS --help [input=name] [layer=string] [file=name] output=name [column=name] [where=sql_query] [algorithm=string] [--overwrite] [--help] [--verbose] [--quiet] [--ui]


Allow output files to overwrite existing files
Print usage summary
Verbose module output
Quiet module output
Force launching GUI dialog


Name of input vector map
Name of input vector points map
Layer number
If set to 0, z coordinates are used. (3D vector only)
Default: 1
Containing x,y,z data as three space separated columns
output=name [required]
Name of output raster map
Name of the attribute column with values to be used for approximation (if layer>0)
WHERE conditions of SQL statement without 'where' keyword
Example: income < 1000 and population >= 10000
Options: l, nn, ns
Default: nn
l: Linear
nn: Sibson natural neighbor
ns: Non-Sibsonian natural neighbor

Table of contents

DESCRIPTION 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. 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 or file data.


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.
  1. Requires GRASS 7 and nnbathy 1.76 or greater.
  2. Build nnbathy according to instructions provided with its source code and put it somewhere in your $PATH.
  3. The output raster map extent and resolution match the region settings at which the script was started.
  4. The output raster map non-NULL area is limited to the convex hull encompassing all the non-NULL input cells.
  5. The output is double precision floating point raster map (DCELL).
  6. Natural neighbor is a an exact interpolation algorithm, so all non-NULL input points have their value exactly preserved in the output.
  7. 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.
  8. creates 4 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.


g.region raster=elevationelev_lid792_randpts@PERMANENT -p input=elevation_lid792_randpts@PERMANENT output=raster_map column=value
d.rast map=raster_map




Adam Laza, OSGeoREL, Czech Technical University in Prague (mentor: Martin Landa) Corrected by Roberto Marzocchi,

Based on from GRASS 6 by:
Hamish Bowman, Otago University, New Zealand
Based on by Maciej Sieczka


Available at: source code (history)

Latest change: Thursday Nov 09 15:37:21 2023 in commit: 1767c5f65fed3c5293f41668925558ea39c6e4ac

Main index | Vector index | Topics index | Keywords index | Graphical index | Full index

© 2003-2024 GRASS Development Team, GRASS GIS 8.3.3dev Reference Manual