r.resamp.interp(1)

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

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

SYNOPSIS
r.resamp.interp
r.resamp.interp --help
r.resamp.interp input=name output=name [method=string] [nprocs=integer] [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
    Sampling interpolation method
    Options: nearest, bilinear, bicubic, lanczos
    Default: bilinear
    nearest: Nearest-neighbor interpolation
    bilinear: Bilinear interpolation
    bicubic: Bicubic interpolation

nprocs=integer
    Number of threads for parallel computing
    0: use OpenMP default; >0: use nprocs; <0: use MAX-nprocs
    Default: 0

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

DESCRIPTION
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:

    •   nearest neighbour (1 cell)

    •   bilinear (4 cells)

    •   bicubic (16 cells)

    •   lanczos (25 cells)

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

NOTES

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 coordinate reference systems, 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.

  PERFORMANCE

By specifying the number of parallel processes with nprocs option, r.resamp.interp can run significantly faster, see benchmarks below.
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 needs to compiled with OpenMP enabled.

EXAMPLE
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 \
                method=bilinear

Original 500m resolution elevation map

Resampled (bilinear) 250m resolution elevation map

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

Overview: Interpolation and Resampling in GRASS

AUTHOR
Glynn Clements

SOURCE CODE

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

Latest change: Friday Aug 08 09:39:19 2025 in commit: ed72c71d8580e872cd6fd345c84a15c324764465

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

© 2003-2026 GRASS Development Team, GRASS 8.5.0 Reference Manual