GNU.WIKI: The GNU/Linux Knowledge Base

  [HOME] [PHP Manual] [HowTo] [ABS] [MAN1] [MAN2] [MAN3] [MAN4] [MAN5] [MAN6] [MAN7] [MAN8] [MAN9]

  [0-9] [Aa] [Bb] [Cc] [Dd] [Ee] [Ff] [Gg] [Hh] [Ii] [Jj] [Kk] [Ll] [Mm] [Nn] [Oo] [Pp] [Qq] [Rr] [Ss] [Tt] [Uu] [Vv] [Ww] [Xx] [Yy] [Zz]


NAME

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

KEYWORDS

       vector, interpolation

SYNOPSIS

       v.surf.bspline
       v.surf.bspline help
       v.surf.bspline   [-ce]   input=name    [sparse=name]      [output=name]
       [raster=name]       [sie=float]       [sin=float]       [method=string]
       [lambda_i=float]    [layer=integer]     [column=name]     [--overwrite]
       [--verbose]  [--quiet]

   Flags:
       -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

   Parameters:
       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)

DESCRIPTION

       v.surf.bspline  performs  a  bilinear/bicubic spline interpolation with
       Tykhonov regularization. The input is a 2D or  3D  vector  points  map.
       Values to interpolate can be the z values of 3D points or the values in
       a user-specified attribue column in a 2D or 3D map.  Output  can  be  a
       raster  or  vector map.  Optionally, a "sparse point" vector map can be
       input which indicates the location of output vector points.

       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  sin  for the north-south direction. For
       optimum performance, the length of spline step should be no  less  than
       the  distance between observation points. Each vector point observation
       is modeled as a linear function of the non-zero  splines  in  the  area
       around  the  observation. The least squares regression predicts the the
       coefficients of these linear  functions.   Regularization,  avoids  the
       need  to  have  one one observation and one coefficient for each spline
       (in order to avoid instability).

       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 lambda_i, the interpolated surface closely
       follows observation points; a larger  value  will  produce  a  smoother
       interpolation.

       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
       "column=" argument (2D or 3D map).

       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 "sparse=" vector
       points map is specified, the output vector map will contain  points  at
       the  same locations as the sparse vector map points, and values will be
       those of the interpolated raster surface at those points.

       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
       mean  and  rms  of  the  residuals  from  the  true point value and the
       estimated from the interpolation for a fixed series of lambda_i values.
       No  vector  nor  raster output will be created when cross-validation is
       selected.

EXAMPLES

   Basic interpolation

       v.surf.bspline      input=point_vector       output=interpolate_surface
       method=bicubic
         A  bicubic  spline interpolation will be done and a vector points map
       with estimated (i.e., interpolated) values will be created.

   Basic interpolation and raster output with a longer spline step

       v.surf.bspline  input=point_vector  raster=interpolate_surface   sie=25
       sin=25
        A bilinear spline interpolation will be done with a spline step length
       of 25 map units. An interpolated raster map  will  be  created  at  the
       current region resolution.

   Estimation of lambda_i parameter with a cross validation proccess

       v.surf.bspline -c input=point_vector

   Estimation on sparse points

       v.surf.bspline          input=point_vector         sparse=sparse_points
       output=interpolate_surface
        An output map of vector points will be created, corresponding  to  the
       sparse vector map, with interpolated values.

   Using attribute values instead Z-coordinates

       v.surf.bspline  input=point_vector  raster=interpolate_surface  layer=1
       column=attrib_column
        The interpolation will be done using the values in  attrib_column,  in
       the table associated with layer 1.

BUGS

       Known issues:

       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.

SEE ALSO

        v.surf.idw, v.surf.rst

AUTHORS

       Original version in GRASS 5.4: (s.bspline.reg)
       Maria Antonia Brovelli, Massimiliano  Cannata,  Ulisse  Longoni,  Mirko
       Reguzzoni

       Update for GRASS 6.X and improvements:
       Roberto Antolin

REFERENCES

       Brovelli  M.  A.,  Cannata  M.,  and  Longoni  U.M.,  2004,  LIDAR Data
       Filtering and DTM Interpolation  Within  GRASS,  Transactions  in  GIS,
       April 2004, vol. 8, iss. 2, pp. 155-174(20), Blackwell Publishing Ltd

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

       Full index

       © 2003-2013 GRASS Development Team



  All copyrights belong to their respective owners. Other content (c) 2014-2018, GNU.WIKI. Please report site errors to webmaster@gnu.wiki.
Page load time: 0.095 seconds. Last modified: November 04 2018 12:49:43.