GeographicLib  1.50.1
GeographicLib::Constants Class Reference

Constants needed by GeographicLib More...

#include <GeographicLib/Constants.hpp>

Static Public Member Functions

static Math::real degree ()
 
static Math::real arcminute ()
 
static Math::real arcsecond ()
 
Ellipsoid parameters
template<typename T >
static T WGS84_a ()
 
static Math::real WGS84_a ()
 
template<typename T >
static T WGS84_f ()
 
static Math::real WGS84_f ()
 
template<typename T >
static T WGS84_GM ()
 
static Math::real WGS84_GM ()
 
template<typename T >
static T WGS84_omega ()
 
static Math::real WGS84_omega ()
 
template<typename T >
static T GRS80_a ()
 
static Math::real GRS80_a ()
 
template<typename T >
static T GRS80_GM ()
 
static Math::real GRS80_GM ()
 
template<typename T >
static T GRS80_omega ()
 
static Math::real GRS80_omega ()
 
template<typename T >
static T GRS80_J2 ()
 
static Math::real GRS80_J2 ()
 
template<typename T >
static T UTM_k0 ()
 
static Math::real UTM_k0 ()
 
template<typename T >
static T UPS_k0 ()
 
static Math::real UPS_k0 ()
 
SI units
template<typename T >
static T meter ()
 
static Math::real meter ()
 
static Math::real kilometer ()
 
static Math::real nauticalmile ()
 
template<typename T >
static T square_meter ()
 
static Math::real square_meter ()
 
static Math::real hectare ()
 
static Math::real square_kilometer ()
 
static Math::real square_nauticalmile ()
 
Anachronistic British units
static Math::real foot ()
 
static Math::real yard ()
 
static Math::real fathom ()
 
static Math::real chain ()
 
static Math::real furlong ()
 
static Math::real mile ()
 
static Math::real acre ()
 
static Math::real square_mile ()
 
Anachronistic US units
static Math::real surveyfoot ()
 

Related Functions

(Note that these are not member functions.)

#define GEOGRAPHICLIB_VERSION_NUM(a, b, c)   ((((a) * 10000 + (b)) * 100) + (c))
 
#define GEOGRAPHICLIB_VERSION
 
#define GEOGRAPHICLIB_HAS_STATIC_ASSERT   0
 
#define GEOGRAPHICLIB_STATIC_ASSERT(cond, reason)   { enum{ GEOGRAPHICLIB_STATIC_ASSERT_ENUM = 1/int(cond) }; }
 

Detailed Description

Constants needed by GeographicLib

Define constants specifying the WGS84 ellipsoid, the UTM and UPS projections, and various unit conversions.

Example of use:

// Example of using the GeographicLib::Constants class
#include <iostream>
#include <exception>
using namespace std;
using namespace GeographicLib;
int main() {
try {
cout << "WGS84 parameters:\n"
<< "a = " << Constants::WGS84_a() << " m\n"
<< "f = 1/" << 1/Constants::WGS84_f() << "\n";
}
catch (const exception& e) {
cerr << "Caught exception: " << e.what() << "\n";
return 1;
}
}

Definition at line 132 of file Constants.hpp.

Member Function Documentation

◆ degree()

static Math::real GeographicLib::Constants::degree ( )
inlinestatic

A synonym for Math::degree<real>().

Definition at line 141 of file Constants.hpp.

References GeographicLib::Math::degree().

◆ arcminute()

static Math::real GeographicLib::Constants::arcminute ( )
inlinestatic
Returns
the number of radians in an arcminute.

Definition at line 145 of file Constants.hpp.

References GeographicLib::Math::degree().

◆ arcsecond()

static Math::real GeographicLib::Constants::arcsecond ( )
inlinestatic
Returns
the number of radians in an arcsecond.

Definition at line 150 of file Constants.hpp.

References GeographicLib::Math::degree().

◆ WGS84_a() [1/2]

◆ WGS84_a() [2/2]

static Math::real GeographicLib::Constants::WGS84_a ( )
inlinestatic

A synonym for WGS84_a<real>().

Definition at line 165 of file Constants.hpp.

◆ WGS84_f() [1/2]

◆ WGS84_f() [2/2]

static Math::real GeographicLib::Constants::WGS84_f ( )
inlinestatic

A synonym for WGS84_f<real>().

Definition at line 179 of file Constants.hpp.

◆ WGS84_GM() [1/2]

template<typename T >
static T GeographicLib::Constants::WGS84_GM ( )
inlinestatic
Template Parameters
Tthe type of the returned value.
Returns
the gravitational constant of the WGS84 ellipsoid, GM, in m3 s−2.

Definition at line 185 of file Constants.hpp.

Referenced by GeographicLib::NormalGravity::WGS84().

◆ WGS84_GM() [2/2]

static Math::real GeographicLib::Constants::WGS84_GM ( )
inlinestatic

A synonym for WGS84_GM<real>().

Definition at line 190 of file Constants.hpp.

◆ WGS84_omega() [1/2]

template<typename T >
static T GeographicLib::Constants::WGS84_omega ( )
inlinestatic
Template Parameters
Tthe type of the returned value.
Returns
the angular velocity of the WGS84 ellipsoid, ω, in rad s−1.

Definition at line 196 of file Constants.hpp.

Referenced by GeographicLib::NormalGravity::WGS84().

◆ WGS84_omega() [2/2]

static Math::real GeographicLib::Constants::WGS84_omega ( )
inlinestatic

A synonym for WGS84_omega<real>().

Definition at line 201 of file Constants.hpp.

◆ GRS80_a() [1/2]

template<typename T >
static T GeographicLib::Constants::GRS80_a ( )
inlinestatic
Template Parameters
Tthe type of the returned value.
Returns
the equatorial radius of GRS80 ellipsoid, a, in m.

Definition at line 206 of file Constants.hpp.

Referenced by GeographicLib::NormalGravity::GRS80().

◆ GRS80_a() [2/2]

static Math::real GeographicLib::Constants::GRS80_a ( )
inlinestatic

A synonym for GRS80_a<real>().

Definition at line 211 of file Constants.hpp.

◆ GRS80_GM() [1/2]

template<typename T >
static T GeographicLib::Constants::GRS80_GM ( )
inlinestatic
Template Parameters
Tthe type of the returned value.
Returns
the gravitational constant of the GRS80 ellipsoid, GM, in m3 s−2.

Definition at line 217 of file Constants.hpp.

Referenced by GeographicLib::NormalGravity::GRS80().

◆ GRS80_GM() [2/2]

static Math::real GeographicLib::Constants::GRS80_GM ( )
inlinestatic

A synonym for GRS80_GM<real>().

Definition at line 222 of file Constants.hpp.

◆ GRS80_omega() [1/2]

template<typename T >
static T GeographicLib::Constants::GRS80_omega ( )
inlinestatic
Template Parameters
Tthe type of the returned value.
Returns
the angular velocity of the GRS80 ellipsoid, ω, in rad s−1.

This is about 2 π 366.25 / (365.25 × 24 × 3600) rad s−1. 365.25 is the number of days in a Julian year and 365.35/366.25 converts from solar days to sidereal days. Using the number of days in a Gregorian year (365.2425) results in a worse approximation (because the Gregorian year includes the precession of the earth's axis).

Definition at line 235 of file Constants.hpp.

Referenced by GeographicLib::NormalGravity::GRS80().

◆ GRS80_omega() [2/2]

static Math::real GeographicLib::Constants::GRS80_omega ( )
inlinestatic

A synonym for GRS80_omega<real>().

Definition at line 240 of file Constants.hpp.

◆ GRS80_J2() [1/2]

template<typename T >
static T GeographicLib::Constants::GRS80_J2 ( )
inlinestatic
Template Parameters
Tthe type of the returned value.
Returns
the dynamical form factor of the GRS80 ellipsoid, J2.

Definition at line 246 of file Constants.hpp.

Referenced by GeographicLib::NormalGravity::GRS80().

◆ GRS80_J2() [2/2]

static Math::real GeographicLib::Constants::GRS80_J2 ( )
inlinestatic

A synonym for GRS80_J2<real>().

Definition at line 251 of file Constants.hpp.

◆ UTM_k0() [1/2]

template<typename T >
static T GeographicLib::Constants::UTM_k0 ( )
inlinestatic
Template Parameters
Tthe type of the returned value.
Returns
the central scale factor for UTM (0.9996).

Definition at line 256 of file Constants.hpp.

Referenced by main(), GeographicLib::TransverseMercator::UTM(), and GeographicLib::TransverseMercatorExact::UTM().

◆ UTM_k0() [2/2]

static Math::real GeographicLib::Constants::UTM_k0 ( )
inlinestatic

A synonym for UTM_k0<real>().

Definition at line 261 of file Constants.hpp.

◆ UPS_k0() [1/2]

template<typename T >
static T GeographicLib::Constants::UPS_k0 ( )
inlinestatic
Template Parameters
Tthe type of the returned value.
Returns
the central scale factor for UPS (0.994).

Definition at line 266 of file Constants.hpp.

Referenced by GeographicLib::PolarStereographic::UPS().

◆ UPS_k0() [2/2]

static Math::real GeographicLib::Constants::UPS_k0 ( )
inlinestatic

A synonym for UPS_k0<real>().

Definition at line 271 of file Constants.hpp.

◆ meter() [1/2]

template<typename T >
static T GeographicLib::Constants::meter ( )
inlinestatic
Template Parameters
Tthe type of the returned value.
Returns
the number of meters in a meter.

This is unity, but this lets the internal system of units be changed if necessary.

Definition at line 284 of file Constants.hpp.

◆ meter() [2/2]

static Math::real GeographicLib::Constants::meter ( )
inlinestatic

A synonym for meter<real>().

Definition at line 288 of file Constants.hpp.

◆ kilometer()

static Math::real GeographicLib::Constants::kilometer ( )
inlinestatic
Returns
the number of meters in a kilometer.

Definition at line 292 of file Constants.hpp.

◆ nauticalmile()

static Math::real GeographicLib::Constants::nauticalmile ( )
inlinestatic
Returns
the number of meters in a nautical mile (approximately 1 arc minute)

Definition at line 298 of file Constants.hpp.

◆ square_meter() [1/2]

template<typename T >
static T GeographicLib::Constants::square_meter ( )
inlinestatic
Template Parameters
Tthe type of the returned value.
Returns
the number of square meters in a square meter.

This is unity, but this lets the internal system of units be changed if necessary.

Definition at line 308 of file Constants.hpp.

◆ square_meter() [2/2]

static Math::real GeographicLib::Constants::square_meter ( )
inlinestatic

A synonym for square_meter<real>().

Definition at line 313 of file Constants.hpp.

◆ hectare()

static Math::real GeographicLib::Constants::hectare ( )
inlinestatic
Returns
the number of square meters in a hectare.

Definition at line 318 of file Constants.hpp.

◆ square_kilometer()

static Math::real GeographicLib::Constants::square_kilometer ( )
inlinestatic
Returns
the number of square meters in a square kilometer.

Definition at line 323 of file Constants.hpp.

◆ square_nauticalmile()

static Math::real GeographicLib::Constants::square_nauticalmile ( )
inlinestatic
Returns
the number of square meters in a square nautical mile.

Definition at line 328 of file Constants.hpp.

◆ foot()

static Math::real GeographicLib::Constants::foot ( )
inlinestatic
Returns
the number of meters in an international foot.

Definition at line 338 of file Constants.hpp.

◆ yard()

static Math::real GeographicLib::Constants::yard ( )
inlinestatic
Returns
the number of meters in a yard.

Definition at line 343 of file Constants.hpp.

◆ fathom()

static Math::real GeographicLib::Constants::fathom ( )
inlinestatic
Returns
the number of meters in a fathom.

Definition at line 347 of file Constants.hpp.

◆ chain()

static Math::real GeographicLib::Constants::chain ( )
inlinestatic
Returns
the number of meters in a chain.

Definition at line 351 of file Constants.hpp.

◆ furlong()

static Math::real GeographicLib::Constants::furlong ( )
inlinestatic
Returns
the number of meters in a furlong.

Definition at line 355 of file Constants.hpp.

◆ mile()

static Math::real GeographicLib::Constants::mile ( )
inlinestatic
Returns
the number of meters in a statute mile.

Definition at line 359 of file Constants.hpp.

◆ acre()

static Math::real GeographicLib::Constants::acre ( )
inlinestatic
Returns
the number of square meters in an acre.

Definition at line 363 of file Constants.hpp.

◆ square_mile()

static Math::real GeographicLib::Constants::square_mile ( )
inlinestatic
Returns
the number of square meters in a square statute mile.

Definition at line 367 of file Constants.hpp.

◆ surveyfoot()

static Math::real GeographicLib::Constants::surveyfoot ( )
inlinestatic
Returns
the number of meters in a US survey foot.

Definition at line 376 of file Constants.hpp.

Friends And Related Function Documentation

◆ GEOGRAPHICLIB_VERSION_NUM

#define GEOGRAPHICLIB_VERSION_NUM (   a,
  b,
 
)    ((((a) * 10000 + (b)) * 100) + (c))
related

Pack the version components into a single integer. Users should not rely on this particular packing of the components of the version number; see the documentation for GEOGRAPHICLIB_VERSION, below.

Definition at line 22 of file Constants.hpp.

◆ GEOGRAPHICLIB_VERSION

#define GEOGRAPHICLIB_VERSION
related
Value:
GEOGRAPHICLIB_VERSION_NUM(GEOGRAPHICLIB_VERSION_MAJOR, \
GEOGRAPHICLIB_VERSION_MINOR, \
GEOGRAPHICLIB_VERSION_PATCH)

The version of GeographicLib as a single integer, packed as MMmmmmpp where MM is the major version, mmmm is the minor version, and pp is the patch level. Users should not rely on this particular packing of the components of the version number. Instead they should use a test such as

#if GEOGRAPHICLIB_VERSION >= GEOGRAPHICLIB_VERSION_NUM(1,37,0)
...
#endif

Definition at line 35 of file Constants.hpp.

◆ GEOGRAPHICLIB_HAS_STATIC_ASSERT

#define GEOGRAPHICLIB_HAS_STATIC_ASSERT   0
related

Is the C++11 static_assert available?

Definition at line 66 of file Constants.hpp.

◆ GEOGRAPHICLIB_STATIC_ASSERT

#define GEOGRAPHICLIB_STATIC_ASSERT (   cond,
  reason 
)    { enum{ GEOGRAPHICLIB_STATIC_ASSERT_ENUM = 1/int(cond) }; }
related

A compile-time assert. Use C++11 static_assert, if available.

Definition at line 78 of file Constants.hpp.


The documentation for this class was generated from the following file:
GeographicLib
Namespace for GeographicLib.
Definition: Accumulator.cpp:12
GeographicLib::Constants::GEOGRAPHICLIB_VERSION_NUM
#define GEOGRAPHICLIB_VERSION_NUM(a, b, c)
Definition: Constants.hpp:21
main
int main(int argc, const char *const argv[])
Definition: CartConvert.cpp:29
Constants.hpp
Header for GeographicLib::Constants class.
GeographicLib::Constants::WGS84_a
static T WGS84_a()
Definition: Constants.hpp:160
std
Definition: NearestNeighbor.hpp:814
GeographicLib::Constants::WGS84_f
static T WGS84_f()
Definition: Constants.hpp:170