org.geotoolkit.referencing.operation.transform
Class EarthGravitationalModel

Object
  extended by FormattableObject
      extended by AbstractMathTransform
          extended by VerticalTransform
              extended by EarthGravitationalModel
All Implemented Interfaces:
Formattable, Parameterized, LenientComparable, MathTransform

@Immutable
public class EarthGravitationalModel
extends VerticalTransform

Transforms vertical coordinates using coefficients from the Earth Gravitational Model. See any of the following providers for a list of programmatic parameters:

Note: This class is an adaption of Fortran code clenqt.for from the National Geospatial-Intelligence Agency and available in public domain. The normalized geopotential coefficients file bundled in this module is an adaptation of egm180.nor file, with some spaces trimmed.

Since:
2.3
Version:
3.18
Author:
Pierre Cardinal, Martin Desruisseaux (IRD, Geomatys)
Module:
referencing/geotk-referencing3D (download)    View source code for this class

Nested Class Summary
 
Nested classes/interfaces inherited from class AbstractMathTransform
AbstractMathTransform.Inverse
 
Field Summary
static int DEFAULT_ORDER
          The default maximum degree and order, which is 180.
 
Fields inherited from class FormattableObject
EPSG, GEOTIFF, INTERNAL, OGC, SINGLE_LINE
 
Constructor Summary
protected EarthGravitationalModel()
          Creates a model for the WGS84 datum with the default maximum degree and order.
protected EarthGravitationalModel(GeodeticDatum datum, int nmax)
          Creates a model for the specified datum and maximum degree and order.
 
Method Summary
protected  int computeHashCode()
          Computes a hash value for this transform.
static EarthGravitationalModel create(GeodeticDatum datum, int nmax)
          Creates a model for the specified datum and maximum degree and order.
 boolean equals(Object object, ComparisonMode mode)
          Compares this transform with the given object for equality.
 ParameterDescriptorGroup getParameterDescriptors()
          Returns the parameter descriptors for this math transform.
 ParameterValueGroup getParameterValues()
          Returns the parameters for this math transform.
 double heightOffset(double longitude, double latitude, double height)
          Returns the value to add to a height above the ellipsoid in order to get a height above the geoid for the specified geographic coordinate.
 
Methods inherited from class VerticalTransform
getSourceDimensions, getTargetDimensions, transform, transform, transform, transform, transform
 
Methods inherited from class AbstractMathTransform
createTransformedShape, derivative, derivative, ensureNonNull, equals, formatWKT, getName, hashCode, inverse, isIdentity, rollLongitude, transform, transform
 
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 MathTransform
toWKT
 

Field Detail

DEFAULT_ORDER

public static final int DEFAULT_ORDER
The default maximum degree and order, which is 180.

See Also:
Constant Field Values
Constructor Detail

EarthGravitationalModel

protected EarthGravitationalModel()
                           throws FactoryException
Creates a model for the WGS84 datum with the default maximum degree and order.

Throws:
FactoryException - If an error occurred while loading the data.

EarthGravitationalModel

protected EarthGravitationalModel(GeodeticDatum datum,
                                  int nmax)
                           throws IllegalArgumentException,
                                  FactoryException
Creates a model for the specified datum and maximum degree and order. In current version, only WGS84 and WGS72 datum are supported.

Parameters:
datum - The datum for which to create the model.
nmax - The maximum degree and order.
Throws:
IllegalArgumentException - If nmax is not greater than zero, or if the given datum is not a supported one.
FactoryException - If an error occurred while loading the data.
Method Detail

create

public static EarthGravitationalModel create(GeodeticDatum datum,
                                             int nmax)
                                      throws IllegalArgumentException,
                                             FactoryException
Creates a model for the specified datum and maximum degree and order. In current version, only WGS84 and WGS72 datum are supported.

Parameters:
datum - The datum for which to create the model.
nmax - The maximum degree and order.
Returns:
The model.
Throws:
IllegalArgumentException - If nmax is not greater than zero, or if the given datum is not a supported one.
FactoryException - If an error occurred while loading the data.

heightOffset

public double heightOffset(double longitude,
                           double latitude,
                           double height)
Returns the value to add to a height above the ellipsoid in order to get a height above the geoid for the specified geographic coordinate.

Specified by:
heightOffset in class VerticalTransform
Parameters:
longitude - The geodetic longitude, in decimal degrees.
latitude - The geodetic latitude, in decimal degrees.
height - The height above the ellipsoid in metres.
Returns:
The value to add in order to get the height above the geoid (in metres).

getParameterDescriptors

public ParameterDescriptorGroup getParameterDescriptors()
Returns the parameter descriptors for this math transform.

Specified by:
getParameterDescriptors in interface Parameterized
Overrides:
getParameterDescriptors in class AbstractMathTransform
Returns:
The parameter descriptors for this math transform, or null.
See Also:
OperationMethod.getParameters()

getParameterValues

public ParameterValueGroup getParameterValues()
Returns the parameters for this math transform.

Specified by:
getParameterValues in interface Parameterized
Overrides:
getParameterValues in class AbstractMathTransform
Returns:
A copy of the parameter values for this math transform, or null. Since this method returns a copy of the parameter values, any change to a value will have no effect on this math transform.
See Also:
SingleOperation.getParameterValues()

computeHashCode

protected int computeHashCode()
Computes a hash value for this transform. This method is invoked by AbstractMathTransform.hashCode() when first needed.

Overrides:
computeHashCode in class AbstractMathTransform
Returns:
The hash code value. This value may change between different execution of the Geotk library.

equals

public boolean equals(Object object,
                      ComparisonMode mode)
Compares this transform with the given object for equality.

Specified by:
equals in interface LenientComparable
Overrides:
equals in class AbstractMathTransform
Parameters:
object - The object to compare with this transform.
mode - The strictness level of the comparison. Default to STRICT.
Returns:
true if the given object is a transform of the same class and if, given identical source position, the transformed position would be the equals.
See Also:
Utilities.deepEquals(Object, Object, ComparisonMode)


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