Class LongitudeRotation

All Implemented Interfaces:
Serializable, Formattable, MathTransformProvider, Deprecable, LenientComparable, org.opengis.referencing.IdentifiedObject, org.opengis.referencing.operation.OperationMethod

public final class LongitudeRotation extends GeographicOffsets
The provider for "Longitude rotation" (EPSG:9601). The "Longitude rotation" is created as an affine transform containing only a translation term in degrees. Advantage of using an affine transform for such simple operation is that this AffineTransform can be efficiently concatenated with other affine transform instances.

Operation name: Longitude rotation

Operation parameters
Parameter name Default value
Longitude offset
The Apache SIS implementation of this operation method always perform the longitude rotation in degrees. The longitude axis of source and target CRS shall be converted to degrees before this operation is applied.
Since:
0.6
Version:
0.7
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      Serial number for inter-operability with different versions.
      See Also:
    • PARAMETERS

      private static final org.opengis.parameter.ParameterDescriptorGroup PARAMETERS
      The group of all parameters expected by this coordinate operation.
  • Constructor Details

    • LongitudeRotation

      public LongitudeRotation()
      Constructs a provider with default parameters.
    • LongitudeRotation

      private LongitudeRotation(int sourceDimensions, int targetDimensions, GeodeticOperation[] redimensioned)
      Constructs a provider for the given dimensions.
      Parameters:
      sourceDimensions - number of dimensions in the source CRS of this operation method.
      targetDimensions - number of dimensions in the target CRS of this operation method.
      redimensioned - providers for all combinations between 2D and 3D cases.
  • Method Details

    • createMathTransform

      public org.opengis.referencing.operation.MathTransform createMathTransform(org.opengis.referencing.operation.MathTransformFactory factory, org.opengis.parameter.ParameterValueGroup values) throws org.opengis.parameter.ParameterNotFoundException
      Creates a transform from the specified group of parameter values. The parameter value is unconditionally converted to degrees.

      The operation is created as an affine transform between two two-dimensional CRS. We do not override the AffineTransform2D.getParameterDescriptors() and AffineTransform2D.getParameterValues() methods in order to make that fact clearer, in the hope to reduce ambiguity about the nature of the transform. Note also that the "Longitude rotation" operation has unit of measurement while the "Affine" operation does not, so maybe our unconditional conversion to degrees would be more surprising for the user if the operation was shown as a "Longitude rotation".

      Specified by:
      createMathTransform in interface MathTransformProvider
      Overrides:
      createMathTransform in class GeographicOffsets
      Parameters:
      factory - ignored (can be null).
      values - the group of parameter values.
      Returns:
      the created math transform.
      Throws:
      org.opengis.parameter.ParameterNotFoundException - if a required parameter was not found.