org.geotoolkit.referencing.operation.provider
Class Molodensky

Object
  extended by FormattableObject
      extended by AbstractIdentifiedObject
          extended by DefaultOperationMethod
              extended by MathTransformProvider
                  extended by Molodensky
All Implemented Interfaces:
Serializable, Formattable, Deprecable, LenientComparable, IdentifiedObject, OperationMethod
Direct Known Subclasses:
AbridgedMolodensky

@Immutable
public class Molodensky
extends MathTransformProvider

The provider for "Molodensky transformation" (EPSG:9604). This provider constructs transforms from geographic to geographic coordinate reference systems, without passing though geocentric one.

The translation terms (dx, dy and dz) are common to all authorities. But remaining parameters are specified in different ways depending on the authority:

The following table summarizes the parameters recognized by this provider. For a more detailed parameter list, see the PARAMETERS constant.

Operation name: Molodenski

Parameter nameDefault value
dim2
src_dim2
tgt_dim2
dx0 metres
dy0 metres
dz0 metres
src_semi_major
src_semi_minor
tgt_semi_major
tgt_semi_minor
Semi-major axis length difference
Flattening difference

Since:
2.1
Version:
3.20
Author:
Rueben Schulz (UBC), Martin Desruisseaux (IRD, Geomatys)
See Also:
MolodenskyTransform, Geotk coordinate operations matrix, Serialized Form
Module:
referencing/geotk-referencing (download)    View source code for this class

Field Summary
static ParameterDescriptor<Double> AXIS_LENGTH_DIFFERENCE
          Deprecated. Invoke PARAMETERS.descriptor(String) instead.
static ParameterDescriptor<Integer> DIM
          Deprecated. Invoke PARAMETERS.descriptor(String) instead.
static ParameterDescriptor<Double> DX
          Deprecated. Invoke PARAMETERS.descriptor(String) instead.
static ParameterDescriptor<Double> DY
          Deprecated. Invoke PARAMETERS.descriptor(String) instead.
static ParameterDescriptor<Double> DZ
          Deprecated. Invoke PARAMETERS.descriptor(String) instead.
static ParameterDescriptor<Double> FLATTENING_DIFFERENCE
          Deprecated. Invoke PARAMETERS.descriptor(String) instead.
static ParameterDescriptorGroup PARAMETERS
          The group of all parameters expected by this coordinate operation.
static ParameterDescriptor<Integer> SRC_DIM
          Deprecated. Invoke PARAMETERS.descriptor(String) instead.
static ParameterDescriptor<Double> SRC_SEMI_MAJOR
          Deprecated. Invoke PARAMETERS.descriptor(String) instead.
static ParameterDescriptor<Double> SRC_SEMI_MINOR
          Deprecated. Invoke PARAMETERS.descriptor(String) instead.
static ParameterDescriptor<Integer> TGT_DIM
          Deprecated. Invoke PARAMETERS.descriptor(String) instead.
static ParameterDescriptor<Double> TGT_SEMI_MAJOR
          Deprecated. Invoke PARAMETERS.descriptor(String) instead.
static ParameterDescriptor<Double> TGT_SEMI_MINOR
          Deprecated. Invoke PARAMETERS.descriptor(String) instead.
 
Fields inherited from class DefaultOperationMethod
sourceDimension, targetDimension
 
Fields inherited from class FormattableObject
EPSG, GEOTIFF, INTERNAL, OGC, SINGLE_LINE
 
Fields inherited from interface OperationMethod
FORMULA_KEY
 
Fields inherited from interface IdentifiedObject
ALIAS_KEY, IDENTIFIERS_KEY, NAME_KEY, REMARKS_KEY
 
Constructor Summary
Molodensky()
          Constructs a provider.
 
Method Summary
protected  MathTransform createMathTransform(ParameterValueGroup values)
          Creates a math transform from the specified group of parameter values.
 Class<Transformation> getOperationType()
          Returns the operation type.
 
Methods inherited from class MathTransformProvider
ensureValidValues, formatWKT
 
Methods inherited from class DefaultOperationMethod
checkDimensions, computeHashCode, equals, getFormula, getParameters, getSourceDimensions, getTargetDimensions
 
Methods inherited from class AbstractIdentifiedObject
equals, getAlias, getIdentifier, getIdentifiers, getName, getName, getRemarks, hashCode, isDeprecated, nameMatches
 
Methods inherited from class FormattableObject
getDefaultIndentation, print, setDefaultIndentation, toString, toWKT, toWKT, toWKT, toWKT
 
Methods inherited from class Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface IdentifiedObject
getAlias, getIdentifiers, getName, getRemarks, toWKT
 

Field Detail

DIM

@Deprecated
public static final ParameterDescriptor<Integer> DIM
Deprecated. Invoke PARAMETERS.descriptor(String) instead.
The operation parameter descriptor for the number of geographic dimension (2 or 3). This argument applies on both the source and the target dimension. The default value is 2.

Note: the default value may change in future versions, because the EPSG database implicitly uses the Molodensky transform in 3-dimensional operations. Users are well advised to always specify explicitely the dimension.


SRC_DIM

@Deprecated
public static final ParameterDescriptor<Integer> SRC_DIM
Deprecated. Invoke PARAMETERS.descriptor(String) instead.
The operation parameter descriptor for the number of source geographic dimension (2 or 3). This is a Geotk-specific argument. The standard parameter is DIM, which set both the source and target dimension.


TGT_DIM

@Deprecated
public static final ParameterDescriptor<Integer> TGT_DIM
Deprecated. Invoke PARAMETERS.descriptor(String) instead.
The operation parameter descriptor for the number of target geographic dimension (2 or 3). This is a Geotk-specific argument. The standard parameter is DIM, which set both the source and target dimension.


DX

@Deprecated
public static final ParameterDescriptor<Double> DX
Deprecated. Invoke PARAMETERS.descriptor(String) instead.
The operation parameter descriptor for the X-axis translation (dx) parameter value. Valid values range from negative to positive infinity. Units are metres.


DY

@Deprecated
public static final ParameterDescriptor<Double> DY
Deprecated. Invoke PARAMETERS.descriptor(String) instead.
The operation parameter descriptor for the Y-axis translation (dy) parameter value. Valid values range from negative to positive infinity. Units are metres.


DZ

@Deprecated
public static final ParameterDescriptor<Double> DZ
Deprecated. Invoke PARAMETERS.descriptor(String) instead.
The operation parameter descriptor for the Z-axis translation (dz) parameter value. Valid values range from negative to positive infinity. Units are metres.


SRC_SEMI_MAJOR

@Deprecated
public static final ParameterDescriptor<Double> SRC_SEMI_MAJOR
Deprecated. Invoke PARAMETERS.descriptor(String) instead.
The operation parameter descriptor for the "src_semi_major" parameter value. Valid values range from 0 to infinity. Units are metres.


SRC_SEMI_MINOR

@Deprecated
public static final ParameterDescriptor<Double> SRC_SEMI_MINOR
Deprecated. Invoke PARAMETERS.descriptor(String) instead.
The operation parameter descriptor for the "src_semi_minor" parameter value. Valid values range from 0 to infinity. Units are metres.


TGT_SEMI_MAJOR

@Deprecated
public static final ParameterDescriptor<Double> TGT_SEMI_MAJOR
Deprecated. Invoke PARAMETERS.descriptor(String) instead.
The operation parameter descriptor for the "tgt_semi_major" parameter value. Valid values range from 0 to infinity. Units are metres.

This parameter is mandatory, unless the AXIS_LENGTH_DIFFERENCE parameter is defined in which case the later is used.


TGT_SEMI_MINOR

@Deprecated
public static final ParameterDescriptor<Double> TGT_SEMI_MINOR
Deprecated. Invoke PARAMETERS.descriptor(String) instead.
The operation parameter descriptor for the "tgt_semi_minor" parameter value. Valid values range from 0 to infinity. Units are metres.

This parameter is mandatory, unless the FLATTENING_DIFFERENCE parameter is defined in which case the later is used.


AXIS_LENGTH_DIFFERENCE

@Deprecated
public static final ParameterDescriptor<Double> AXIS_LENGTH_DIFFERENCE
Deprecated. Invoke PARAMETERS.descriptor(String) instead.
The operation parameter descriptor for the Semi-major axis length difference optional parameter value. This parameter is defined by the EPSG database and can be used in replacement of TGT_SEMI_MAJOR.

Units are metres.

Since:
3.19

FLATTENING_DIFFERENCE

@Deprecated
public static final ParameterDescriptor<Double> FLATTENING_DIFFERENCE
Deprecated. Invoke PARAMETERS.descriptor(String) instead.
The operation parameter descriptor for the Flattening difference optional parameter value. This parameter is defined by the EPSG database and can be used in replacement of TGT_SEMI_MINOR.

Valid values range from -1 to +1, dimensionless.

Since:
3.19

PARAMETERS

public static final ParameterDescriptorGroup PARAMETERS
The group of all parameters expected by this coordinate operation. The following table lists the operation names and the parameters recognized by Geotk. Note that the "Semi-major axis length difference" and "Flattening difference" parameters are exclusive with all "src_*" and "tgt_*" parameters (see class javadoc).

Name:OGC:Molodenski
Alias:EPSG:Molodensky
Geotk:Molodensky transform
Identifier:EPSG:9604
Name:OGC:dim
Type:Integer
Obligation:optional
Value range:[2…3]
Default value:2
Name:Geotk:src_dim
Type:Integer
Obligation:optional
Value range:[2…3]
Default value:2
Name:Geotk:tgt_dim
Type:Integer
Obligation:optional
Value range:[2…3]
Default value:2
Name:OGC:dx
Alias:EPSG:X-axis translation
Type:Double
Obligation:mandatory
Value range:(-∞ … ∞) metres
Default value:0 metres
Name:OGC:dy
Alias:EPSG:Y-axis translation
Type:Double
Obligation:mandatory
Value range:(-∞ … ∞) metres
Default value:0 metres
Name:OGC:dz
Alias:EPSG:Z-axis translation
Type:Double
Obligation:mandatory
Value range:(-∞ … ∞) metres
Default value:0 metres
Name:OGC:src_semi_major
Type:Double
Obligation:mandatory
Value range:[0…∞) metres
Name:OGC:src_semi_minor
Type:Double
Obligation:mandatory
Value range:[0…∞) metres
Name:OGC:tgt_semi_major
Type:Double
Obligation:mandatory
Value range:[0…∞) metres
Name:OGC:tgt_semi_minor
Type:Double
Obligation:mandatory
Value range:[0…∞) metres
Name:EPSG:Semi-major axis length difference
Type:Double
Obligation:optional
Value range:(-∞ … ∞) metres
Name:EPSG:Flattening difference
Type:Double
Obligation:optional
Value range:[-1 … 1]

Constructor Detail

Molodensky

public Molodensky()
Constructs a provider.

Method Detail

getOperationType

public Class<Transformation> getOperationType()
Returns the operation type.

Overrides:
getOperationType in class MathTransformProvider
Returns:
The GeoAPI interface implemented by this operation.

createMathTransform

protected MathTransform createMathTransform(ParameterValueGroup values)
                                     throws ParameterNotFoundException
Creates a math transform from the specified group of parameter values.

Specified by:
createMathTransform in class MathTransformProvider
Parameters:
values - The group of parameter values.
Returns:
The created math transform.
Throws:
ParameterNotFoundException - if a required parameter was not found.


Copyright © 2009-2012 Geotoolkit.org. All Rights Reserved.