TransverseMercator.hpp
Go to the documentation of this file.
1 
10 #if !defined(GEOGRAPHICLIB_TRANSVERSEMERCATOR_HPP)
11 #define GEOGRAPHICLIB_TRANSVERSEMERCATOR_HPP 1
12 
14 
15 #if !defined(GEOGRAPHICLIB_TRANSVERSEMERCATOR_ORDER)
16 
20 # define GEOGRAPHICLIB_TRANSVERSEMERCATOR_ORDER \
21  (GEOGRAPHICLIB_PRECISION == 2 ? 6 : \
22  (GEOGRAPHICLIB_PRECISION == 1 ? 4 : 8))
23 #endif
24 
25 namespace GeographicLib {
26 
94  private:
95  typedef Math::real real;
96  static const int maxpow_ = GEOGRAPHICLIB_TRANSVERSEMERCATOR_ORDER;
97  static const int numit_ = 5;
98  real _a, _f, _k0, _e2, _es, _e2m, _c, _n;
99  // _alp[0] and _bet[0] unused
100  real _a1, _b1, _alp[maxpow_ + 1], _bet[maxpow_ + 1];
101  friend class Ellipsoid; // For access to taupf, tauf.
102  public:
103 
115 
130  void Forward(real lon0, real lat, real lon,
131  real& x, real& y, real& gamma, real& k) const;
132 
147  void Reverse(real lon0, real x, real y,
148  real& lat, real& lon, real& gamma, real& k) const;
149 
154  real& x, real& y) const {
155  real gamma, k;
156  Forward(lon0, lat, lon, x, y, gamma, k);
157  }
158 
163  real& lat, real& lon) const {
164  real gamma, k;
165  Reverse(lon0, x, y, lat, lon, gamma, k);
166  }
167 
170 
175  Math::real MajorRadius() const { return _a; }
176 
181  Math::real Flattening() const { return _f; }
182 
187  Math::real CentralScale() const { return _k0; }
189 
195  static const TransverseMercator& UTM();
196  };
197 
198 } // namespace GeographicLib
199 
200 #endif // GEOGRAPHICLIB_TRANSVERSEMERCATOR_HPP
Eigen::Forward
@ Forward
Definition: NumericalDiff.h:19
GeographicLib
Namespace for GeographicLib.
Definition: JacobiConformal.hpp:15
GeographicLib::TransverseMercator::Flattening
Math::real Flattening() const
Definition: TransverseMercator.hpp:181
x
set noclip points set clip one set noclip two set bar set border lt lw set xdata set ydata set zdata set x2data set y2data set boxwidth set dummy x
Definition: gnuplot_common_settings.hh:12
GeographicLib::TransverseMercator::_n
real _n
Definition: TransverseMercator.hpp:98
GEOGRAPHICLIB_EXPORT
#define GEOGRAPHICLIB_EXPORT
Definition: Constants.hpp:91
k0
double k0(double x)
Definition: k0.c:131
GeographicLib::Math::real
double real
Definition: Math.hpp:129
GEOGRAPHICLIB_TRANSVERSEMERCATOR_ORDER
#define GEOGRAPHICLIB_TRANSVERSEMERCATOR_ORDER
Definition: TransverseMercator.hpp:20
example::lon0
const double lon0
Definition: testGPSFactor.cpp:41
GeographicLib::TransverseMercator::Forward
void Forward(real lon0, real lat, real lon, real &x, real &y) const
Definition: TransverseMercator.hpp:153
gamma
#define gamma
Definition: mconf.h:85
GeographicLib::TransverseMercator::real
Math::real real
Definition: TransverseMercator.hpp:95
Constants.hpp
Header for GeographicLib::Constants class.
y
Scalar * y
Definition: level1_cplx_impl.h:124
tree::f
Point2(* f)(const Point3 &, OptionalJacobian< 2, 3 >)
Definition: testExpression.cpp:218
a
ArrayXXi a
Definition: Array_initializer_list_23_cxx11.cpp:1
GeographicLib::TransverseMercator::MajorRadius
Math::real MajorRadius() const
Definition: TransverseMercator.hpp:175
lon
static const double lon
Definition: testGeographicLib.cpp:34
GeographicLib::TransverseMercator::Reverse
void Reverse(real lon0, real x, real y, real &lat, real &lon) const
Definition: TransverseMercator.hpp:162
GeographicLib::Ellipsoid
Properties of an ellipsoid.
Definition: Ellipsoid.hpp:39
real
Definition: main.h:100
GeographicLib::TransverseMercator
Transverse Mercator projection.
Definition: TransverseMercator.hpp:93
lat
static const double lat
Definition: testGeographicLib.cpp:34
GeographicLib::TransverseMercator::CentralScale
Math::real CentralScale() const
Definition: TransverseMercator.hpp:187


gtsam
Author(s):
autogenerated on Tue Jun 25 2024 03:07:36