1v.rectify(1) GRASS GIS User's Manual v.rectify(1)
2
3
4
6 v.rectify - Rectifies a vector by computing a coordinate transforma‐
7 tion for each object in the vector based on the control points.
8
10 vector, rectify, level1, geometry
11
13 v.rectify
14 v.rectify --help
15 v.rectify [-3orb] input=name output=name [group=name] [points=name]
16 [rmsfile=name] [order=integer] [separator=character] [--over‐
17 write] [--help] [--verbose] [--quiet] [--ui]
18
19 Flags:
20 -3
21 Perform 3D transformation
22
23 -o
24 Perform orthogonal 3D transformation
25
26 -r
27 Print RMS errors
28 Print RMS errors and exit without rectifying the input map
29
30 -b
31 Do not build topology
32 Advantageous when handling a large number of points
33
34 --overwrite
35 Allow output files to overwrite existing files
36
37 --help
38 Print usage summary
39
40 --verbose
41 Verbose module output
42
43 --quiet
44 Quiet module output
45
46 --ui
47 Force launching GUI dialog
48
49 Parameters:
50 input=name [required]
51 Name of input vector map
52 Or data source for direct OGR access
53
54 output=name [required]
55 Name for output vector map
56
57 group=name
58 Name of input imagery group
59
60 points=name
61 Name of input file with control points
62
63 rmsfile=name
64 Name of output file with RMS errors (if omitted or ’-’ output to
65 stdout
66
67 order=integer
68 Rectification polynomial order (1-3)
69 Options: 1-3
70 Default: 1
71
72 separator=character
73 Field separator for RMS report
74 Special characters: pipe, comma, space, tab, newline
75 Default: pipe
76
78 v.rectify uses control points to calculate a 2D or 3D transformation
79 matrix based on a first, second, or third order polynomial and then
80 converts x,y(, z) coordinates to standard map coordinates for each
81 object in the vector map. The result is a vector map with a transformed
82 coordinate system (i.e., a different coordinate system than before it
83 was rectified).
84
85 The -o flag enforces orthogonal rotation (currently for 3D only) where
86 the axes remain orthogonal to each other, e.g. a cube with right angles
87 remains a cube with right angles after transformation. This is not
88 guaranteed even with affine (1st order) 3D transformation.
89
90 Great care should be taken with the placement of Ground Control Points.
91 For 2D transformation, the control points must not lie on a line,
92 instead 3 of the control points must form a triangle. For 3D transfor‐
93 mation, the control points must not lie on a plane, instead 4 of the
94 control points must form a triangular pyramid. It is recommended to
95 investigate RMS errors and deviations of the Ground Control Points
96 prior to transformation.
97
98 2D Ground Control Points can be identified in g.gui.gcp.
99
100 3D Ground Control Points must be provided in a text file with the
101 points option. The 3D format is equivalent to the format for 2D ground
102 control points with an additional third coordinate:
103 x y z east north height status
104 where x, y, z are source coordinates, east, north, height are target
105 coordinates and status (0 or 1) indicates whether a given point should
106 be used. Numbers must be separated by space and must use a point (.) as
107 decimal separator.
108
109 If no group is given, the rectified vector will be written to the cur‐
110 rent mapset. If a group is given and a target has been set for this
111 group with i.target, the rectified vector will be written to the target
112 location and mapset.
113
114 Coordinate transformation and RMSE
115 The desired order of transformation (1, 2, or 3) is selected with the
116 order option. v.rectify will calculate the RMSE if the -r flag is
117 given and print out statistcs in tabular format. The last row gives a
118 summary with the first column holding the number of active points, fol‐
119 lowed by average deviations for each dimension and both forward and
120 backward transformation and finally forward and backward overall RMSE.
121
122 2D linear affine transformation (1st order transformation)
123 x’ = a1 + b1 * x + c1 * y
124 y’ = a2 + b2 * x + c2 * y
125
126 3D linear affine transformation (1st order transformation)
127 x’ = a1 + b1 * x + c1 * y + d1 * z
128 y’ = a2 + b2 * x + c2 * y + d2 * z
129 z’ = a3 + b3 * x + c3 * y + d3 * z The a,b,c,d coefficients are deter‐
130 mined by least squares regression based on the control points entered.
131 This transformation applies scaling, translation and rotation. It is
132 NOT a general purpose rubber-sheeting, nor is it ortho-photo rectifica‐
133 tion using a DEM, not second order polynomial, etc. It can be used if
134 (1) you have geometrically correct data, and (2) the terrain or camera
135 distortion effect can be ignored.
136
137 Polynomial Transformation Matrix (2nd, 3d order transformation)
138 v.rectify uses a first, second, or third order transformation matrix to
139 calculate the registration coefficients. The minimum number of control
140 points required for a 2D transformation of the selected order (repre‐
141 sented by n) is
142 ((n + 1) * (n + 2) / 2) or 3, 6, and 10 respectively. For a 3D trans‐
143 formation of first, second, or third order, the minimum number of
144 required control points is 4, 10, and 20, respectively. It is strongly
145 recommended that more than the minimum number of points be identified
146 to allow for an overly-determined transformation calculation which will
147 generate the Root Mean Square (RMS) error values for each included
148 point. The polynomial equations are determined using a modified Gauss‐
149 ian elimination method.
150
152 The GRASS 4 Image Processing manual
153
154 g.gui.gcp, i.group, i.rectify, i.target, m.transform, r.proj, v.proj,
155 v.transform,
156 Manage Ground Control Points
157
159 Markus Metz
160
161 based on i.rectify
162
164 Available at: v.rectify source code (history)
165
166 Main index | Vector index | Topics index | Keywords index | Graphical
167 index | Full index
168
169 © 2003-2020 GRASS Development Team, GRASS GIS 7.8.5 Reference Manual
170
171
172
173GRASS 7.8.5 v.rectify(1)