Package org.apache.sis.referencing.operation.transform
Conversions or transformations of multi-dimensional coordinate points.
MathTransform
provides a single API for
coordinate conversions or transformations, including map projections.
Each MathTransform
instances can:
- transform a single point,
- transform efficiently an array of coordinates,
- transform a Java2D
Shape
(MathTransform2D
only), - compute the transform derivative at a location (for advanced users),
- be concatenated in a conversion or transformation chain.
MathTransform
are 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 AffineTransform
class 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
MathTransform
instances 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.
Non-spatial coordinates
MathTransform
usually 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 MathTransform
can also be used for converting the sample values in a raster for example.
Such kind of transforms are named transfer functions.- Since:
- 0.5
Defined in the sis-referencing
module
-
Interface Summary Interface Description LinearTransform A usually affine, or otherwise a projective transform, which convert coordinates using only linear equations.MathTransformProvider An object capable to createMathTransform
instances from given parameter values. -
Class Summary Class Description AbstractMathTransform Provides a default implementation for most methods required by theMathTransform
interface.AbstractMathTransform.Inverse Base class for implementations of inverse math transforms.AbstractMathTransform1D Base class for math transforms that are known to be one-dimensional in all cases.AbstractMathTransform1D.Inverse Base class for implementation of inverse math transforms.AbstractMathTransform2D Base class for math transforms that are known to be two-dimensional in all cases.AbstractMathTransform2D.Inverse Base class for implementation of inverse math transforms.ContextualParameters The parameters that describe a sequence of normalize → non-linear kernel → denormalize transforms as a whole.DatumShiftTransform Transforms between two CRS (usually geographic) based on different datum.DefaultMathTransformFactory Low level factory for creating math transforms.DefaultMathTransformFactory.Context Source and target coordinate systems for which a new parameterized transform is going to be used.EllipsoidToCentricTransform Transform from two- or three- dimensional ellipsoidal coordinates to (geo)centric coordinates.InterpolatedGeocentricTransform Transforms between two geographic CRS by performing geocentric translations interpolated from a grid file.InterpolatedMolodenskyTransform Transforms between two geographic CRS by performing geocentric translations interpolated from a grid file, but using Molodensky approximation.InterpolatedTransform Transforms between two CRS by performing translations interpolated from a grid file.MathTransforms Utility methods creating or working onMathTransform
instances.MolodenskyTransform Two- or three-dimensional datum shift using the (potentially abridged) Molodensky transformation.PassThroughTransform Transform which passes through a subset of coordinates to another transform.TransferFunction The function converting raster sample values to geophysics values.TransformSeparator Extracts a sub-transform from a givenMathTransform
and source or target dimension indices. -
Enum Summary Enum Description ContextualParameters.MatrixRole Whether a matrix is used for normalization or denormalization before or after a non-linear operation.EllipsoidToCentricTransform.TargetType Whether the output coordinate system is Cartesian or Spherical.IterationStrategy Strategy for iterating over the point arrays given toAbstractMathTransform.transform(…)
methods.