Module org.apache.sis.referencing
Package org.apache.sis.referencing.operation.transform
package org.apache.sis.referencing.operation.transform
Conversions or transformations of multi-dimensional 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 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 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.
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
-
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 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.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 non-standard, 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 three-dimensional 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 sub-transform from a givenMathTransform
and source or target dimension indices.Enforces coordinate values in the range of a wraparound axis (typically longitude).