How Transform works

This topic applies to ArcInfo only.

Description

The Transform tool converts data from one coordinate system to another. It is often used to convert coverages created in digitizer units (most often inches) to the real-world units represented on the map manuscript. These real-world locations are represented by a particular projection; for example, the projection of your basemap may be UTM with control point locations measured in meters.

To perform a transformation, you must be able to register at least two tics in your coverage to real locations. These real locations may be measured in feet or meters using the basemap coordinate system, or they may be located at latitude-longitude intersections. If your locations reference degrees of latitude and longitude, use the Project tool to convert the control points to the coordinate system that corresponds to your base map, measured in feet or meters. Do this before transforming the digitized coverage.

When you initially transform your data, you will be transforming it into the same projection as your source map. You can then use Project tool to convert the coverage to another map projection.

Transform illustration

The Transform tool is based on comparing the coordinates of the Input Coverage's tics with the coordinates for corresponding tics in the Output Coverage. The Tic-IDs identify the tics to be compared. The minimum number of needed tics depends on which transformation option is used. Tics are treated as control points for the transformation, and they are not converted with the transformation equation. The coordinates of the output tics will not change after the transformation. However, any features that coincide with the input tics usually will not coincide with the output tics. You may need to adjust features to force them to coincide with the tics in the Output Coverage after the transformation.

The Transform tool, by default, uses an AFFINE transformation function to transform coverage coordinates from the Input Coverage to the Output Coverage. A minimum of three tics is required to calculate an affine transformation.

An affine transformation can differentially scale the data, skew it, rotate it, and translate it. The graphic below illustrates the four possible changes.

Affine transformation

The affine transformation function is:

x’ = Ax + By + C

The parameters A-F are determined by the control points,

y’ = Dx + Ey + F

then applied to all coordinates in the coverage.

where x and y are coordinates of the Input Coverage, and x' and y' are coordinates of the Output Coverage. A, B, C, D, E, and F are determined by comparing the location of tics in the Input Coverage and their locations in the Output Coverage. They scale, skew, rotate, and translate the tic coordinates.

The Transform tool reports the six parameters and their geometric interpretation. Here is an example of part of the output report for an affine transformation.

Transforming coordinates for coverage in_cov_name

Scale (X,Y) = (246.140,255.702)  Skew (degrees) = (-0.061)
Rotation (degrees) = (0.334)  Translation = (2890.267,3679.906)
RMS Error (input, output) = (0.084,20.592)

Affine X = Ax + By + C
       Y = Dx + Ey + F
A =   246.135   B =   -1.763        C =   2890.267
D =   1.434     E =   255.696       F =   3679.906

One section of the report lists the parameters of the transformation equations. You can interpret the equation parameters to understand what is happening geometrically. The first section of the report gives the interpreted values of the scaling, skewing, and rotation. Rearranging the order of the application of these geometric actions changes their interpreted values, but the final result and the equation parameters are always the same. The interpretation used is in the order of (1) scaling, (2) skewing in the x direction, and (3) counterclockwise rotation of points around the axes. The translation values are not interpreted but are simply the C and F translation parameters from the equations. The Transform tool interprets the affine equation parameters in the following manner:

A = mx · cos t
B = my · (k · cos t - sin t)
D = mx · sin t
E = my · (k · sin t + cos t)
C = translation in x direction
F = translation in y direction

where

mx = change of scale in x direction
my = change of scale in y direction
k = shear factor along the x-axis = tan (skew angle) (the skew angle is measured from the y-axis)
t = rotation angle, measured counterclockwise from the x-axis

The rotation angle refers to the rotation of the data about a fixed x,y coordinate system. Referring to the earlier figure, the original data has been rotated 45 degrees. A negative value means the data is rotated clockwise from the x-axis.

The SIMILARITY transformation scales, rotates, and translates the data. It will not independently scale the axes nor introduce any skew. A similarity transformation requires a minimum of two control points. Here's the report for a similarity transformation using the same coverages previously transformed with an affine transformation.

Transforming coordinates for coverage in_cov_name

Scale (X,Y) = (249.927,249.927)
Rotation (degrees) = (0.362)  Translation = (2855.407,3715.168)
RMS Error (input, output) = (0.118,29.398)

Similarity X =  Ax + By + C
           Y = -Bx + Ay + F
A =   249.922         B =   -1.578
C =   2855.407        F =   3715.168

Notice that the X and Y scale values are equal. A skew value is not reported because the similarity transformation will not allow any nonorthogonal movement to be introduced into the data.

The similarity transformation function is

x’ =  Ax + By + C
y’ = -Bx + Ay + F

where

A = s · cos t
B = s · sin t
C = translation in x direction
F = translation in y direction

and

s = scale change (same in x and y directions)
t = rotation angle, measured counterclockwise from the x-axis

Just as in the AFFINE explanation, the rotation angle refers to the rotation of the data about a fixed x,y coordinate system. Referring to the earlier figure, the original data has been rotated 45 degrees. A negative value means the data is rotated clockwise as measured from the x-axis.

The PROJECTIVE transformation is based upon a more complex formula which requires a minimum of four tics.

x’ = (Ax + By + C) / (Gx + Hy + 1)
y’ = (Dx + Ey + F) / (Gx + Hy + 1)

The PROJECTIVE report includes the approximate scale, the RMS error, and the equation parameters. Due to the complexity of the interpretation, the projective transformation parameters are not interpreted. For more information, please refer to one of the photogrammetric texts listed in the references at the end of this topic. Below is a sample output report for a projective transformation.

Transforming coordinates for coverage in_cov_name

Approximate scale = 1479.087
RMS Error (input, output) = (0.040,60.878)

2D Projective  X = (Ax + By + C) / (Gx + Hy + 1)
               Y = (Dx + Ey + F) / (Gx + Hy + 1)

A =         55.667   B =       -718.999   C =    2125052.558
D =       -199.525   E =       1385.541   F =     317759.475
G =         -0.001   H =          0.000

Principal point of input (xp,yp) = (2.000,16.946)
Exposure center of output(Xc,Yc) = (2127791.000,343183.000)

The principal point and exposure center correspond to the first tic in the Input Coverage tic file. If you want to use another point (for instance, the center of the dataset), make sure it is the first tic in the file.

A Root Mean Square (RMS) error is calculated for each transformation performed and indicates how good the derived transformation is. The following example illustrates the relative location of four output control points (tics) and the transformed input control points:

RMS illustration

The RMS error measures the errors between the Output Coverage's tics and the transformed locations of the Input Coverage's tics.

The transformation is derived using least squares, so more tics than necessary can be given.

RMS formula

The RMS error for each transformation is reported in both Input Coverage units (for example, 0.031 inches) and Output Coverage units (for example, 37.465 feet).

RMS Error (input, output) = (0.031,37.465)

A perfect transformation produces an RMS error of zero. Although you will not obtain a value of 0.000, you should try to keep your RMS error as low as possible. It is best to establish and maintain a maximum acceptable error. Acceptable values will vary depending on the accuracy of the original data and the scale of the source map. High RMS errors indicate that the old tics and the new tics do not correspond to the same relative locations. If your RMS error is higher than the established value, it can indicate conversion problems that may incorrectly stretch your Output Coverage.

The last part of the report lists the input and output tic coordinates and their x and y errors (see below). The transformation parameters are a best fit between the input and output tics. If you use the transformation parameters to transform the actual input tics, the transformed output locations won't match the true output tic locations. The x and y errors are a measure of the fit between the true locations and the transformed locations of the output tics. Sometimes you can spot a mistake by looking at the x and y errors.

tic id  input x   input y   output x      output y     x error   y error
------------------------------------------------------------------------
1       2.000     16.946    2127791.000   343183.000    14.463    75.499
2       12.764    16.821    2143469.000   343326.000   -31.043   -85.363
3       2.052     1.976     2128000.000   320680.000   -36.290    -2.353
4       12.922    2.013     2143729.000   320912.000    20.245    -6.163
5       2.082     9.442     2127944.000   332015.000    22.016   -74.699
6       12.662    9.442     2143320.000   332015.000    10.609    93.079

Example

This example transforms a coverage from digitizer units to real-world coordinates. The original coverage named INCHCOV has the following control points measured in digitizer inches:

IDTIC    XTIC       YTIC
1       2.000     16.946
2      12.764     16.821
3       2.052      1.976
4      12.922      2.013
5       2.082      9.442
6      12.662      9.442

The basemap used was in the State Plane coordinate system with control points measured in feet. Each tic corresponds to the following locations:

Tic-IDs	 X Coordinates	 Y Coordinates
1	       2,127,791     	343,183
2       	2,143,469     	343,326
3       	2,128,000     	320,680
4       	2,143,729     	320,912
5       	2,127,944     	332,015
6	       2,143,320     	332,015

The Output Coverage must exist before the Transform tool can be executed. Use the Create Coverage tool to create the Output Coverage and copy the TIC and BND files from the Input Coverage if desired. Optionally, you can use the Generate tool to create a new coverage containing tics in the desired locations.

The tic file for the Output Coverage must contain x,y coordinates for each tic to be retained in the Output Coverage; in this case, the tic locations in the State Plane coordinate system. Tic coordinates can be adjusted in ArcMap or in ArcInfo Workstation TABLES or INFO modules.

Once the new tics have been created, the features in the digitized coverage can be transformed to real-world units. The Transform tool is used to convert a State Plane projection coverage referenced in inches (INCHCOV) to a State Plane projection coverage referenced in feet (STATECOV). Here is an example of the AFFINE transformation.

Scale (X,Y) = (1452.317,1508.433)  Skew (degrees) = (0.416)
Rotation (degrees) = (0.218) Translation = (2124994.654,317664.385)
RMS Error (input, output) = (0.048,71.614)

Affine  X = Ax + By + C
        Y = Dx + Ey + F
A =     1452.230   B =       -5.526   C =   2124994.654
D =       15.858   E =     1508.462   F =    317664.385

tic id  input  x      input  y
        output x      output y   x error   y error
--------------------------------------------------
1          2.000        16.946
     2127791.000    343183.000    14.463    75.499
2         12.764        16.821
     2143469.000    343326.000   -31.043   -85.363
3          2.052         1.976
     2128000.000    320680.000   -36.290    -2.353
4         12.922         2.013
     2143729.000    320912.000    20.245    -6.163
5          2.082         9.442
     2127944.000    332015.000    22.016   -74.699
6         12.662         9.442
     2143320.000    332015.000    10.609    93.079

Here is the corresponding example of a PROJECTIVE transformation for the same coverage. Remember that the PROJECTIVE option is normally used only when the original coverages are digitized directly from aerial photos.

Transforming coordinates for coverage INCHCOV

Approximate scale = 1479.087
RMS Error (input, output) = (0.040,60.878)

2D Projective  X = (Ax + By + C) / (Gx + Hy + 1)
               Y = (Dx + Ey + F) / (Gx + Hy + 1)
A =         55.667   B =       -718.999   C =    2125052.558
D =       -199.525   E =       1385.541   F =     317759.475
G =         -0.001   H =          0.000

Principal point of input (xp,yp) = (2.000,16.946)
Exposure center of output(Xc,Yc) = (2127791.000,343183.000)

tic id  input  x      input  y
        output x      output y   x error   y error
--------------------------------------------------
1         2.000         16.946
    2127791.000     343183.000    -4.438    45.252
2        12.764         16.821
   2143469.000      343326.000   -11.447   -36.202
3         2.052          1.976
   2128000.000      320680.000   -17.300    46.421
4        12.922          2.013
   2143729.000      320912.000     1.704   -36.962
5         2.082          9.442
   2127944.000      332015.000    21.787   -93.410
6        12.662          9.442
   2143320.000      332015.000     9.694    74.901

Finally, here is the same coverage transformed using the SIMILARITY option.

Transforming coordinates for coverage inchcov

Scale (X,Y) = (1483.794,1483.794)
Rotation (degrees) = (0.377)  Translation = (2124800.900,317942.729)
RMS Error (input,output) = (0.162,240.958)

Similarity  X =  Ax + By + C
Y = -Bx + Ay + F
A =         1483.762   B =           -9.765
C =      2124800.900   F =       317942.729

tic id  input  x      input  y
        output x      output y   x error   y error
--------------------------------------------------
1          2.000        16.946
     2127791.000    343183.000  -188.053   -76.916
2         12.764        16.821
     2143469.000    343326.000   106.378  -300.277
3          2.052         1.976
     2128000.000    320680.000  -173.717   214.680
4         12.922         2.013
     2143729.000    320912.000   225.411   143.724
5          2.082         9.442
     2127944.000    332015.000  -146.109   -42.262
6         12.662         9.442
     2143320.000    332015.000   176.089    61.051

The following example flips a coverage using an AFFINE transformation.

Transforming coordinates for coverage flag

Scale (X,Y) = (1.000,-1.000)  Skew (degrees) = (0.000)
*** Negative Y scaling indicates reflection around X axis. ***
Rotation (degrees) = (180.000)  Translation = (800.000,0.000)
RMS Error (input, output) = (0.000,0.000)

Affine  X = Ax + By + C
        Y = Dx + Ey + F
A =       -1.000   B =        0.000   C =      800.000
D =        0.000   E =        1.000   F =        0.000

tic id  input  x      input  y
        output x      output y   x error   y error
--------------------------------------------------
1        700.000      100.000
         100.000      100.000      0.000     0.000
2        700.000      800.000
         100.000      800.000      0.000     0.000
3        100.000      800.000
         700.000      800.000      0.000     0.000
4        100.000      100.000
         700.000      100.000      0.000     0.000

Note the message in the output report about the reflection. What is happening to the coverage is shown in the graphic below. The rectangle labeled I is the Input Coverage. A Y scale of -1 is applied to the coordinates. This results in the II rectangle. There is no skew factor, so the points are rotated 180 degrees, which places it in position III. The final step (not shown) is to translate the coverage.

Transform illustration

References

Maling, D.H., Coordinate Systems and Map Projections. George Philip., 1973.

Maling, D.H., “Coordinate systems and map projections for GIS.” In: Maguire D.J., M.F. Goodchild, and D.W. Rhind (eds.), Geographical Information Systems: principles and applications. Vol. 1, pp. 135-146. Longman Group UK Ltd., 1991.

Moffitt, F.H., and E.M. Mikhail, Photogrammetry. Third Edition. Harper and Row, Inc., 1980.

Pettofrezzo, A.J., Matrices and Transformations. Dover Publications, Inc., 1966.

Slama, C.C., C. Theurer, and S.W. Henriksen (eds.), Manual of Photogrammetry. 4th Edition. Chapter XIV, pp. 729-731. ASPRS, 1980.


Published 6/8/2010