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
Interface Summary Interface Description LinearTransformA usually affine, or otherwise a projective transform, which convert coordinates using only linear equations. MathTransformProviderAn object capable to create
MathTransforminstances from given parameter values.
Class Summary Class Description AbstractMathTransformProvides a default implementation for most methods required by the
AbstractMathTransform.InverseBase class for implementations of inverse math transforms. AbstractMathTransform1DBase class for math transforms that are known to be one-dimensional in all cases. AbstractMathTransform1D.InverseBase class for implementation of inverse math transforms. AbstractMathTransform2DBase class for math transforms that are known to be two-dimensional in all cases. AbstractMathTransform2D.InverseBase class for implementation of inverse math transforms. ContextualParametersThe parameters that describe a sequence of normalize → non-linear kernel → denormalize transforms as a whole. DatumShiftTransformTransforms between two CRS (usually geographic) based on different datum. DefaultMathTransformFactoryLow level factory for creating math transforms. DefaultMathTransformFactory.ContextSource and target coordinate systems for which a new parameterized transform is going to be used. EllipsoidToCentricTransformTransform from two- or three- dimensional ellipsoidal coordinates to (geo)centric coordinates. InterpolatedGeocentricTransformTransforms between two geographic CRS by performing geocentric translations interpolated from a grid file. InterpolatedMolodenskyTransformTransforms between two geographic CRS by performing geocentric translations interpolated from a grid file, but using Molodensky approximation. InterpolatedTransformTransforms between two CRS by performing translations interpolated from a grid file. MathTransformsUtility methods creating or working on
MolodenskyTransformTwo- or three-dimensional datum shift using the (potentially abridged) Molodensky transformation. PassThroughTransformTransform which passes through a subset of coordinates to another transform. TransferFunctionThe function converting raster sample values to geophysics values. TransformSeparatorExtracts a sub-transform from a given
MathTransformand source or target dimension indices.
Enum Summary Enum Description ContextualParameters.MatrixRoleWhether a matrix is used for normalization or denormalization before or after a non-linear operation. EllipsoidToCentricTransform.TargetTypeWhether the output coordinate system is Cartesian or Spherical. IterationStrategyStrategy for iterating over the point arrays given to