12 namespace GeographicLib {
17 0.01 * sqrt(numeric_limits<real>::epsilon());
21 , _f(f <= 1 ? f : 1/f)
25 , _e12(_e2 / (1 - _e2))
28 , _tm(_a, _f, real(1))
30 , _au(_a, _f, real(0), real(1), real(0), real(1), real(1))
34 Constants::WGS84_f<real>());
37 {
return _b * _ell.
E(); }
40 return 4 * Math::pi<real>() *
43 (_e2 > 0 ?
Math::atanh(sqrt(_e2)) : atan(sqrt(-_e2))) /
48 {
return atand(_f1 * tand(phi)); }
51 {
return atand(tand(beta) / _f1); }
54 {
return atand(_f12 * tand(phi)); }
57 {
return atand(tand(theta) / _f12); }
60 return abs(phi) == 90 ? phi:
61 90 * MeridianDistance(phi) / QuarterMeridian();
67 return InverseParametricLatitude(_ell.Einv(mu * _ell.E() / 90) /
68 Math::degree<real>());
72 {
return atand(_au.txif(tand(phi))); }
75 {
return atand(_au.tphif(tand(xi))); }
78 {
return atand(_tm.taupf(tand(phi))); }
81 {
return atand(_tm.tauf(tand(chi))); }
84 {
return Math::asinh(_tm.taupf(tand(phi))) / Math::degree<real>(); }
87 {
return atand(_tm.tauf(sinh(psi * Math::degree<real>()))); }
90 return abs(phi) == 90 ? 0 :
96 real tbeta = _f1 * tand(phi);
102 {
return _b * _ell.Ed( ParametricLatitude(phi) ); }
105 real v = 1 - _e2 *
Math::sq(sin(phi * Math::degree<real>()));
106 return _a * (1 - _e2) / (v * sqrt(v));
110 real v = 1 - _e2 *
Math::sq(sin(phi * Math::degree<real>()));
117 alpha = azi * Math::degree<real>(),
118 v = 1 - _e2 *
Math::sq(sin(phi * Math::degree<real>()));
119 return _a / (sqrt(v) *
Ellipsoid(real a, real f)
Math::real CircleHeight(real phi) const
Math::real InverseRectifyingLatitude(real mu) const
Math::real IsometricLatitude(real phi) const
Math::real InverseParametricLatitude(real beta) const
GeographicLib::Math::real real
Math::real TransverseCurvatureRadius(real phi) const
Math::real InverseAuthalicLatitude(real xi) const
Mathematical functions needed by GeographicLib.
Math::real AuthalicLatitude(real phi) const
Math::real ParametricLatitude(real phi) const
Math::real RectifyingLatitude(real phi) const
Math::real GeocentricLatitude(real phi) const
static const Ellipsoid WGS84
Math::real InverseConformalLatitude(real chi) const
Math::real QuarterMeridian() const
Math::real MeridianDistance(real phi) const
Header for GeographicLib::Ellipsoid class.
Math::real InverseIsometricLatitude(real psi) const
Properties of an ellipsoid.
Math::real ConformalLatitude(real phi) const
Math::real NormalCurvatureRadius(real phi, real azi) const
Math::real InverseGeocentricLatitude(real theta) const
Math::real CircleRadius(real phi) const
Math::real MeridionalCurvatureRadius(real phi) const