1v.surf.bspline(1)             Grass User's Manual            v.surf.bspline(1)
2
3
4

NAME

6       v.surf.bspline    -  Bicubic  or  bilinear  spline  interpolation  with
7       Tykhonov regularization.
8

KEYWORDS

10       vector, interpolation
11

SYNOPSIS

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

DESCRIPTION

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

EXAMPLES

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

BUGS

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

SEE ALSO

184       v.surf.rst
185

AUTHORS

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

REFERENCES

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)
Impressum