Details
-
New Feature
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.2
-
None
Description
Provides a way to get the ranges of coordinate values which can be used as inputs in a MathTransform. They are limits where the transform is mathematically and numerically applicable. This is not the domain of validity for which a coordinate reference system has been defined, because the new method ignores "real world" considerations such as datum and country boundaries.
The new method is for allowing callers to crop their data for removing areas that may cause numerical problems. For example results of Mercator projection tend to infinity when the latitude value approaches a pole. For avoiding data structures with unreasonably large values or NaN, we commonly crop data to some arbitrary maximal latitude value (typically 80 or 84°) before projection. Those limits are arbitrary, the transform does not become suddenly invalid after a limit. The new API will need to be extensible for allowing (in the future) some controls on the criteria for choosing a limit.
Many transforms, in particular all affine transforms, have no mathematical limits. Again it does not mean that the coordinate operation has no geospatial domain of validity, but the latter is not the purpose of this method. The new method is (for example) for preventing a viewer to crash when attempting to render a world-wide image.
A difficulty is that MathTransforms are usually part of a larger chain of transform steps. Users and implementers should not need to search through transform steps. It should be done automatically by SIS implementation of ConcatenatedTransform.