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
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:
- 3.9.0
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.gluonhq.attach.position.impl.geotools.AbstractMathTransform
AbstractMathTransform.Inverse
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
VerticalTransform()
Creates a new instance ofVerticalTransform
.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description 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 com.gluonhq.attach.position.impl.geotools.AbstractMathTransform
hashCode, isIdentity, needCopy, rollLongitude
-
-
-
-
Method Detail
-
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 java.lang.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:
java.lang.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 java.lang.Exception
Transforms a list of coordinate point ordinal values.- Throws:
java.lang.Exception
-
transform
public void transform(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts) throws java.lang.Exception
Transforms a list of coordinate point ordinal values.- Throws:
java.lang.Exception
-
-