updated: 24-Mar-2011

 Copan for Windows

Coordinate Transformations

  1. Transforming Coordinates by Parameters
  2. Transforming Coordinates by Control Points

You will often need to geometrically transform the coordinates of a group of points, for example, between a local ground coordinate system and a regional grid system. The need may be for a permanent change to a coordfile or for just a temporary transformation during an import/export process.

Use this module to geometrically transform a set of points, either

In each case, rotations are always about a vertical axis, i.e., the horizontal planes of each coordinate system are assumed to be parallel.

1. Transforming Coordinates by Parameters

You can specify up to seven plus two parameters of an affine transformation. The seven affine transformation parameters are a 1D rotation, a 3D scaling, and a 3D shift (slide or translation). Of course, any of the parameters may be left in their trivial form (i.e., rotation = 0, scale = 1, shift = 0). The additional two parameters are the 2D coordinates of a pivot point that is temporarily fixed with respect to rotation and scale.

From the Calculation menu, choose Transform Coords, then either By Parameters or By Control Points. From within an import/export module, choose the Yes button under Apply Transformation.

To Transform by Parameters

  1. Either Calculation | Transform Coords... | By Parameters... to change a coordfile's point coordinates,
    or choose Yes... under Apply Transformation from within an import/export module to change the coordinates during the import/export process and leave the source points unchanged.
  2. Optionally Load... a transformation Parameters file.
  3. Enter the Pivot point number or the Northing and Easting of a location about which the rotation should pivot or from which the scaling should occur.
  4. For a Rotation, enter the Angle (+ve clockwise).
  5. For a Scale change,
  6. Optionally Scale extended-code sizes. This will scale any point codes that are sized according to the rules in § Point Codes by the Elev Scale present. (The Z-scale is used, rather than the N/E-scale, to prevent influence from the SF.)
  7. For a Shift, enter either a shift expression (see § Shift Expressions) or the Northing, Easting and Elevation values to be added.
  8. Optionally Save the Transformation parameters file for later reuse.
  9. Choose which Points to transform: All of them or Filter... a subset (See § Point Filters).
  10. Transform or OK. The sequence will be rotation, scale, then shift.
  11. Optionally Reverse transform the points. This performs the specified transformation in reverse (so effectively acts as an Undo button).

The Transform by Parameters tool allows you to specify the following: a fixed point number or fixed coordinates for the rotation and shift, a rotation angle, a uniform scale or differential scales (which can be composed of a units factor and a projection scale factor), a pair of point numbers or shift coordinates for a translation, and which set of points to transform.click for larger view


2. Transforming Coordinates by Control Points

Suppose you have a set of points to transform from one coordinate system, the source system, to another, the target system. You can estimate a best-fit transformation between specified lists of control points — points whose coordinates are available in both systems — then do the transformation.

The estimation is by least-squares and can be for

The rotation and scale (if present) are with respect to the arbitrary 2D centroid of the source control points. The least-squares solution is one that minimizes the sum of the squared residuals, where a residual is the difference between a tansformed source point and its corresponding target point.

To Transform by Control Points

  1. Calculation | Transform Coords... | By Control Points...
  2. Optionally Load... a Control Point Pairs file.
  3. For each Source Control Point, enter the # and Add.
  4. Do the same for each Target Control Point, ensuring that corresponding points are in the same order.
  5. Select whatType of transformation: Rigid-body or Similarity.
  6. Estimate the Parameters and examine the listed residuals.
  7. Optionally Save... the Control Point Pairs for later reuse.
  8. Optionally Save... the Parameters for later use in Transform by Parameters.
  9. Choose which Source points to transform: All of them or Filter... a subset (See § Point Filters). Target points are automatically protected so will not get transformed.
  10. Transform or OK.
  11. Optionally Reverse transform the points. This performs the specified transformation in reverse (so effectively acts as an Undo button).

The Transform by Control Pairs tool allows you to specify the following: pairs of From and To control points, whether to estimate a rigid-body transformation or a similarity transformation, and which set of points to then transform.click for larger view

The Transformation Control Point Pairs File Format

This plain text (or ascii) file has
Example: Transformation control point pairs file.
Source  Target
2       1002
3       1003
4       1004 


updated: 24-Mar-2011