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 protectedVerticalTransform()Creates a new instance ofVerticalTransform.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description intgetSourceDimensions()Gets the dimension of input points.intgetTargetDimensions()Gets the dimension of output points.protected abstract doubleheightOffset(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.voidtransform(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts)Transforms a list of coordinate point ordinal values.voidtransform(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:
getSourceDimensionsin classAbstractMathTransform
-
getTargetDimensions
public final int getTargetDimensions()
Gets the dimension of output points.- Specified by:
getTargetDimensionsin classAbstractMathTransform
-
heightOffset
protected abstract double heightOffset(double longitude, double latitude, double height) throws java.lang.ExceptionReturns 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.ExceptionTransforms 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.ExceptionTransforms a list of coordinate point ordinal values.- Throws:
java.lang.Exception
-
-