1r.resamp.bspline(1)         GRASS GIS User's Manual        r.resamp.bspline(1)
2
3
4

NAME

6       r.resamp.bspline   -  Performs bilinear or bicubic spline interpolation
7       with Tykhonov regularization.
8

KEYWORDS

10       raster, surface, resample, interpolation, splines,  bilinear,  bicubic,
11       no-data filling
12

SYNOPSIS

14       r.resamp.bspline
15       r.resamp.bspline --help
16       r.resamp.bspline     [-nc]    input=name    output=name     [grid=name]
17       [mask=name]     [ew_step=float]     [ns_step=float]     [method=string]
18       [lambda=float]     [memory=memory   in  MB]    [--overwrite]   [--help]
19       [--verbose]  [--quiet]  [--ui]
20
21   Flags:
22       -n
23           Only interpolate null cells in input raster map
24
25       -c
26           Find   the   best   Tykhonov   regularizing   parameter   using   a
27           "leave-one-out" cross validation method
28
29       --overwrite
30           Allow output files to overwrite existing files
31
32       --help
33           Print usage summary
34
35       --verbose
36           Verbose module output
37
38       --quiet
39           Quiet module output
40
41       --ui
42           Force launching GUI dialog
43
44   Parameters:
45       input=name [required]
46           Name of input raster map
47
48       output=name [required]
49           Name for output raster map
50
51       grid=name
52           Name for output vector map with interpolation grid
53
54       mask=name
55           Name of raster map to use for masking
56           Only cells that are not NULL and not zero are interpolated
57
58       ew_step=float
59           Length of each spline step in the east-west direction. Default: 1.5
60           * ewres.
61
62       ns_step=float
63           Length of each spline step in the north-south  direction.  Default:
64           1.5 * nsres.
65
66       method=string
67           Spline interpolation algorithm
68           Options: bilinear, bicubic
69           Default: bicubic
70           bilinear: Bilinear interpolation
71           bicubic: Bicubic interpolation
72
73       lambda=float
74           Tykhonov regularization parameter (affects smoothing)
75           Default: 0.01
76
77       memory=memory in MB
78           Maximum memory to be used (in MB)
79           Cache size for raster rows
80           Default: 300
81

DESCRIPTION

83       r.resamp.bspline  performs a bilinear/bicubic spline interpolation with
84       Tykhonov regularization. The input is a raster surface map, e.g. eleva‐
85       tion,  temperature,  precipitation etc. Output is a raster map. Option‐
86       ally, only input NULL cells  are  interpolated,  useful  to  fill  NULL
87       cells,  an alternative to r.fillnulls. Using the -n flag to only inter‐
88       polate NULL cells will considerably speed up the module.
89
90       The input raster map is read  at  its  native  resolution,  the  output
91       raster  map  will  be produced for the current computational region set
92       with g.region. Any MASK  will  be  respected,  masked  values  will  be
93       treated as NULL cells in both the input and the output map.
94
95       Spline  step values ew_step for the east-west direction and ns_step for
96       the north-south direction should not be smaller than the east-west  and
97       north-south resolutions of the input map. For a raster map without NULL
98       cells, 1 * resolution can be used, but check for undershoots and  over‐
99       shoots.  For  very large areas with missing values (NULL cells), larger
100       spline step values may be required, but most of the time  the  defaults
101       (1.5 x resolution) should be fine.
102
103       The  Tykhonov  regularization parameter (lambda) acts to smooth the in‐
104       terpolation. With a small lambda, the interpolated surface closely fol‐
105       lows  observation points; a larger value will produce a smoother inter‐
106       polation. Reasonable values are 0.0001, 0.001, 0.005, 0.01, 0.02, 0.05,
107       0.1 (needs more testing). For seamless NULL cell interpolation, a small
108       value is required. The default lambda value is set to 0.01.
109
110       From a theoretical perspective, the interpolating procedure takes place
111       in  two parts: the first is an estimate of the linear coefficients of a
112       spline function; these are derived from the observation points using  a
113       least squares regression; the second is the computation of the interpo‐
114       lated surface (or  interpolated  vector  points).  As  used  here,  the
115       splines  are  2D  piece-wise  non-zero  polynomial functions calculated
116       within a limited 2D area. The length of each spline step is defined  by
117       ew_step for the east-west direction and ns_step for the north-south di‐
118       rection. For optimal performance, the spline step values should  be  no
119       less  than  the east-west and north-south resolutions of the input map.
120       Each non-NULL cell observation is modeled as a linear function  of  the
121       non-zero splines in the area around the observation.  The least squares
122       regression predicts the the coefficients  of  these  linear  functions.
123       Regularization  avoids the need to have one one observation and one co‐
124       efficient for each spline (in order to avoid instability).
125
126       A cross validation "leave-one-out" analysis is available to help to de‐
127       termine  the  optimal  lambda value that produces an interpolation that
128       best fits the original observation  data.  The  more  points  used  for
129       cross-validation, the longer the time needed for computation. Empirical
130       testing indicates a threshold of a maximum  of  100  points  is  recom‐
131       mended. Note that cross validation can run very slowly if more than 100
132       observations are used. The cross-validation output reports mean and rms
133       of  the  residuals from the true point value and the estimated from the
134       interpolation for a fixed series of lambda values. No vector nor raster
135       output will be created when cross-validation is selected.
136

EXAMPLES

138   Basic interpolation
139       r.resamp.bspline input=raster_surface output=interpolated_surface method=bicubic
140       A bicubic spline interpolation will be done and a raster map with esti‐
141       mated (i.e., interpolated) values will be created.
142
143   Interpolation of NULL cells and patching
144       General procedure:
145       # set region to area with NULL cells, align region to input map
146       g.region n=north s=south e=east w=west align=input -p
147       # interpolate NULL cells
148       r.resamp.bspline -n input=input_raster output=interpolated_nulls method=bicubic
149       # set region to area with NULL cells, align region to input map
150       g.region raster=input -p
151       # patch original map and interpolated NULLs
152       r.patch input=input_raster,interpolated_nulls output=input_raster_gapfilled
153
154   Interpolation of NULL cells and patching (NC data)
155       In this example, the SRTM elevation map in the  North  Carolina  sample
156       dataset location is filtered for outlier elevation values; missing pix‐
157       els are then re-interpolated to obtain a complete elevation map:
158       g.region raster=elev_srtm_30m -p
159       d.mon wx0
160       d.histogram elev_srtm_30m
161       r.univar -e elev_srtm_30m
162       # remove too low elevations (esp. lakes)
163       # Threshold: thresh = Q1 - 1.5 * (Q3 - Q1)
164       r.mapcalc "elev_srtm_30m_filt = if(elev_srtm_30m < 50.0, null(), elev_srtm_30m)"
165       # verify
166       d.histogram elev_srtm_30m_filt
167       d.erase
168       d.rast elev_srtm_30m_filt
169       r.resamp.bspline -n input=elev_srtm_30m_filt output=elev_srtm_30m_complete \
170         method=bicubic
171       d.histogram elev_srtm_30m_complete
172       d.rast elev_srtm_30m_complete
173
174   Estimation of lambda parameter with a cross validation process
175       A random sample of points should be generated first with r.random,  and
176       the  current  region  should  not include more than 100 non-NULL random
177       cells.
178       r.resamp.bspline -c input=input_raster
179

REFERENCES

181           •   Brovelli M. A., Cannata M., and Longoni U.M., 2004, LIDAR  Data
182               Filtering  and  DTM Interpolation Within GRASS, Transactions in
183               GIS, April 2004, vol. 8, iss.  2,  pp.  155-174(20),  Blackwell
184               Publishing Ltd
185
186           •   Brovelli  M. A. and Cannata M., 2004, Digital Terrain model re‐
187               construction in urban areas from airborne laser scanning  data:
188               the method and an example for Pavia (Northern Italy). Computers
189               and Geosciences 30, pp.325-331
190
191           •   Brovelli M. A e Longoni U.M., 2003, Software per il  filtraggio
192               di  dati LIDAR, Rivista dell’Agenzia del Territorio, n. 3-2003,
193               pp. 11-22 (ISSN 1593-2192)
194
195           •   Antolin R. and Brovelli M.A., 2007, LiDAR data  Filtering  with
196               GRASS GIS for the Determination of Digital Terrain Models. Pro‐
197               ceedings of Jornadas de SIG Libre, Girona,  España.  CD  ISBN:
198               978-84-690-3886-9
199

SEE ALSO

201        r.fillnulls, r.resamp.rst, r.resamp.interp, v.surf.bspline
202
203       Overview: Interpolation and Resampling in GRASS GIS
204

AUTHORS

206       Markus Metz
207       based on v.surf.bspline by
208       Maria  Antonia  Brovelli,  Massimiliano  Cannata, Ulisse Longoni, Mirko
209       Reguzzoni, Roberto Antolin
210

SOURCE CODE

212       Available at: r.resamp.bspline source code (history)
213
214       Accessed: Saturday Oct 28 18:17:55 2023
215
216       Main index | Raster index | Topics index | Keywords index  |  Graphical
217       index | Full index
218
219       © 2003-2023 GRASS Development Team, GRASS GIS 8.3.1 Reference Manual
220
221
222
223GRASS 8.3.1                                                r.resamp.bspline(1)
Impressum