examples/example-TransverseMercatorExact.cpp
Go to the documentation of this file.
1 // Example of using the GeographicLib::TransverseMercatorExact class
2 
3 #include <iostream>
4 #include <iomanip>
5 #include <exception>
7 
8 using namespace std;
9 using namespace GeographicLib;
10 
11 int main() {
12  try {
13  TransverseMercatorExact proj(Constants::WGS84_a(), Constants::WGS84_f(),
14  Constants::UTM_k0());
15  // Alternatively:
16  // const TransverseMercatorExact& proj = TransverseMercatorExact::UTM();
17  double lon0 = -75; // Central meridian for UTM zone 18
18  {
19  // Sample forward calculation
20  double lat = 40.3, lon = -74.7; // Princeton, NJ
21  double x, y;
22  proj.Forward(lon0, lat, lon, x, y);
23  cout << x << " " << y << "\n";
24  }
25  {
26  // Sample reverse calculation
27  double x = 25e3, y = 4461e3;
28  double lat, lon;
29  proj.Reverse(lon0, x, y, lat, lon);
30  cout << lat << " " << lon << "\n";
31  }
32  }
33  catch (const exception& e) {
34  cerr << "Caught exception: " << e.what() << "\n";
35  return 1;
36  }
37 }
Scalar * y
An exact implementation of the transverse Mercator projection.
static const double lat
Definition: BFloat16.h:88
Header for GeographicLib::TransverseMercatorExact class.
void Reverse(real lon0, real x, real y, real &lat, real &lon, real &gamma, real &k) const
Namespace for GeographicLib.
Array< double, 1, 3 > e(1./3., 0.5, 2.)
const double lon0
void Forward(real lon0, real lat, real lon, real &x, real &y, real &gamma, real &k) const
static const double lon
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


gtsam
Author(s):
autogenerated on Tue Jul 4 2023 02:34:13