org.geotools.referencing.operation.transform
Class VerticalTransform

java.lang.Object
  extended by org.geotools.referencing.wkt.Formattable
      extended by org.geotools.referencing.operation.transform.AbstractMathTransform
          extended by org.geotools.referencing.operation.transform.VerticalTransform
All Implemented Interfaces:
org.opengis.referencing.operation.MathTransform
Direct Known Subclasses:
EarthGravitationalModel

public abstract class VerticalTransform
extends AbstractMathTransform

Base class for transformations from a height above the ellipsoid to a height above the geoid. This transform expects three-dimensional geographic coordinates in (longitude,latitude,height) order. The transformations are usually backed by some ellipsoid-dependent database.

Since:
2.3
Version:
$Id: VerticalTransform.java 30658 2008-06-12 21:00:20Z acuster $
Author:
Martin Desruisseaux

Nested Class Summary
 
Nested classes/interfaces inherited from class org.geotools.referencing.operation.transform.AbstractMathTransform
AbstractMathTransform.Inverse
 
Field Summary
 
Fields inherited from class org.geotools.referencing.wkt.Formattable
SINGLE_LINE
 
Constructor Summary
protected VerticalTransform()
          Creates a new instance of VerticalTransform.
 
Method Summary
 int getSourceDimensions()
          Gets the dimension of input points.
 int getTargetDimensions()
          Gets the dimension of output points.
protected abstract  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.
 void transform(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts)
          Transforms a list of coordinate point ordinal values.
 void transform(float[] srcPts, int srcOff, float[] dstPts, int dstOff, int numPts)
          Transforms a list of coordinate point ordinal values.
 
Methods inherited from class org.geotools.referencing.operation.transform.AbstractMathTransform
createTransformedShape, derivative, derivative, ensureNonNull, equals, formatWKT, getName, getParameterDescriptors, getParameterValues, hashCode, inverse, isIdentity, needCopy, rollLongitude, transform, transform, transform, transform
 
Methods inherited from class org.geotools.referencing.wkt.Formattable
cleanupThreadLocals, toString, toWKT, toWKT, toWKT
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.opengis.referencing.operation.MathTransform
toWKT
 

Constructor Detail

VerticalTransform

protected VerticalTransform()
Creates a new instance of VerticalTransform.

Method Detail

getSourceDimensions

public final int getSourceDimensions()
Gets the dimension of input points.

Specified by:
getSourceDimensions in interface org.opengis.referencing.operation.MathTransform
Specified by:
getSourceDimensions in class AbstractMathTransform

getTargetDimensions

public final int getTargetDimensions()
Gets the dimension of output points.

Specified by:
getTargetDimensions in interface org.opengis.referencing.operation.MathTransform
Specified by:
getTargetDimensions in class AbstractMathTransform

heightOffset

protected abstract double heightOffset(double longitude,
                                       double latitude,
                                       double height)
                                throws org.opengis.referencing.operation.TransformException
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.

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).
Throws:
org.opengis.referencing.operation.TransformException - if the offset can't be computed for the specified coordinates.

transform

public void transform(float[] srcPts,
                      int srcOff,
                      float[] dstPts,
                      int dstOff,
                      int numPts)
               throws org.opengis.referencing.operation.TransformException
Transforms a list of coordinate point ordinal values.

Specified by:
transform in interface org.opengis.referencing.operation.MathTransform
Overrides:
transform in class AbstractMathTransform
Throws:
org.opengis.referencing.operation.TransformException

transform

public void transform(double[] srcPts,
                      int srcOff,
                      double[] dstPts,
                      int dstOff,
                      int numPts)
               throws org.opengis.referencing.operation.TransformException
Transforms a list of coordinate point ordinal values.

Throws:
org.opengis.referencing.operation.TransformException


Copyright © 1996-2010 Geotools. All Rights Reserved.