1v.surf.bspline(1) Grass User's Manual v.surf.bspline(1)
2
3
4
6 v.surf.bspline - Bicubic or bilinear spline interpolation with
7 Tykhonov regularization.
8
10 vector, interpolation
11
13 v.surf.bspline
14 v.surf.bspline help
15 v.surf.bspline [-c] input=name [sparse=name] [output=name]
16 [raster=name] [sie=float] [sin=float] [type=string]
17 [lambda_i=float] [layer=integer] [column=string] [--overwrite]
18 [--verbose] [--quiet]
19
20 Flags:
21 -c
22 Find best parameters using a cross validation method
23
24 --overwrite
25 Allow output files to overwrite existing files
26
27 --verbose
28 Verbose module output
29
30 --quiet
31 Quiet module output
32
33 Parameters:
34 input=name
35 Name of input vector map
36
37 sparse=name
38 Name of input vector map of sparse points
39
40 output=name
41 Name for output vector map
42
43 raster=name
44 Name for output raster map
45
46 sie=float
47 Interpolation spline step value in east direction
48 Default: 4
49
50 sin=float
51 Interpolation spline step value in north direction
52 Default: 4
53
54 type=string
55 Spline type of interpolation
56 Options: bilinear,bicubic
57 Default: bilinear
58
59 lambda_i=float
60 Thychonov regularization weigth
61 Default: 1
62
63 layer=integer
64 Layer number
65 Field value. If set to 0, z coordinates are used. (3D vector only)
66 Default: 0
67
68 column=string
69 Attribute table column with values to interpolate (if layer>0)
70
72 v.surf.bspline makes a bilinear/bicubic spline interpolation with
73 Tykhonov regularization. The required input is an only 3d points vector
74 map that will be used to interpolate a reference surface.
75 Interpolation is carried out by adjusting a Least-Squares (LS) system
76 in which the parameters to estime are spline functions. The number of
77 splines doesn't depend on the resolution region, but it depends on the
78 spline steps values in the north-south and west-east directions. These
79 spline steps are set by "sin=" and "sie=", respectively. If the number
80 of splines is bigger than the number of points, the LS system is bad
81 conditioned because there are more unkowns than observations. In that
82 case the LS normal matrix can't be inverted. To allow the inversion of
83 the normal matrix a Tykhonov regularization is done. The minimizing
84 function is the gradient in the case of a bilinear interpolation, and
85 the curvature in the bicubic interpolation. The lambda_i parameter
86 associated with the regularization smooths the interpolation. The
87 higher the lambda_i parameter, the smoother the interpolation.
88 The number of splines has a great influence on two things, mainly. The
89 first thing is the module's execution time. The second is the RAM use.
90 The higher the number of splines, the longer the time of execution and
91 the higher RAM use. A numerical example: 100 splines in each direction
92 imply 10e4 splines in total, that is, a square LS normal matrix of 10e4
93 size. Inverting this matrix means inverting 100 millions elements! To
94 improve this problems a Tcholebsky method with triangulars matrixes is
95 used in the normal matrix inversion. It has also fixed a maximum number
96 of splines for each direction. However, it is also possible running the
97 module with a higher number of splines. For a number of spline higher
98 than the fixed maximum, the whole region is divided into smaller
99 regions. Each subregion is 150x150 splines wide. To avoid contour prob‐
100 lems, the subregions are overlaped one to each other. To estimate a
101 single value within the overlaped zones, a weighted mean considering
102 the point positions into each subregion is carried out.
103 The required input is a 3d points vector. If nothing is specified z-
104 coordinates will be used in the interpolation. It could be also possi‐
105 ble to consider an attribute value by specifying "layer=" and "column="
106 parameters. If a vector map with another type of features is used, only
107 points will be considered. If the "sparse=" vector is used, the
108 "input=" vector map will be used to create a reference surface. This
109 surface will be used to make an estimation on the points within the
110 "sparse=". In this case a vector output ("output=") must be specify. If
111 the "sparse=" is not supplied, the final interpolation output will be
112 the interpolated reference surface from the "input=" vector map. In
113 this case, one of both the raster or vector output format can be
114 choosen. For raster format ("raster="), the point estimation will be
115 done on a regular grid with a resolution equal to the GRASS region. For
116 vector format, the estimation will be done on the sparse points of the
117 "input=" vector supplied. Both, vector and raster output, are not
118 allowed simultaneously.
119 A cross validation method has been implemented. It helps to find the
120 optimal lambda_i value that fits the data. It shows the mean and rms of
121 the residuals from the true point value and the estimated from the
122 interpolation made with all the data without the point itself. This
123 procedure is done for fixed lambda_i values. The results of the cross
124 validation will appear in the stdout and no vector nor raster output
125 will be created. The external input ("sparse=") will be not considered.
126 Due to the nature of the algorithm, it is advised the user no to try
127 the cross- validation with more than 100 points at a time because it
128 will take too long. The execution time could be reduced by considering
129 a lower number of splines. Although, as seen, it is possible to use a
130 high number of splines, more than 150x150 splines is not recommended.
131 In a raster map output ("raster="), region resolution implying more
132 than 2000x2000 (4 mill) cells are not allowed. If the user tries with a
133 more than those cells an error message will ask for a lower region res‐
134 olution.
135
137 Basic interpolation
138
139 v.surf.bspline input=point_vector output=interpolate_surface type=bicu‐
140 bic
141 In this case, a bicubic spline interpolation will be done and an esti‐
142 mation on the points of point_vector will be the output.
143
144 Basic interpolation and raster output with a long spline step
145
146 v.surf.bspline input=point_vector raster=interpolate_surface sie=25
147 sin=25
148 Now, a bilinear spline interpolation will be done on a grid. The
149 spline steps are set to 25. It doesn't mean that the grid will have a
150 resolution equal to 25, but that each 25 units there will be a spline.
151
152 Estimation of lambda_i parameter with a cross validation proccess
153
154 v.surf.bspline -c input=point_vector
155
156
157 Estimation on sparse points
158
159 v.surf.bspline input=point_vector sparse=sparse_points output=interpo‐
160 late_surface
161 In this last case, an estimation on the points of the sparse_points
162 vector will be done. The reference surface used for this estimation
163 will be that interpolated using the point_vector vector.
164
165 Using attribute values instead Z-coordinates
166
167 v.surf.bspline input=point_vector raster=interpolate_surface layer=1
168 column=attrib_column
169 This last case, the module uses the attribute values in attrib_column
170 in the table associated to layer 1.
171
173 Known issues:
174 In order to avoid RAM memory problems, an auxiliar table will be needed
175 for recording some intermediate calculi. Since the "GROUP BY" SQL func‐
176 tion is used, which is not supported by the "dbf" driver, this driver
177 is not allowed with the vector map output "output=". There is no prob‐
178 lem with the raster map output.
179 At this time, using the external vector input ("sparse=") implies
180 interpoling with Z-coordinates. Updates to allow using attribute values
181 will be done in a near future (I hope).
182
184 v.surf.rst
185
187 Original version in GRASS 5.4: (s.bspline.reg)
188 Maria Antonia Brovelli, Massimiliano Cannata, Ulisse Longoni, Mirko
189 Reguzzoni
190 Update for GRASS 6.X and improvements:
191 Roberto Antolin
192
194 Brovelli M. A., Cannata M., and Longoni U.M., 2004, LIDAR Data Filter‐
195 ing and DTM Interpolation Within GRASS, Transactions in GIS, April
196 2004, vol. 8, iss. 2, pp. 155-174(20), Blackwell Publishing Ltd
197 Brovelli M. A. and Cannata M., 2004, Digital Terrain model reconstruc‐
198 tion in urban areas from airborne laser scanning data: the method and
199 an example for Pavia (Northern Italy). Computers and Geosciences 30,
200 pp.325-331
201 Brovelli M. A e Longoni U.M., 2003, Software per il filtraggio di dati
202 LIDAR, Rivista dell'Agenzia del Territorio, n. 3-2003, pp. 11-22 (ISSN
203 1593-2192)
204 Brovelli M. A., Cannata M. and Longoni U.M., 2002, DTM LIDAR in area
205 urbana, Bollettino SIFET N.2, 2002, pp. 7-26
206
207 Last changed: $Date: 2007-02-26 12:08:52 +0100 (Mon, 26 Feb 2007) $
208
209 Full index
210
211 © 2003-2008 GRASS Development Team
212
213
214
215GRASS 6.3.0 v.surf.bspline(1)