Class GeocentricAffineBetweenGeographic

All Implemented Interfaces:
Serializable, Formattable, MathTransformProvider, Deprecable, LenientComparable, org.opengis.referencing.IdentifiedObject, org.opengis.referencing.operation.OperationMethod
Direct Known Subclasses:
AbridgedMolodensky, CoordinateFrameRotation2D, CoordinateFrameRotation3D, GeocentricTranslation2D, GeocentricTranslation3D, Molodensky, PositionVector7Param2D, PositionVector7Param3D

public abstract class GeocentricAffineBetweenGeographic extends GeocentricAffine
The base class of operation methods performing an affine operation in geocentric coordinates concatenated with conversion from/to geographic coordinates. This base class is also used for operation methods performing approximation of above, even if they do not really pass through geocentric coordinates.

Default values to verify

This class assumes the following default values. Subclasses should verify if those default values are suitable from them:
Since:
0.7
Version:
1.3
See Also:
  • Field Details

    • serialVersionUID

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

      public static final org.opengis.parameter.ParameterDescriptor<Integer> DIMENSION
      The operation parameter descriptor for the number of source and target geographic dimensions (2 or 3). This is an OGC-specific parameter for the Molodensky and AbridgedMolodensky operations, but Apache SIS uses it also for internal parameters of Geographic/Geocentric.

      We do not provide default value for this parameter (neither we do for other OGC-specific parameters in this class) because this parameter is used with both two- and three-dimensional operation methods. If we want to provide a default value, we could but it would complicate a little bit the code since we could no longer reuse the same PARAMETERS constant for operation methods of any number of dimensions. TODO: this paragraph will not apply anymore after GeodeticOperation.redimensioned is removed.

      See Also:
    • SRC_SEMI_MAJOR

      public static final org.opengis.parameter.ParameterDescriptor<Double> SRC_SEMI_MAJOR
      The operation parameter descriptor for the "src_semi_major" optional parameter value. Valid values range from 0 to infinity. Units are metres.
      Parameter names
      OGC: src_semi_major
      Notes:
      • Value domain: (0.0 … ∞) m
      • No default value
    • SRC_SEMI_MINOR

      public static final org.opengis.parameter.ParameterDescriptor<Double> SRC_SEMI_MINOR
      The operation parameter descriptor for the "src_semi_minor" optional parameter value. Valid values range from 0 to infinity. Units are metres.
      Parameter names
      OGC: src_semi_minor
      Notes:
      • Value domain: (0.0 … ∞) m
      • No default value
    • TGT_SEMI_MAJOR

      public static final org.opengis.parameter.ParameterDescriptor<Double> TGT_SEMI_MAJOR
      The operation parameter descriptor for the "src_semi_major" optional parameter value. Valid values range from 0 to infinity. Units are metres.
      Parameter names
      OGC: tgt_semi_major
      Notes:
      • Value domain: (0.0 … ∞) m
      • No default value
    • TGT_SEMI_MINOR

      public static final org.opengis.parameter.ParameterDescriptor<Double> TGT_SEMI_MINOR
      The operation parameter descriptor for the "src_semi_minor" optional parameter value. Valid values range from 0 to infinity. Units are metres.
      Parameter names
      OGC: tgt_semi_minor
      Notes:
      • Value domain: (0.0 … ∞) m
      • No default value
  • Constructor Details

    • GeocentricAffineBetweenGeographic

      GeocentricAffineBetweenGeographic(GeocentricAffine.Type operationType, org.opengis.parameter.ParameterDescriptorGroup parameters, int sourceDimensions, int targetDimensions, GeodeticOperation[] redimensioned)
      Constructs a provider with the specified parameters.
      Parameters:
      type - the operation type as an enumeration value.
      parameters - description of parameters expected by this operation.
      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, or null.
  • Method Details

    • createMathTransform

      public org.opengis.referencing.operation.MathTransform createMathTransform(org.opengis.referencing.operation.MathTransformFactory factory, org.opengis.parameter.ParameterValueGroup values) throws org.opengis.util.FactoryException
      Creates a math transform from the specified group of parameter values. This method wraps the affine operation into Geographic/Geocentric conversions.
      Specified by:
      createMathTransform in interface MathTransformProvider
      Overrides:
      createMathTransform in class GeocentricAffine
      Parameters:
      factory - the factory to use for creating concatenated transforms.
      values - the group of parameter values.
      Returns:
      the created math transform.
      Throws:
      org.opengis.util.FactoryException - if a transform cannot be created.