Class DefaultMathTransformFactory.Context

Object
Context
All Implemented Interfaces:
Serializable
Enclosing class:
DefaultMathTransformFactory

public static class DefaultMathTransformFactory.Context extends Object implements Serializable
Source and target coordinate systems for which a new parameterized transform is going to be used. Default­Math­Transform­Factory uses this information for:
  • Completing some parameters if they were not provided. In particular, the source ellipsoid can be used for providing values for the "semi_major" and "semi_minor" parameters in map projections.
  • Swapping and scaling axes if the source or the target coordinate systems are not normalized.
By default this class does not handle change of prime meridian or anything else related to datum. Datum changes have dedicated Operation­Method, for example "Longitude rotation" (EPSG:9601) for changing the prime meridian.
Since:
0.7
See Also:

Defined in the sis-referencing module

  • Constructor Details

    • Context

      public Context()
      Creates a new context with all properties initialized to null.
  • Method Details

    • setSource

      public void setSource(CoordinateSystem cs)
      Sets the source coordinate system to the given value. The source ellipsoid is unconditionally set to null.
      Parameters:
      cs - the coordinate system to set as the source (can be null).
    • setSource

      public void setSource(EllipsoidalCS cs, Ellipsoid ellipsoid)
      Sets the source coordinate system and its associated ellipsoid to the given value.
      Design note: ellipsoidal coordinate systems and ellipsoids are associated indirectly, through a geodetic CRS. However this method expects those two components to be given explicitly instead of inferring them from a Coordinate­Reference­System for making clear that Math­Transform­Factory does not perform any geodetic datum analysis. For coordinate operations that take datum changes in account (including change of prime meridian), see Default­Coordinate­Operation­Factory. This policy helps to enforce a separation of concerns.
      Parameters:
      cs - the coordinate system to set as the source, or null.
      ellipsoid - the ellipsoid associated to the given coordinate system, or null.
    • setTarget

      public void setTarget(CoordinateSystem cs)
      Sets the target coordinate system to the given value. The target ellipsoid is unconditionally set to null.
      Parameters:
      cs - the coordinate system to set as the target (can be null).
    • setTarget

      public void setTarget(EllipsoidalCS cs, Ellipsoid ellipsoid)
      Sets the target coordinate system and its associated ellipsoid to the given value.
      Parameters:
      cs - the coordinate system to set as the source, or null.
      ellipsoid - the ellipsoid associated to the given coordinate system, or null.
    • getSourceCS

      public CoordinateSystem getSourceCS()
      Returns the source coordinate system, or null if unspecified.
      Returns:
      the source coordinate system, or null.
    • getSourceEllipsoid

      public Ellipsoid getSourceEllipsoid()
      Returns the ellipsoid of the source ellipsoidal coordinate system, or null if it does not apply. This information is valid only if get­Source­CS() returns an instance of Ellipsoidal­CS.
      Returns:
      the ellipsoid of the source ellipsoidal coordinate system, or null if it does not apply.
    • getTargetCS

      public CoordinateSystem getTargetCS()
      Returns the target coordinate system, or null if unspecified.
      Returns:
      the target coordinate system, or null.
    • getTargetEllipsoid

      public Ellipsoid getTargetEllipsoid()
      Returns the ellipsoid of the target ellipsoidal coordinate system, or null if it does not apply. This information is valid only if get­Target­CS() returns an instance of Ellipsoidal­CS.
      Returns:
      the ellipsoid of the target ellipsoidal coordinate system, or null if it does not apply.
    • getMatrix

      Returns the matrix that represent the affine transform to concatenate before or after the parameterized transform. The role argument specifies which matrix is desired: This method is invoked by Default­Math­Transform­Factory​.swap­And­Scale­Axes(Math­Transform, Context). Users an override this method if they need to customize the normalization process.
      Parameters:
      role - whether the normalization or denormalization matrix is desired.
      Returns:
      the requested matrix, or null if this Context has no information about the coordinate system.
      Throws:
      Factory­Exception - if an error occurred while computing the matrix.
      See Also:
    • getCompletedParameters

      public ParameterValueGroup getCompletedParameters()
      Returns the parameter values used for the math transform creation, including the parameters completed by the factory.
      Returns:
      the parameter values used by the factory.
      Throws:
      Illegal­State­Exception - if Default­Math­Transform­Factory​.create­Parameterized­Transform(Parameter­Value­Group, Context) has not yet been invoked.