10#if !defined(GEOGRAPHICLIB_TRANSVERSEMERCATOR_HPP)
11#define GEOGRAPHICLIB_TRANSVERSEMERCATOR_HPP 1
16#if !defined(GEOGRAPHICLIB_TRANSVERSEMERCATOR_ORDER)
21# define GEOGRAPHICLIB_TRANSVERSEMERCATOR_ORDER \
22 (GEOGRAPHICLIB_PRECISION == 2 ? 6 : \
23 (GEOGRAPHICLIB_PRECISION == 1 ? 4 : 8))
98 static const int numit_ = 5;
101 real _e2, _es, _e2m, _c, _n;
103 real _a1, _b1, _alp[maxpow_ + 1], _bet[maxpow_ + 1];
126 bool exact =
false,
bool extendp =
false);
142 void Forward(real lon0, real lat, real lon,
143 real& x, real& y, real& gamma, real& k)
const;
159 void Reverse(real lon0, real x, real y,
160 real& lat, real& lon, real& gamma, real& k)
const;
166 real& x, real& y)
const {
168 Forward(lon0, lat, lon, x, y, gamma, k);
175 real& lat, real& lon)
const {
177 Reverse(lon0, x, y, lat, lon, gamma, k);
205 bool Exact()
const {
return _exact; }
Header for GeographicLib::Constants class.
#define GEOGRAPHICLIB_EXPORT
GeographicLib::Math::real real
Header for GeographicLib::TransverseMercatorExact class.
#define GEOGRAPHICLIB_TRANSVERSEMERCATOR_ORDER
An exact implementation of the transverse Mercator projection.
Transverse Mercator projection.
Math::real Flattening() const
void Reverse(real lon0, real x, real y, real &lat, real &lon) const
Math::real CentralScale() const
void Forward(real lon0, real lat, real lon, real &x, real &y) const
Math::real EquatorialRadius() const
Namespace for GeographicLib.