10 #if !defined(GEOGRAPHICLIB_ALBERSEQUALAREA_HPP) 11 #define GEOGRAPHICLIB_ALBERSEQUALAREA_HPP 1 63 real eps_, epsx_, epsx2_, tol_, tol0_;
64 real _a, _f, _fm, _e2, _e, _e2m, _qZ, _qx;
65 real _sign, _lat0, _k0;
66 real _n0, _m02, _nrho0, _k2, _txi0, _scxi0, _sxi0;
67 static const int numit_ = 5;
68 static const int numit0_ = 20;
69 static real hyp(real x) {
71 return hypot(
real(1), x);
76 real atanhee(real x)
const {
77 using std::atan2;
using std::abs;
using std::atanh;
78 return _f > 0 ? atanh(_e * x)/_e :
83 (_f < 0 ? (atan2(_e * abs(x),
real(x < 0 ? -1 : 1))/_e) : x);
86 static real atanhxm1(real x);
105 static real Dsn(real x, real y, real sx, real sy) {
108 return t > 0 ? (x + y) *
Math::sq( (sx * sy)/t ) / (sx + sy) :
109 (x - y != 0 ? (sx - sy) / (x - y) : 1);
112 real Datanhee(real x, real y)
const {
113 real t = x - y, d = 1 - _e2 * x * y;
114 return t != 0 ? atanhee(t / d) / t : 1 / d;
117 real DDatanhee(real x, real y)
const;
118 void Init(real sphi1, real cphi1, real sphi2, real cphi2, real k1);
119 real txif(real tphi)
const;
120 real tphif(real txi)
const;
181 real sinlat1, real coslat1,
182 real sinlat2, real coslat2,
196 void SetScale(real lat, real k =
real(1));
216 void Forward(real lon0, real lat, real lon,
217 real& x, real& y, real& gamma, real& k)
const;
237 void Reverse(real lon0, real x, real y,
238 real& lat, real& lon, real& gamma, real& k)
const;
245 real& x, real& y)
const {
247 Forward(lon0, lat, lon, x, y, gamma, k);
255 real& lat, real& lon)
const {
257 Reverse(lon0, x, y, lat, lon, gamma, k);
294 Math::real MajorRadius()
const {
return EquatorialRadius(); }
321 #endif // GEOGRAPHICLIB_ALBERSEQUALAREA_HPP
#define GEOGRAPHICLIB_EXPORT
GeographicLib::Math::real real
Mathematical functions needed by GeographicLib.
Math::real CentralScale() const
Albers equal area conic projection.
Namespace for GeographicLib.
void Forward(real lon0, real lat, real lon, real &x, real &y) const
Properties of an ellipsoid.
Header for GeographicLib::Constants class.
void Reverse(real lon0, real x, real y, real &lat, real &lon) const
#define GEOGRAPHICLIB_DEPRECATED(msg)
Math::real EquatorialRadius() const
Math::real Flattening() const
Math::real OriginLatitude() const