r.resamp.rst(1)
โจ r.resamp.rst โ the GRASS GIS glow-up page โจ
okay bestie, welcome to r.resamp.rst(1), straight out of the GRASS GIS User's Manual ๐ This is the one that reinterpolates your raster AND (if you want) does a whole topographic analysis moment, all with regularized spline with tension + smoothing. it's giving main character energy, no cap.
๐ธ NAME ๐ธ
Reinterpolates and optionally computes topographic analysis from input raster map to a new raster map (possibly with different resolution) using regularized spline with tension and smoothing. ๐
๐ท๏ธ KEYWORDS ๐ท๏ธ
raster, resample, splines, RST โจ
๐ SYNOPSIS ๐
r.resamp.rst
r.resamp.rst --help
r.resamp.rst [-td] input=name ew_res=float ns_res=float
[elevation=name] [slope=name] [aspect=name] [pcurvature=name]
[tcurvature=name] [mcurvature=name] [smooth=name] [maskmap=name]
[overlap=integer] [zscale=float] [tension=float] [theta=float]
[scalex=float] [--overwrite] [--help] [--verbose] [--quiet] [--ui]
๐ฉ Flags ๐ฉ
-tโ Use dnorm independent tension-dโ Output partial derivatives instead of topographic parameters--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 mapew_res=float[required] โ Desired east-west resolutionns_res=float[required] โ Desired north-south resolutionelevation=nameโ Name for output elevation raster mapslope=nameโ Name for output slope map (or fx)aspect=nameโ Name for output aspect map (or fy)pcurvature=nameโ Name for output profile curvature map (or fxx)tcurvature=nameโ Name for output tangential curvature map (or fyy)mcurvature=nameโ Name for output mean curvature map (or fxy)smooth=nameโ Name of input raster map containing smoothingmaskmap=nameโ Name of input raster map to be used as maskoverlap=integerโ Rows/columns overlap for segmentation- Default:
3
- Default:
zscale=floatโ Multiplier for z-values- Default:
1.0
- Default:
tension=floatโ Spline tension value- Default:
40.
- Default:
theta=floatโ Anisotropy angle (in degrees counterclockwise from East)scalex=floatโ Anisotropy scaling factor
๐ DESCRIPTION ๐
r.resamp.rst reinterpolates the values from a given raster map (that's your input) onto a brand new raster map (which the docs call elev, and which you name via elevation=). heads up though: this module is meant for reinterpolation of continuous data to a different resolution, not for interpolation from scattered data โ for the scattered-data vibe you want the v.surf.* modules instead, iykyk ๐
The extent of all the resulting raster maps comes from the settings of the actual computational region (which, yes, can differ from the extent of the input raster map). BUT โ and this is important, bestie โ the resolution of the computational region has to be aligned to the resolution of the input map, otherwise you get artefacts. ๐
Reinterpolation (aka resampling) is done to higher, same, or lower resolution, whichever you specify with ew_res and ns_res. ๐ฆ
All resulting raster maps are created using the settings of the current region (which may be different from that of the input raster map).
Optionally โ and simultaneously with the interpolation, multitasking queen โ topographic parameters get computed from an input raster map containing z-values of elevation/depth: slope, aspect, profile curvature (measured in the direction of steepest slope), tangential curvature (measured in the direction of a tangent to contour line) and/or mean curvature are computed and saved as raster maps, as specified by the slope, aspect, pcurv, tcurv, mcurv options respectively. ๐
If the -d flag is set, the program outputs partial derivatives fx, fy, fxx, fxy, and fyy instead of slope, aspect and curvatures. โจ
For noisy data you can define spatially variable smoothing by handing over a raster map named by the smooth option, containing smoothing parameters. With the smoothing parameter set to zero (smooth not given, or it contains zero data), the resulting surface passes exactly through the data points. ๐ฏ
You can also define a raster map (named with maskmap) that gets used as a mask. The interpolation is skipped for cells which have zero or NULL value in the mask. And zero values will be assigned to those cells in all output raster maps. ๐ซถ
The zmult parameter lets you rescale the z-values โ super useful, like, for transforming elevations given in feet to meters so the proper values of slopes and curvatures can be computed. Default value is 1. ๐
A regularized spline with tension method is used for the interpolation. The tension parameter tunes the character of the resulting surface from thin plate to membrane. Higher values of the tension parameter reduce the overshoots that can appear in surfaces with a rapid change of gradient. ๐ฅ
The -t flag can be set to use "dnorm independent tension". โญ
The interpolation is performed for overlapping rectangular segments. You can define the width of the overlap (in number of cells) with the overlap option. Default value is 3. ๐
๐ NOTES ๐
r.resamp.rst uses regularized spline with tension for interpolation (as described in Mitasova and Mitas, 1993). ๐
The region is temporarily changed while writing output files with the desired resolution. Topographic parameters are computed in the same way as in the v.surf.rst module. (See also Mitasova and Hofierka, 1993)
The raster map used with the smooth option should contain variable smoothing parameters. These can be derived from errors, slope, etc. using the r.mapcalc module. ๐งฎ
The program gives a warning when significant overshoots appear and higher tension should be used. However โ and listen closely โ with tension set too high, the resulting surface changes its behaviour to a membrane (a rubber sheet stretched over the data points, resulting in a peak or pit in each given point, and everywhere else the surface goes rapidly to trend). Smoothing can be used to reduce the overshoots. When overshoots occur, the resulting elev file will have white color in the locations of overshoots, since the color table for the output file is the same as the colortable for the raster input file. ๐จ
The program checks the numerical stability of the algorithm by computing values at given points, and prints the maximum difference found into the history file of raster map elev (view it with r.info). An increase in tension is suggested if the difference is unacceptable. For computations with smoothing set to 0, this difference should be 0. With a smoothing parameter greater than zero, the surface will not pass through the data points exactly, and the higher the parameter, the closer the surface will be to the trend. ๐
The program writes the values of parameters used in the computation into the comment part of the elev map history file. Additionally, the following values are also written, to assist in the evaluation of results and the choosing of suitable parameters:
- minimum and maximum z values in the data file (
zmin_data,zmax_data) and in the interpolated raster map (zmin_int,zmax_int), - maximum difference between the given and interpolated z value at a given point (
errtotal), - rescaling parameter used for normalization (
dnorm), which influences the tension.
The program gives a warning when you try to interpolate outside the region given by the input raster map's header data. Zooming into the area where the points are is suggested in this case. ๐
โ ๏ธ When a mask is used, the program uses all points in the given region for interpolation โ including those in the area which is masked out โ to ensure proper interpolation along the border of the mask. It therefore does not mask out the data points. If you actually want that, you have to do it outside r.resamp.rst before processing. bestie please read this part twice ๐
๐งช EXAMPLE ๐งช
Resampling the Spearfish 30m resolution elevation model to 15m:
# set computation region to original map (30m)
g.region raster=elevation.dem -p
# resample to 15m
r.resamp.rst input=elevation.dem ew_res=15 ns_res=15 elevation=elev15
# set computation region to resulting map
g.region raster=elev15 -p
# verify
r.univar elev15 -g
slay, look at that workflow โจ
๐ 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, 481-492.
Mitasova, H. and Mitas, L., 1993. Interpolation by regularized spline with tension: I. Theory and implementation, Mathematical Geology No.25 p.641-656.
Mitasova, H. and Hofierka, L., 1993. Interpolation by regularized spline with tension: II. Application to terrain modeling and surface geometry analysis, Mathematical Geology No.25 p.657-667.
Talmi, A. and Gilat, G., 1977. Method for smooth approximation of data, Journal of Computational Physics , 23, pp 93-123.
Wahba, G., 1990. Spline models for observational data, CNMS-NSF Regional Conference series in applied mathematics, 59, SIAM, Philadelphia, Pennsylvania.
๐ SEE ALSO ๐
g.region, r.info, r.resample, r.mapcalc, r.surf.contour, v.surf.rst
Overview: Interpolation and Resampling in GRASS GIS ๐
๐ AUTHORS ๐
Original version of program (in FORTRAN): Lubos Mitas, NCSA, University of Illinois at Urbana Champaign, Il Helena Mitasova, US Army CERL, Champaign, Illinois
Modified program (translated to C, adapted for GRASS , segmentation procedure): Irina Kosinovsky, US Army CERL. Dave Gerdes, US Army CERL.
๐พ SOURCE CODE ๐พ
Available at: r.resamp.rst source code (history)
Accessed: Saturday Jan 17 05:40:57 2026
Main index | Raster index | Topics index | Keywords index | Graphical index | Full index
and that's a wrap, bestie ๐ซถ this whole page lives at GRASS 8.4.2 (that's r.resamp.rst(1), accessed Saturday Jan 17 05:40:57 2026), and it's all ยฉ 2003-2025 GRASS Development Team, from the GRASS GIS 8.4.2 Reference Manual. periodt ๐
๐โจ
๐ฆ where this page comes from
- fedora 44: grass 8.4.2-4.fc44 ยท GPL-2.0-or-later
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms