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.Deprecated, for removal: This API element is subject to removal in a future version.Specification about how to estimate a domain of validity for transforms.Transform from two- or three- dimensional ellipsoidal coordinates to geocentric or planetocentric coordinates.Whether the output coordinate system is Cartesian or spherical.Conversion of spherical coordinates from (λ,Ω) to (λ,Ω,R) with points assumed to be on an ellipsoid surface.Transforms between two geographic CRS by performing geocentric translations interpolated from a grid file.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.Builder of a parameterized math transform using a method identified by a name or code.An object capable to createMathTransform
instances from given parameter values.The parameter values that define the transform to create, together with its context.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.Handler used during concatenations for simplifying a single transform with its neighbor transforms.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).
DefaultMathTransformFactory.builder(String)
.