## Class ReferenceEllipsoid

• All Implemented Interfaces:
Serializable, BodyShape, EarthShape

public class ReferenceEllipsoid
extends OneAxisEllipsoid
implements EarthShape
A Reference Ellipsoid for use in geodesy. The ellipsoid defines an ellipsoidal potential called the normal potential, and its gradient, normal gravity.

These parameters are needed to define the normal potential:

• a, semi-major axis
• f, flattening
• GM, the gravitational parameter
• ω, the spin rate

References:

1. Martin Losch, Verena Seufer. How to Compute Geoid Undulations (Geoid Height Relative to a Given Reference Ellipsoid) from Spherical Harmonic Coefficients for Satellite Altimetry Applications. , 2003. mitgcm.org/~mlosch/geoidcookbook.pdf
2. Weikko A. Heiskanen, Helmut Moritz. Physical Geodesy. W. H. Freeman and Company, 1967. (especially sections 2.13 and equation 2-144)
3. Department of Defense World Geodetic System 1984. 2000. NIMA TR 8350.2 Third Edition, Amendment 1.
Author:
Evan Ward, Guylaine Prat
Serialized Form
• ### Constructor Detail

• #### ReferenceEllipsoid

public ReferenceEllipsoid​(double ae,
double f,
Frame bodyFrame,
double GM,
double spin)
Creates a new geodetic Reference Ellipsoid from four defining parameters.
Parameters:
ae - Equatorial radius, in m
f - flattening of the ellipsoid.
bodyFrame - the frame to attach to the ellipsoid. The origin is at the center of mass, the z axis is the minor axis.
GM - gravitational parameter, in m3/s2
• ### Method Detail

• #### getGM

public double getGM()
Gets the gravitational parameter that is part of the definition of the reference ellipsoid.
Returns:
GM in m3/s2
• #### getSpin

public double getSpin()
Gets the rotation of the ellipsoid about its axis.
Returns:

Get the radius of this ellipsoid at the poles.
Returns:
• #### getNormalGravity

public double getNormalGravity​(double latitude)
Gets the normal gravity, that is gravity just due to the reference ellipsoid's potential. The normal gravity only depends on latitude because the ellipsoid is axis symmetric.

The normal gravity is a vector, having both magnitude and direction. This method only give the magnitude.

Parameters:
latitude - geodetic latitude, in radians. That is the angle between the local normal on the ellipsoid and the equatorial plane.
Returns:
the normal gravity, γ, at the given latitude in m/s2. This is the acceleration felt by a mass at rest on the surface of the reference ellipsoid.
• #### getC2n0

public double getC2n0​(int n)
Get the fully normalized coefficient C2n,0 for the normal gravity potential.
Parameters:
n - index in C2n,0, n >= 1.
Returns:
normalized C2n,0 of the ellipsoid
"Department of Defense World Geodetic System 1984. 2000. NIMA TR 8350.2 Third Edition, Amendment 1.", "DMA TR 8350.2. 1984."
• #### getEllipsoid

public ReferenceEllipsoid getEllipsoid()
Description copied from interface: EarthShape
Get the underlying ellipsoid model that defines latitude and longitude. If the height component of a GeodeticPoint is not needed, then using the ellipsoid will provide the quickest transformation.
Specified by:
getEllipsoid in interface EarthShape
Returns:
the reference ellipsoid. May be this, but never null.
• #### getWgs84

public static ReferenceEllipsoid getWgs84​(Frame bodyFrame)
Get the WGS84 ellipsoid, attached to the given body frame.
Parameters:
bodyFrame - the earth centered fixed frame
Returns:
a WGS84 reference ellipsoid
• #### getGrs80

public static ReferenceEllipsoid getGrs80​(Frame bodyFrame)
Get the GRS80 ellipsoid, attached to the given body frame.
Parameters:
bodyFrame - the earth centered fixed frame
Returns:
a GRS80 reference ellipsoid
• #### getIers96

public static ReferenceEllipsoid getIers96​(Frame bodyFrame)
Get the IERS96 ellipsoid, attached to the given body frame.
Parameters:
bodyFrame - the earth centered fixed frame
Returns:
an IERS96 reference ellipsoid
• #### getIers2003

public static ReferenceEllipsoid getIers2003​(Frame bodyFrame)
Get the IERS2003 ellipsoid, attached to the given body frame.
Parameters:
bodyFrame - the earth centered fixed frame
Returns:
an IERS2003 reference ellipsoid
• #### getIers2010

public static ReferenceEllipsoid getIers2010​(Frame bodyFrame)
Get the IERS2010 ellipsoid, attached to the given body frame.
Parameters:
bodyFrame - the earth centered fixed frame
Returns:
an IERS2010 reference ellipsoid