Transform


superclasses:

Tuple

subclassing:

The user may define subclasses of this class.

attributes:

[transformMatrix] Matrix

[spatialOffset] Coordinate

[remarks] String

restricted:

spatialOffset : CoordXY | CoordXYZ

transformMatrix.rows : 2 | 3

transformMatrix.columns : 2 | 3

constraints:

transformMatrix.rows equals transformMatrix.columns.

spatialOffset must be an instance of CoordXY or of CoordXYZ.

comments:

If a simple transformation must be applied to the coordinate data before it is spatially correct with reference to coordinateSystem (as part of spatialReferencing), then the transformation should be specified in terms of a transformMatrix and a constant (or spatialOffset). The new, correct coordinate is defined as equal to the given coordinate times the transform matrix with the result added to spatialOffset: correct = (given x transformMatrix) + spatialOffset. Note that a 2 by 2 matrix is appropriate if only x and y are of interest; if x, y, and z are all relevant, the matrix is 3 by 3.

Cases where this might apply include coordinates which have been scaled, coordinates associated with a raster at an angle to the x-y reference system, coordinates which are relative to some starting location, and the like. The default for the transformMatrix is the identity matrix and the default for the spatialOffset is zero for all coordinate components.

If time is used within a coordinate, comments under CoordT apply.


Links to Section 3.6.1 and the complete SAIF class list