Package org.apache.sis.referencing.operation.transform

package org.apache.sis.referencing.operation.transform
Conversions or transformations of multi-dimensional coordinate tuples. Math­Transform provides a single API for coordinate conversions or transformations, including map projections. Each Math­Transform instances can:
  • transform a single point,
  • transform efficiently an array of coordinates,
  • transform a Java2D Shape (Math­Transform2D only),
  • compute the transform derivative at a location (for advanced users),
  • be concatenated in a conversion or transformation chain.
Math­Transform 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 Affine­Transform 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

Math­Transform 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 Coordinate­Operation​.get­Math­Transform(). However, sophisticated users can also create math transforms explicitly from a group of parameter values using the math transform factory.

Non-spatial coordinates

Math­Transform 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 Math­Transform can also be used for converting the sample values in a raster for example. Such kind of transforms are named transfer functions.