GRASS logo


r.resamp.interp - Resamples raster map to a finer grid using interpolation.


raster, resample, interpolation, nearest neighbor, bilinear, bicubic, lanczos, parallel


r.resamp.interp --help
r.resamp.interp input=name output=name [method=string] [nprocs=integer] [memory=memory in MB] [--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


input=name [required]
Name of input raster map
output=name [required]
Name for output raster map
Sampling interpolation method
Options: nearest, bilinear, bicubic, lanczos
Default: bilinear
nearest: Nearest-neighbor interpolation
bilinear: Bilinear interpolation
bicubic: Bicubic interpolation
Number of threads for parallel computing
Default: 1
memory=memory in MB
Maximum memory to be used (in MB)
Cache size for raster rows
Default: 300

Table of contents


r.resamp.interp resamples an input raster map by interpolating between the neighboring cells via a selectable resampling algorithm. All cells present in the neighborhood of the input raster cell must be non-null to generate a non-null cell in the output raster map. A choice of four interpolation methods is available; each uses the weighted values of a different number of adjacent cells in the input map to determine the value of each cell in the output map as follows:

This module is intended for reinterpolation of continuous data to a different resolution rather than for interpolation from scattered data (use the* modules for that purpose).


Resampling modules (r.resample, r.resamp.stats, r.resamp.interp, r.resamp.rst) resample the map to match the current region settings.

Note that for bilinear, bicubic and lanczos interpolation, cells of the output raster that cannot be bounded by the appropriate number of input cell centers are set to NULL (NULL propagation). This could occur due to the input cells being outside the current region, being NULL or MASKed.

For longitude-latitude locations, the interpolation algorithm is based on degree fractions, not on the absolute distances between cell centers. Any attempt to implement the latter would violate the integrity of the interpolation method.


By specifying the number of parallel processes with nprocs option, r.resamp.interp can run significantly faster, see benchmarks below.

benchmark for number of cells
Figure: Benchmark shows execution time for different number of cells. See benchmark scripts in source code.

To reduce the memory requirements to minimum, set option memory to zero. To take advantage of the parallelization, GRASS GIS needs to compiled with OpenMP enabled.


Resample elevation raster map to a higher resolution (from 500m to 250m; North Carolina sample dataset):
g.region raster=elev_state_500m -p
g.region res=250 -ap
r.resamp.interp input=elev_state_500m output=elev_state_250m \
Original 500m resolution elevation map
Original 500m resolution elevation map

Resampled 250m resolution elevation map
Resampled (bilinear) 250m resolution elevation map


g.region, r.resample, r.resamp.filter, r.resamp.rst, r.resamp.stats

Overview: Interpolation and Resampling in GRASS GIS


Glynn Clements


Available at: r.resamp.interp source code (history)

Latest change: Friday Feb 24 16:25:20 2023 in commit: 2ad323511590f8715a2af389b9c06e9a096ff55b

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

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