Module org.apache.sis.referencing
Package org.apache.sis.referencing.operation.transform
package org.apache.sis.referencing.operation.transform
Conversions or transformations of multidimensional coordinate tuples.
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 ndimensional, but specialized implementations
for 1D and 2D cases are provided for performance reasons or for interoperability 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 internal 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.
Nonspatial 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

ClassDescriptionProvides a default implementation for most methods required by the
MathTransform
interface.Base class for implementations of inverse math transforms.Base class for math transforms that are known to be onedimensional in all cases.Base class for implementation of inverse math transforms.Base class for math transforms that are known to be twodimensional in all cases.Base class for implementation of inverse math transforms.The parameters that describe a sequence of normalize → nonlinear kernel → denormalize transforms as a whole.Whether a matrix is used for normalization or denormalization before or after a nonlinear 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.Specification about how to estimate a domain of validity for transforms.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.Deprecated, for removal: This API element is subject to removal in a future version.This operation method is nonstandard, of little use and has greater errors than intended.Transforms between two CRS by performing translations interpolated from a grid file.Strategy for iterating over the point arrays given toAbstractMathTransform.transform(…)
methods.A usually affine, or otherwise a projective transform, which convert coordinates using only linear equations.An object capable to createMathTransform
instances from given parameter values.Utility methods creating or working onMathTransform
instances.Two or threedimensional datum shift using the (potentially abridged) Molodensky transformation.Transform which passes through a subset of coordinates to another transform.Computes latitudes and longitudes on a sphere where the south pole has been moved to given geographic coordinates.The function converting raster sample values to geophysics values.Extracts a subtransform from a givenMathTransform
and source or target dimension indices.Enforces coordinate values in the range of a wraparound axis (typically longitude).