org.deegree_impl.model.ct
Class AbridgedMolodenskiTransform

java.lang.Object
  extended byorg.deegree_impl.model.ct.AbstractMathTransform
      extended byorg.deegree_impl.model.ct.AbridgedMolodenskiTransform
All Implemented Interfaces:
MathTransform, java.io.Serializable

class AbridgedMolodenskiTransform
extends AbstractMathTransform
implements java.io.Serializable

Transforms a three dimensional geographic points using abridged versions of formulas derived by Molodenski.

Version:
1.00
Author:
OpenGIS (www.opengis.org), Martin Desruisseaux

Nested Class Summary
(package private) static class AbridgedMolodenskiTransform.Provider
          The provider for AbridgedMolodenskiTransform.
 
Nested classes inherited from class org.deegree_impl.model.ct.AbstractMathTransform
AbstractMathTransform.Inverse
 
Field Summary
private  double a
          Source equatorial radius in meters.
private  double adf
          Defined as (a*df) + (f*da).
private  double b
          Source polar radius in meters
private  double da
          Difference in the semi-major axes (a1 - a2) of the first and second ellipsoids.
private  double df
          Difference in the flattening of the two ellipsoids.
private  double dx
          X,Y,Z shift in meters
private  double dy
          X,Y,Z shift in meters
private  double dz
          X,Y,Z shift in meters
private  double e2
          Square of the eccentricity of the ellipsoid.
private  double f
          Source flattening factor.
 
Constructor Summary
protected AbridgedMolodenskiTransform(HorizontalDatum source, HorizontalDatum target)
          Construct a transform.
 
Method Summary
 boolean equals(java.lang.Object object)
          Compares the specified object with this math transform for equality.
 int getDimSource()
          Gets the dimension of input points, which is 3.
 int getDimTarget()
          Gets the dimension of output points, which is the same than getDimSource().
 int hashCode()
          Returns a hash value for this transform.
 boolean isIdentity()
          Tests whether this transform does not move any points.
 java.lang.String toString()
          Returns the WKT for this math transform.
 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.deegree_impl.model.ct.AbstractMathTransform
addParameter, addParameter, createTransformedShape, createTransformedShape, derivative, derivative, getName, inverse, paramMT, toOpenGIS, transform, transform
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

dx

private final double dx
X,Y,Z shift in meters


dy

private final double dy
X,Y,Z shift in meters


dz

private final double dz
X,Y,Z shift in meters


a

private final double a
Source equatorial radius in meters.


b

private final double b
Source polar radius in meters


f

private final double f
Source flattening factor.


da

private final double da
Difference in the semi-major axes (a1 - a2) of the first and second ellipsoids.


df

private final double df
Difference in the flattening of the two ellipsoids.


e2

private final double e2
Square of the eccentricity of the ellipsoid.


adf

private final double adf
Defined as (a*df) + (f*da).

Constructor Detail

AbridgedMolodenskiTransform

protected AbridgedMolodenskiTransform(HorizontalDatum source,
                                      HorizontalDatum target)
Construct a transform.

Method Detail

transform

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

Specified by:
transform in interface MathTransform
Parameters:
srcPts - the array containing the source point coordinates.
srcOff - the offset to the first point to be transformed in the source array.
dstPts - the array into which the transformed point coordinates are returned. May be the same than srcPts.
dstOff - the offset to the location of the first transformed point that is stored in the destination array.
numPts - the number of point objects to be transformed.

transform

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

Specified by:
transform in interface MathTransform
Overrides:
transform in class AbstractMathTransform

getDimSource

public int getDimSource()
Gets the dimension of input points, which is 3.

Specified by:
getDimSource in interface MathTransform
See Also:
CT_MathTransform.getDimSource()

getDimTarget

public final int getDimTarget()
Gets the dimension of output points, which is the same than getDimSource().

Specified by:
getDimTarget in interface MathTransform
See Also:
CT_MathTransform.getDimTarget()

isIdentity

public final boolean isIdentity()
Tests whether this transform does not move any points. This method returns always false.

Specified by:
isIdentity in interface MathTransform
Returns:
true if this MathTransform is an identity transform; false otherwise.

hashCode

public final int hashCode()
Returns a hash value for this transform.

Overrides:
hashCode in class AbstractMathTransform

equals

public final boolean equals(java.lang.Object object)
Compares the specified object with this math transform for equality.

Overrides:
equals in class AbstractMathTransform

toString

public final java.lang.String toString()
Returns the WKT for this math transform.

Overrides:
toString in class AbstractMathTransform