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