Conversions or transformations of multi-dimensional coordinate points.
MathTransformprovides a single API for coordinate conversions or transformations, including map projections. Each
- transform a single point,
- transform efficiently an array of coordinates,
- transform a Java2D
- compute the transform derivative at a location (for advanced users),
- be concatenated in a conversion or transformation chain.
MathTransformare truly n-dimensional, but specialized implementations for 1D and 2D cases are provided for performance reasons or for inter-operability with Java2D. In the 2D case, Apache SIS provides instances of the standard
AffineTransformclass when possible.
This package does not include map projections, which are a special kind of transforms defined in their own projection package.
Creating math transforms
MathTransforminstances can be created either directly or indirectly. The recommended way is the indirect one: first find the coordinate operation (generally from a pair of source and target CRS), then invoke
CoordinateOperation.getMathTransform(). However sophisticated users can also create math transforms explicitly from a group of parameter values using the math transform factory.
MathTransformusually performs conversions or transformations from points given in a source coordinate reference system to coordinate values for the same points in the target coordinate reference system. However the conversions are not necessarily between CRS; a
MathTransformcan also be used for converting the sample values in a raster for example. Such kind of transforms are named transfer functions.
Defined in the
ClassDescriptionProvides a default implementation for most methods required by the
MathTransforminterface.Base class for implementations of inverse math transforms.Base class for math transforms that are known to be one-dimensional in all cases.Base class for implementation of inverse math transforms.Base class for math transforms that are known to be two-dimensional in all cases.Base class for implementation of inverse math transforms.The parameters that describe a sequence of normalize → non-linear kernel → denormalize transforms as a whole.Whether a matrix is used for normalization or denormalization before or after a non-linear operation.Transforms between two CRS (usually geographic) based on different datum.Low level factory for creating math transforms.Source and target coordinate systems for which a new parameterized transform is going to be used.Transform from two- or three- dimensional ellipsoidal coordinates to (geo)centric coordinates.Whether the output coordinate system is Cartesian or Spherical.Transforms between two geographic CRS by performing geocentric translations interpolated from a grid file.Transforms between two geographic CRS by performing geocentric translations interpolated from a grid file, but using Molodensky approximation.Transforms between two CRS by performing translations interpolated from a grid file.Strategy for iterating over the point arrays given to
AbstractMathTransform.transform(…)methods.A usually affine, or otherwise a projective transform, which convert coordinates using only linear equations.An object capable to create
MathTransforminstances from given parameter values.Utility methods creating or working on
MathTransforminstances.Two- or three-dimensional datum shift using the (potentially abridged) Molodensky transformation.Transform which passes through a subset of coordinates to another transform.The function converting raster sample values to geophysics values.Extracts a sub-transform from a given
MathTransformand source or target dimension indices.Enforces coordinate values in the range of a wraparound axis (typically longitude).