Defines the ellipsoid that is to be used to convert between geocentric and geographic latitude and between depth and radius.
More...
|
| EarthShape (const string &earthShape="WGS84") |
| Define the shape of the Earth that is to be used to convert between geocentric and geographic latitude and between depth and radius. More...
|
|
virtual | ~EarthShape () |
| Destructor. More...
|
|
virtual int | class_size () const |
| Returns the class size. More...
|
|
double | getEarthRadius (const double *const v) |
| Retrieve the radius of the Earth in km at the position specified by an Earth-centered unit vector. More...
|
|
double | getEccentricitySqr () const |
|
double | getEquatorialRadius () const |
|
double | getGeocentricLat (const double &lat) |
| Return geocentric latitude given a geographic latitude. More...
|
|
double | getGeocentricLatDegrees (const double &lat) |
| Return geocentric latitude given a geographic latitude. More...
|
|
double | getGeographicLat (const double &lat) |
| Return geographic latitude given a geocentric latitude. More...
|
|
double | getGeographicLatDegrees (const double &lat) |
| Return geographic latitude given a geocentric latitude. More...
|
|
double | getInverseFlattening () const |
|
double | getLat (const double *const v) |
| Convert a 3-component unit vector to geographic latitude, in radians. More...
|
|
double | getLatDegrees (const double *const v) |
| Convert a 3-component unit vector to geographic latitude, in degrees. More...
|
|
string | getLatLonString (const double *const v) |
|
double | getLon (const double *const v) |
| Convert a 3-component unit vector to a longitude, in radians. More...
|
|
double | getLonDegrees (const double *const v) |
| Convert a 3-component unit vector to a longitude, in degrees. More...
|
|
const string & | getShapeName () const |
|
double * | getVector (const double &lat, const double &lon) |
| Convert geographic lat, lon into a geocentric unit vector. More...
|
|
double * | getVector (const double &lat, const double &lon, double *v) |
| Convert geographic lat, lon into a geocentric unit vector. More...
|
|
void | getVectorDegrees (const double &lat, const double &lon, double *v) |
| Convert geographic lat, lon into a geocentric unit vector. More...
|
|
double * | getVectorDegrees (const double &lat, const double &lon) |
| Convert geographic lat, lon into a geocentric unit vector. More...
|
|
bool | isConstantRadius () const |
|
bool | isSphere () const |
|
void | setEarthShape (const string &earthShape) |
| Define the shape of the Earth that is to be used to convert between geocentric and geographic latitude and between depth and radius. More...
|
|
Defines the ellipsoid that is to be used to convert between geocentric and geographic latitude and between depth and radius.
EarthShape defines the ellipsoid that is to be used to convert between geocentric and geographic latitude and between depth and radius. The default is WGS84. The following EarthShapes are defined:
-
SPHERE - Geocentric and geographic latitudes are identical and conversion between depth and radius assume the Earth is a sphere with constant radius of 6371 km.
-
GRS80 - Conversion between geographic and geocentric latitudes, and between depth and radius are performed using the parameters of the GRS80 ellipsoid.
-
GRS80_RCONST - Conversion between geographic and geocentric latitudes are performed using the parameters of the GRS80 ellipsoid. Conversions between depth and radius assume the Earth is a sphere with radius 6371.
-
WGS84 - Conversion between geographic and geocentric latitudes, and between depth and radius are performed using the parameters of the WGS84 ellipsoid.
-
WGS84_RCONST - Conversion between geographic and geocentric latitudes are performed using the parameters of the WGS84 ellipsoid. Conversions between depth and radius assume the Earth is a sphere with radius 6371.
double* geotess::EarthShape::getVector |
( |
const double & |
lat, |
|
|
const double & |
lon |
|
) |
| |
|
inline |
Convert geographic lat, lon into a geocentric unit vector.
The x-component points toward lat,lon = 0, 0. The y-component points toward lat,lon = 0, PI/2. The z-component points toward north pole.
- Parameters
-
lat | geographic latitude in radians. |
lon | longitude in radians. |
- Returns
- 3 component unit vector.
double* geotess::EarthShape::getVector |
( |
const double & |
lat, |
|
|
const double & |
lon, |
|
|
double * |
v |
|
) |
| |
|
inline |
Convert geographic lat, lon into a geocentric unit vector.
The x-component points toward lat,lon = 0, 0. The y-component points toward lat,lon = 0, PI/2 The z-component points toward north pole.
- Parameters
-
lat | geographic latitude in radians. |
lon | longitude in radians. |
v | 3-component unit vector. |
- Returns
- a pointer to v
void geotess::EarthShape::getVectorDegrees |
( |
const double & |
lat, |
|
|
const double & |
lon, |
|
|
double * |
v |
|
) |
| |
|
inline |
Convert geographic lat, lon into a geocentric unit vector.
The x-component points toward lat,lon = 0, 0. The y-component points toward lat,lon = 0, 90. The z-component points toward north pole.
- Parameters
-
lat | geographic latitude in degrees. |
lon | longitude in degrees. |
v | 3 component unit vector. |
- Returns
- pointer to v
double* geotess::EarthShape::getVectorDegrees |
( |
const double & |
lat, |
|
|
const double & |
lon |
|
) |
| |
|
inline |
Convert geographic lat, lon into a geocentric unit vector.
The x-component points toward lat,lon = 0, 0. The y-component points toward lat,lon = 0, 90. The z-component points toward north pole.
- Parameters
-
lat | geographic latitude in degrees. |
lon | longitude in degrees. |
- Returns
- pointer to v