Module com.gluonhq.attach.position
Class VerticalTransform
java.lang.Object
com.gluonhq.attach.position.impl.geotools.AbstractMathTransform
com.gluonhq.attach.position.impl.geotools.VerticalTransform
- Direct Known Subclasses:
EarthGravitationalModel
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:
- 3.9.0
-
Nested Class Summary
Nested classes/interfaces inherited from class com.gluonhq.attach.position.impl.geotools.AbstractMathTransform
AbstractMathTransform.Inverse
-
Constructor Summary
ModifierConstructorDescriptionprotected
Creates a new instance ofVerticalTransform
. -
Method Summary
Modifier and TypeMethodDescriptionfinal int
Gets the dimension of input points.final int
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 com.gluonhq.attach.position.impl.geotools.AbstractMathTransform
hashCode, isIdentity, needCopy, rollLongitude
-
Constructor Details
-
VerticalTransform
protected VerticalTransform()Creates a new instance ofVerticalTransform
.
-
-
Method Details
-
getSourceDimensions
public final int getSourceDimensions()Gets the dimension of input points.- Specified by:
getSourceDimensions
in classAbstractMathTransform
-
getTargetDimensions
public final int getTargetDimensions()Gets the dimension of output points.- Specified by:
getTargetDimensions
in classAbstractMathTransform
-
heightOffset
protected abstract double heightOffset(double longitude, double latitude, double height) throws Exception 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:
Exception
- 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 Exception Transforms a list of coordinate point ordinal values.- Throws:
Exception
-
transform
public void transform(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts) throws Exception Transforms a list of coordinate point ordinal values.- Throws:
Exception
-