TransverseMercatorExact.hpp
Go to the documentation of this file.
1 
10 #if !defined(GEOGRAPHICLIB_TRANSVERSEMERCATOREXACT_HPP)
11 #define GEOGRAPHICLIB_TRANSVERSEMERCATOREXACT_HPP 1
12 
15 
16 namespace GeographicLib {
17 
84  private:
85  typedef Math::real real;
86  static const int numit_ = 10;
87  real tol_, tol2_, taytol_;
88  real _a, _f, _k0, _mu, _mv, _e;
89  bool _extendp;
91 
92  void zeta(real u, real snu, real cnu, real dnu,
93  real v, real snv, real cnv, real dnv,
94  real& taup, real& lam) const;
95 
96  void dwdzeta(real u, real snu, real cnu, real dnu,
97  real v, real snv, real cnv, real dnv,
98  real& du, real& dv) const;
99 
100  bool zetainv0(real psi, real lam, real& u, real& v) const;
101  void zetainv(real taup, real lam, real& u, real& v) const;
102 
103  void sigma(real u, real snu, real cnu, real dnu,
104  real v, real snv, real cnv, real dnv,
105  real& xi, real& eta) const;
106 
107  void dwdsigma(real u, real snu, real cnu, real dnu,
108  real v, real snv, real cnv, real dnv,
109  real& du, real& dv) const;
110 
111  bool sigmainv0(real xi, real eta, real& u, real& v) const;
112  void sigmainv(real xi, real eta, real& u, real& v) const;
113 
114  void Scale(real tau, real lam,
115  real snu, real cnu, real dnu,
116  real snv, real cnv, real dnv,
117  real& gamma, real& k) const;
118 
119  public:
120 
170  TransverseMercatorExact(real a, real f, real k0, bool extendp = false);
171 
186  void Forward(real lon0, real lat, real lon,
187  real& x, real& y, real& gamma, real& k) const;
188 
203  void Reverse(real lon0, real x, real y,
204  real& lat, real& lon, real& gamma, real& k) const;
205 
211  real& x, real& y) const {
212  real gamma, k;
213  Forward(lon0, lat, lon, x, y, gamma, k);
214  }
215 
221  real& lat, real& lon) const {
222  real gamma, k;
223  Reverse(lon0, x, y, lat, lon, gamma, k);
224  }
225 
228 
233  Math::real MajorRadius() const { return _a; }
234 
239  Math::real Flattening() const { return _f; }
240 
245  Math::real CentralScale() const { return _k0; }
247 
253  static const TransverseMercatorExact& UTM();
254  };
255 
256 } // namespace GeographicLib
257 
258 #endif // GEOGRAPHICLIB_TRANSVERSEMERCATOREXACT_HPP
Eigen::Forward
@ Forward
Definition: NumericalDiff.h:19
GeographicLib::TransverseMercatorExact::Flattening
Math::real Flattening() const
Definition: TransverseMercatorExact.hpp:239
GeographicLib::TransverseMercatorExact::Reverse
void Reverse(real lon0, real x, real y, real &lat, real &lon) const
Definition: TransverseMercatorExact.hpp:220
psi
double psi(double x)
Definition: psi.c:146
screwPose2::xi
Vector xi
Definition: testPose2.cpp:148
GeographicLib::TransverseMercatorExact
An exact implementation of the transverse Mercator projection.
Definition: TransverseMercatorExact.hpp:83
GeographicLib
Namespace for GeographicLib.
Definition: JacobiConformal.hpp:15
EllipticFunction.hpp
Header for GeographicLib::EllipticFunction class.
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::EllipticFunction
Elliptic integrals and functions.
Definition: EllipticFunction.hpp:62
GeographicLib::TransverseMercatorExact::CentralScale
Math::real CentralScale() const
Definition: TransverseMercatorExact.hpp:245
GEOGRAPHICLIB_EXPORT
#define GEOGRAPHICLIB_EXPORT
Definition: Constants.hpp:91
GeographicLib::TransverseMercatorExact::_extendp
bool _extendp
Definition: TransverseMercatorExact.hpp:89
k0
double k0(double x)
Definition: k0.c:131
sampling::sigma
static const double sigma
Definition: testGaussianBayesNet.cpp:169
GeographicLib::Math::real
double real
Definition: Math.hpp:129
example::lon0
const double lon0
Definition: testGPSFactor.cpp:41
gamma
#define gamma
Definition: mconf.h:85
Constants.hpp
Header for GeographicLib::Constants class.
y
Scalar * y
Definition: level1_cplx_impl.h:124
GeographicLib::TransverseMercatorExact::real
Math::real real
Definition: TransverseMercatorExact.hpp:85
tree::f
Point2(* f)(const Point3 &, OptionalJacobian< 2, 3 >)
Definition: testExpression.cpp:218
GeographicLib::TransverseMercatorExact::Forward
void Forward(real lon0, real lat, real lon, real &x, real &y) const
Definition: TransverseMercatorExact.hpp:210
GeographicLib::TransverseMercatorExact::MajorRadius
Math::real MajorRadius() const
Definition: TransverseMercatorExact.hpp:233
a
ArrayXXi a
Definition: Array_initializer_list_23_cxx11.cpp:1
zeta
double zeta(double x, double q)
Definition: zeta.c:89
v
Array< int, Dynamic, 1 > v
Definition: Array_initializer_list_vector_cxx11.cpp:1
lon
static const double lon
Definition: testGeographicLib.cpp:34
GeographicLib::TransverseMercatorExact::_mv
real _mv
Definition: TransverseMercatorExact.hpp:88
GeographicLib::TransverseMercatorExact::_Ev
EllipticFunction _Ev
Definition: TransverseMercatorExact.hpp:90
GeographicLib::TransverseMercatorExact::tol_
real tol_
Definition: TransverseMercatorExact.hpp:87
real
Definition: main.h:100
lat
static const double lat
Definition: testGeographicLib.cpp:34


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