Provided by: grass-doc_7.8.2-1build3_all bug

NAME

       v.rectify   -  Rectifies  a vector by computing a coordinate transformation for each object in the vector
       based on the control points.

KEYWORDS

       vector, rectify, level1

SYNOPSIS

       v.rectify
       v.rectify --help
       v.rectify [-3orb] input=name output=name  [group=name]   [points=name]   [rmsfile=name]   [order=integer]
       [separator=character]   [--overwrite]  [--help]  [--verbose]  [--quiet]  [--ui]

   Flags:
       -3
           Perform 3D transformation

       -o
           Perform orthogonal 3D transformation

       -r
           Print RMS errors
           Print RMS errors and exit without rectifying the input map

       -b
           Do not build topology
           Advantageous when handling a large number of points

       --overwrite
           Allow output files to overwrite existing files

       --help
           Print usage summary

       --verbose
           Verbose module output

       --quiet
           Quiet module output

       --ui
           Force launching GUI dialog

   Parameters:
       input=name [required]
           Name of input vector map
           Or data source for direct OGR access

       output=name [required]
           Name for output vector map

       group=name
           Name of input imagery group

       points=name
           Name of input file with control points

       rmsfile=name
           Name of output file with RMS errors (if omitted or ’-’ output to stdout

       order=integer
           Rectification polynomial order (1-3)
           Options: 1-3
           Default: 1

       separator=character
           Field separator for RMS report
           Special characters: pipe, comma, space, tab, newline
           Default: pipe

DESCRIPTION

       v.rectify  uses control points to calculate a 2D or 3D transformation matrix based on a first, second, or
       third order polynomial and then converts x,y(, z) coordinates to standard map coordinates for each object
       in  the  vector  map.  The result is a vector map with a transformed coordinate system (i.e., a different
       coordinate system than before it was rectified).

       The -o flag enforces orthogonal rotation (currently for 3D only) where the axes remain orthogonal to each
       other,  e.g.  a cube with right angles remains a cube with right angles after transformation. This is not
       guaranteed even with affine (1st order) 3D transformation.

       Great care should be taken with the placement of Ground  Control  Points.   For  2D  transformation,  the
       control  points  must  not  lie  on  a line, instead 3 of the control points must form a triangle. For 3D
       transformation, the control points must not lie on a plane, instead 4 of the control points must  form  a
       triangular  pyramid.  It  is  recommended  to investigate RMS errors and deviations of the Ground Control
       Points prior to transformation.

       2D Ground Control Points can be identified in g.gui.gcp.

       3D Ground Control Points must be provided in a text file  with  the  points  option.  The  3D  format  is
       equivalent to the format for 2D ground control points with an additional third coordinate:
        x y z east north height status
       where  x,  y,  z  are  source coordinates, east, north, height are target coordinates and status (0 or 1)
       indicates whether a given point should be used. Numbers must be separated by space and must use  a  point
       (.) as decimal separator.

       If no group is given, the rectified vector will be written to the current mapset. If a group is given and
       a target has been set for this group with i.target, the rectified vector will be written  to  the  target
       location and mapset.

   Coordinate transformation and RMSE
       The  desired  order  of  transformation  (1,  2, or 3) is selected with the order option.  v.rectify will
       calculate the RMSE if the -r flag is given and print out statistcs in tabular format. The last row  gives
       a  summary  with the first column holding the number of active points, followed by average deviations for
       each dimension and both forward and backward transformation and  finally  forward  and  backward  overall
       RMSE.

   2D linear affine transformation (1st order transformation)
       x’ = a1 + b1 * x + c1 * y
       y’ = a2 + b2 * x + c2 * y

   3D linear affine transformation (1st order transformation)
       x’ = a1 + b1 * x + c1 * y + d1 * z
       y’ = a2 + b2 * x + c2 * y + d2 * z
       z’  =  a3  + b3 * x + c3 * y + d3 * z The a,b,c,d coefficients are determined by least squares regression
       based on the control points entered.  This transformation applies scaling, translation and  rotation.  It
       is  NOT  a  general  purpose rubber-sheeting, nor is it ortho-photo rectification using a DEM, not second
       order polynomial, etc. It can be used if (1) you have geometrically correct data, and (2) the terrain  or
       camera distortion effect can be ignored.

   Polynomial Transformation Matrix (2nd, 3d order transformation)
       v.rectify  uses  a  first,  second,  or  third  order transformation matrix to calculate the registration
       coefficients. The minimum number of control points required for a 2D transformation of the selected order
       (represented by n) is
       ((n  + 1) * (n + 2) / 2) or 3, 6, and 10 respectively. For a 3D transformation of first, second, or third
       order, the minimum number of required control points is 4, 10,  and  20,  respectively.  It  is  strongly
       recommended  that  more than the minimum number of points be identified to allow for an overly-determined
       transformation calculation which will generate the Root Mean Square (RMS) error values for each  included
       point. The polynomial equations are determined using a modified Gaussian elimination method.

SEE ALSO

       The GRASS 4 Image Processing manual

        g.gui.gcp, i.group, i.rectify, i.target, m.transform, r.proj, v.proj, v.transform,
        Manage Ground Control Points

AUTHOR

       Markus Metz

       based on i.rectify

SOURCE CODE

       Available at: v.rectify source code (history)

       Main index | Vector index | Topics index | Keywords index | Graphical index | Full index

       © 2003-2019 GRASS Development Team, GRASS GIS 7.8.2 Reference Manual