Class EarthGravitationalModel
Aknowledgement
This class is an adaption of Fortran code
clenqt.for
from the National Geospatial-Intelligence Agency and available in public domain. The
normalized geopotential coefficients file bundled in this module is an adaptation of
egm180.nor
file, with some spaces trimmed.
- Since:
- 3.9.0
-
Nested Class Summary
Nested classes/interfaces inherited from class com.gluonhq.attach.position.impl.geotools.AbstractMathTransform
AbstractMathTransform.Inverse
-
Constructor Summary
ConstructorDescriptionCreates a model with the default maximum degree and order.EarthGravitationalModel
(int nmax, boolean wgs84) Creates a model with the specified maximum degree and order. -
Method Summary
Modifier and TypeMethodDescriptiondouble
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
Loads the coefficients from the specified ASCII file and initialize the internal clenshaw arrays.Methods inherited from class com.gluonhq.attach.position.impl.geotools.VerticalTransform
getSourceDimensions, getTargetDimensions, transform, transform
Methods inherited from class com.gluonhq.attach.position.impl.geotools.AbstractMathTransform
hashCode, isIdentity, needCopy, rollLongitude
-
Constructor Details
-
EarthGravitationalModel
public EarthGravitationalModel()Creates a model with the default maximum degree and order. -
EarthGravitationalModel
public EarthGravitationalModel(int nmax, boolean wgs84) Creates a model with the specified maximum degree and order.
-
-
Method Details
-
load
Loads the coefficients from the specified ASCII file and initialize the internal clenshaw arrays.Note: ASCII may looks like an unefficient format for binary distribution. A binary file with coefficient values read by
DataInput.readDouble()
would be more compact than an uncompressed ASCII file. However, binary files are hard to compress by the ZIP algorithm. Our experience show that a 675 kb uncompressed ASCII file is only 222 kb after ZIP or JAR compression. The same data as a binary file is 257 kb uncompressed and 248 kb compressed. So surprisingly, the ASCII file is more compact than the binary file after compression. Since it is the primary format provided by the Earth-Info web site, we use it directly in order to avoid a multiplication of formats.- Parameters:
filename
- The filename (e.g."WGS84.cof"
, relative to this class directory.- Throws:
IOException
- if the file can't be read or has an invalid content.
-
heightOffset
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.- Specified by:
heightOffset
in classVerticalTransform
- 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.
-