Affine modifications

For some systems, notably System34, it is usual for GIS-datasources to use an inverted / negative first axis in order for geometries to look right (north up, east right) when displayed in a GIS-system. KMSTrans2 is able to handle such modified systems by applying an affine transformation to input or output coordinates. E.g. one can multiply the first axis coordinates by -1 to get "real" System34 coordinates before applying the actual transformation.

Affine modifications can be setup using the menu entry 'Setup affine modifications' in the 'Settings' menu and can currently be applied in the interactive tab (for experimenation) and in the batch tab to transform datasources.

An affine modification consists of a matrix multiplication and a translation:

(x,y,z) → R*(x,y,z)+T ,
which can be in full 3D or only 2D (no dependency on z / height).

This allows for a large range of modifications, e.g. inversion of an axis, interchanging two coordinates, rotations and Helmert (7-parameter) transformations.

If A1 is an affine modification of input coordinates and A2 is the modification of output coordinates, the transformation sequence would look like:

(x,y,z) → A1(x,y,z) → Tr(A1(x,y,z)) → A2(Tr(A1(x,y,z))),
where Tr is the actual transformation performed by trlib between two reference systems.