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: Half.h:150
Header for GeographicLib::TransverseMercatorExact class.
Namespace for GeographicLib.
Array< double, 1, 3 > e(1./3., 0.5, 2.)
void Reverse(real lon0, real x, real y, real &lat, real &lon, real &gamma, real &k) const
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 Sat May 8 2021 02:42:02