My Project
 All Classes Files Functions Variables Enumerations Enumerator Friends Macros Pages
gcp::util::Geoid Class Reference
Inheritance diagram for gcp::util::Geoid:
gcp::util::Ellipsoid

Public Member Functions

 Geoid ()
 
virtual ~Geoid ()
 
Length geocentricRadius (Angle geocentricLatitude)
 
Length geodeticRadius (Angle geodeticLatitude)
 
Angle geocentricLatitude (Angle geodeticLatitude)
 
double flattening ()
 
double eccentricitySquared ()
 
- Public Member Functions inherited from gcp::util::Ellipsoid
 Ellipsoid ()
 
 Ellipsoid (Length majorAxis, Length minorAxis)
 
virtual ~Ellipsoid ()
 
virtual double eccentricity ()
 
Length radius (Angle latitude)
 

Static Public Attributes

static const Length earthEqRadius_
 
static const double flattening_ = 1.0/298.257
 

Constructor & Destructor Documentation

Geoid::Geoid ( )

Constructor.

....................................................................... Constructor.

Geoid::~Geoid ( )
virtual

Destructor.

....................................................................... Destructor.

Member Function Documentation

double Geoid::eccentricitySquared ( )
virtual

....................................................................... Return the eccentricity squared

Eccentricity is defined as:

        1 - e^2 = (b/a)^2

where a, b = semi-major, semi-minor radii of the ellipse.

flattening is defined as:

        f = (a - b)/a = 1 - (b/a)

Thus: (b/a)^2 = (1 - f)^2 = 1 - e^2, or

   e^2 = 1 - (1 - f)^2 = 2f - f^2 = f(2 - f)

Reimplemented from gcp::util::Ellipsoid.

double gcp::util::Geoid::flattening ( )
inlinevirtual

Return the flattening

Reimplemented from gcp::util::Ellipsoid.

Angle Geoid::geocentricLatitude ( Angle  geodeticLatitude)

Return the geocentric latitude corresponding to a given geodetic latitude

....................................................................... Return the geocentric latitude corresponding to a given geodetic latitude

Geocntric latitude and Geodetic latitude are related by:

tan(geoc) = (b/a)^2 * tan(geod)

Flattening is defined as: f = 1.0 - (b/a), so (b/a) = (1 - f)

Length Geoid::geocentricRadius ( Angle  geocentricLatitude)

Return the length of the radius vector from the center of the earth to the surface at a given geocentric latitude.

....................................................................... Return the length of the radius vector from the center of the earth to the surface at a given geocentric latitude.

Length Geoid::geodeticRadius ( Angle  geodLat)

Return the length of the radius vector normal to the surface at a given geodetic latitude

....................................................................... Return the length of the radius vector normal to the surface at a given geodetic latitude.

From:

geodR * sin(geodLat) = geocR * sin(geocLat),

we have

geodR  = geocR * sin(geocLat)/sin(geodLat)

Member Data Documentation

const Length Geoid::earthEqRadius_
static
Initial value:
=
Length(Length::Centimeters(), 637814000.0)

The documentation for this class was generated from the following files: