GeoTessCPP: geotess::EarthShape Class Reference

GeoTessCPP 2.1 Software to facilitate storage and retrieval of 3D information about the Earth.

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Friends Macros
Public Member Functions | Static Public Member Functions
geotess::EarthShape Class Reference

`#include <EarthShape.h>`

List of all members.

## Public Member Functions
| EarthShape (const string &earthShape="WGS84")
virtual | ~EarthShape ()
virtual int | class_size () const
double | getEarthRadius (const double *const v)
double | getEccentricitySqr () const
double | getEquatorialRadius () const
double | getGeocentricLat (const double &lat)
double | getGeocentricLatDegrees (const double &lat)
double | getGeographicLat (const double &lat)
double | getGeographicLatDegrees (const double &lat)
double | getInverseFlattening () const
double | getLat (const double *const v)
double | getLatDegrees (const double *const v)
string | getLatLonString (const double *const v)
double | getLon (const double *const v)
double | getLonDegrees (const double *const v)
const string & | getShapeName () const
double * | getVector (const double &lat, const double &lon)
double * | getVector (const double &lat, const double &lon, double *v)
void | getVectorDegrees (const double &lat, const double &lon, double *v)
double * | getVectorDegrees (const double &lat, const double &lon)
bool | isConstantRadius () const
bool | isSphere () const
void | setEarthShape (const string &earthShape)

## Static Public Member Functions
static string | class_name ()

## Detailed Description

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.

## Constructor & Destructor Documentation

geotess::EarthShape::EarthShape | ( | const string & | earthShape = `"WGS84"` | ) |
| inline

Define the shape of the Earth that is to be used to convert between geocentric and geographic latitude and between depth and radius. The default is WGS84.

- 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.

Parameters:

  earthShape | one of SPHERE, GRS80, GRS80_RCONST, WGS84, WGS84_RCONST

virtual geotess::EarthShape::~EarthShape | ( |  | ) |
| inlinevirtual

Destructor.

## Member Function Documentation

static string geotess::EarthShape::class_name | ( |  | ) |
| inlinestatic

Returns the class name.

Returns:
  class name

virtual int geotess::EarthShape::class_size | ( |  | ) | const
| inlinevirtual

Returns the class size.

Returns:
  class size

double geotess::EarthShape::getEarthRadius | ( | const double *const | v | ) |
| inline

Retrieve the radius of the Earth in km at the position specified by an Earth-centered unit vector. Uses the WGS84 ellipsoid.

Parameters:

  v | Earth-centered unit vector

Returns:
  radius of the Earth in km at specified position.

double geotess::EarthShape::getEccentricitySqr | ( |  | ) | const
| inline

double geotess::EarthShape::getEquatorialRadius | ( |  | ) | const
| inline

double geotess::EarthShape::getGeocentricLat | ( | const double & | lat | ) |
| inline

Return geocentric latitude given a geographic latitude

Parameters:

  lat | geographic latitude in radians

Returns:
  geocentric latitude in radians

double geotess::EarthShape::getGeocentricLatDegrees | ( | const double & | lat | ) |
| inline

Return geocentric latitude given a geographic latitude

Parameters:

  lat | geographic latitude in degrees

Returns:
  geocentric latitude in degrees

double geotess::EarthShape::getGeographicLat | ( | const double & | lat | ) |
| inline

Return geographic latitude given a geocentric latitude

Parameters:

  lat | geocentric latitude in radians

Returns:
  geographic latitude in radians

double geotess::EarthShape::getGeographicLatDegrees | ( | const double & | lat | ) |
| inline

Return geographic latitude given a geocentric latitude

Parameters:

  lat | geocentric latitude in degrees

Returns:
  geographic latitude in degrees

double geotess::EarthShape::getInverseFlattening | ( |  | ) | const
| inline

double geotess::EarthShape::getLat | ( | const double *const | v | ) |
| inline

Convert a 3-component unit vector to geographic latitude, in radians.

Parameters:

  v | 3-component unit vector

Returns:
  geographic latitude in radians.

double geotess::EarthShape::getLatDegrees | ( | const double *const | v | ) |
| inline

Convert a 3-component unit vector to geographic latitude, in degrees.

Parameters:

  v | 3-component unit vector

Returns:
  geographic latitude in degrees.

string geotess::EarthShape::getLatLonString | ( | const double *const | v | ) |
| inline

Parameters:

  v | unit vector to be converted to lat, lon string

Returns:
  a String of lat,lon in degrees formatted with "%10.6f %11.6f"

double geotess::EarthShape::getLon | ( | const double *const | v | ) |
| inline

Convert a 3-component unit vector to a longitude, in radians.

Parameters:

  v | 3 component unit vector

Returns:
  longitude in radians.

double geotess::EarthShape::getLonDegrees | ( | const double *const | v | ) |
| inline

Convert a 3-component unit vector to a longitude, in degrees.

Parameters:

  v | 3 component unit vector

Returns:
  longitude in degrees.

const string& geotess::EarthShape::getShapeName | ( |  | ) | const
| inline

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.
  v | 3 component unit vector.

Returns:
  pointer to v

bool geotess::EarthShape::isConstantRadius | ( |  | ) | const
| inline

bool geotess::EarthShape::isSphere | ( |  | ) | const
| inline

void geotess::EarthShape::setEarthShape | ( | const string & | earthShape | ) |
| inline

Define the shape of the Earth that is to be used to convert between geocentric and geographic latitude and between depth and radius. The default is WGS84.

- 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.
- IERS2003 - Conversion between geographic and geocentric latitudes, and between depth and radius are performed using the parameters of the IERS2003 ellipsoid.
- IERS2003_RCONST - Conversion between geographic and geocentric latitudes are performed using the parameters of the IERS2003 ellipsoid. Conversions between depth and radius assume the Earth is a sphere with radius 6371.

Parameters:

  earthShape | one of SPHERE, GRS80, GRS80_RCONST, WGS84, WGS84_RCONST, IERS2003, IERS2003_RCONST

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

- include/EarthShape.h