Class MathTransformBuilder

Object
MathTransformBuilder
Direct Known Subclasses:
AdvancedAffineBuilder, BursaWolfTransformBuilder, ProjectiveTransformBuilder, RubberSheetBuilder

public abstract class MathTransformBuilder extends Object
Provides a basic implementation for math transform builders.

Math transform builders create MathTransform objects for transforming coordinates from a source CRS (Coordinate Reference System) to a target CRS using empirical parameters. Usually, one of those CRS is a geographic or projected one with a well known relationship to the earth. The other CRS is often an engineering or image one tied to some ship. For example a remote sensing image before georectification may be referenced by an image CRS.

Design note: It is technically possible to reference such remote sensing images with a CRS derived from the geographic or projected CRS, where the conversion from base is the math transform computed by this builder. Such approach is advantageous for coordinate operation factory implementations, since they can determine the operation just by inspection of the DerivedCRS instance. However this is conceptually incorrect since DerivedCRS can be related to an other CRS only through conversions, which by definition are accurate up to rounding errors. The operations created by math transform builders are rather transformations, which can't be used for DerivedCRS creation.

The math transform from source CRS to target CRS is calculated by MathTransformBuilder from a set of mapped positions in both CRS.

Subclasses must implement at least the getMinimumPointCount() and computeMathTransform() methods.

Since:
2.4
Author:
Jan Jezek, Martin Desruisseaux