Note: A new GRASS GIS stable version has been released: GRASS GIS 7. Go directly to the new manual page here

**-c**- Find the best Tykhonov regularizing parameter using a "leave-one-out" cross validation method
**-e**- Estimate point density and distance
- Estimate point density and distance for the input vector points within the current region extends and quit
**--overwrite**- Allow output files to overwrite existing files
**--verbose**- Verbose module output
**--quiet**- Quiet module output

**input**=*name*- Name of input vector map
**sparse**=*name*- Name of input vector map of sparse points
**output**=*name*- Name for output vector map
**raster**=*name*- Name for output raster map
**sie**=*float*- Length of each spline step in the east-west direction
- Default:
*4* **sin**=*float*- Length of each spline step in the north-south direction
- Default:
*4* **method**=*string*- Spline interpolation algorithm
- Options:
*bilinear,bicubic* - Default:
*bilinear* **lambda_i**=*float*- Tykhonov regularization parameter (affects smoothing)
- Default:
*0.01* **layer**=*integer*- Layer number
- If set to 0, z coordinates are used. (3D vector only)
- Default:
*0* **column**=*name*- Attribute table column with values to interpolate (if layer>0)

From a theoretical perspective, the interpolating procedure takes place in two
parts: the first is an estimate of the linear coefficients of a spline function
is derived from the observation points using a least squares regression; the
second is the computation of the interpolated surface (or interpolated vector
points). As used here, the splines are 2D piece-wise non-zero polynomial
functions calculated within a limited, 2D area. The length of each spline step
is defined by ** sie** for the east-west direction and

With regularly distributed data points, a spline step corresponding to the maximum distance between two points in both the east and north directions is sufficient. But often data points are not regularly distributed and require statistial regularization or estimation. In such cases, v.surf.bspline will attempt to minimize the gradient of bilinear splines or the curvature of bicubic splines in areas lacking point observations. As a general rule, spline step length should be greater than the mean distance between observation points (twice the distance between points is a good starting point). Separate east-west and north-south spline step length arguments allows the user to account for some degree of anisotropy in the distribution of observation points. Short spline step lengths--especially spline step lengths that are less than the distance between observation points--can greatly increase processing time.

Moreover, the maximum number of splines for each direction at each time is fixed, regardless of the spline step length. As the total number of splines used increases (i.e., with small spline step lengths), the region is automatically into subregions for interpolation. Each subregion can contain no more than 150x150 splines. To avoid subregion boundary problems, subregions are created to partially overlap each other. A weighted mean of observations, based on point locations, is calculated within each subregion.

The Tykhonov regularization parameter ("** lambda_i**") acts to smooth
the interpolation. With a small

The input can be a 2D pr 3D vector points map. If "** layer =**" 0 the
z-value of a 3D map is used for interpolation. If layer > 0, the user must
specify an attribute column to used for interpolation using the
"

v.surf.bspline can produce a raster OR a vector output (NOT simultaneously). However, a vector output cannot be obtained using the default GRASS DBF driver.

If output is a vector points map and a "** sparse=**" vector points map
is not specified, the output vector map will contain points at the same
locations as observation points in the input map, but the values of the output
points are interpolated values. If instead a "

A cross validation "leave-one-out" analysis is available to help to determine
the optimal ** lambda_i** value that produces an interpolation that
best fits the original observation data. The more points used for
cross-validation, the longer the time needed for computation. Empirical testing
indicates a threshold of a maximum of 100 points is recommended. Note that cross
validation can run very slowly if more than 100 observations are used. The
cross-validation output reports

v.surf.bspline input=point_vector output=interpolate_surface method=bicubic

v.surf.bspline input=point_vector raster=interpolate_surface sie=25 sin=25

v.surf.bspline -c input=point_vector

v.surf.bspline input=point_vector sparse=sparse_points output=interpolate_surface

v.surf.bspline input=point_vector raster=interpolate_surface layer=1 column=attrib_column

In order to avoid RAM memory problems, an auxiliary table is needed for
recording some intermediate calculations. This requires the "**GROUP BY**"
SQL function is used, which is not supported by the "**dbf**" driver. For
this reason, vector map output "** output=**" is not permitted with the
DBF driver. There are no problems with the raster map output from the DBF
driver.

Maria Antonia Brovelli, Massimiliano Cannata, Ulisse Longoni, Mirko Reguzzoni

Update for GRASS 6.X and improvements:

Roberto Antolin

Brovelli M. A. and Cannata M., 2004, Digital Terrain model reconstruction in urban areas from airborne laser scanning data: the method and an example for Pavia (Northern Italy). Computers and Geosciences 30, pp.325-331

Brovelli M. A e Longoni U.M., 2003, Software per il filtraggio di dati LIDAR, Rivista dell'Agenzia del Territorio, n. 3-2003, pp. 11-22 (ISSN 1593-2192)

Antolin R. and Brovelli M.A., 2007, LiDAR data Filtering with GRASS GIS for the
Determination of Digital Terrain Models. Proceedings of Jornadas de SIG Libre,
Girona, España. CD ISBN: 978-84-690-3886-9

*Last changed: $Date: 2012-12-27 09:22:59 -0800 (Thu, 27 Dec 2012) $*

Main index - vector index - Full index

© 2003-2016 GRASS Development Team