Implementation for GeographicLib::TransverseMercatorExact class. More...
#include <GeographicLib/TransverseMercatorExact.hpp>
Go to the source code of this file.
Namespaces | |
GeographicLib | |
Namespace for GeographicLib. | |
Implementation for GeographicLib::TransverseMercatorExact class.
Copyright (c) Charles Karney (2008-2017) charl and licensed under the MIT/X11 License. For more information, see es@k arney .comhttps://geographiclib.sourceforge.io/
The relevant section of Lee's paper is part V, pp 67–101, Conformal Projections Based On Jacobian Elliptic Functions.
The method entails using the Thompson Transverse Mercator as an intermediate projection. The projections from the intermediate coordinates to [phi, lam] and [x, y] are given by elliptic functions. The inverse of these projections are found by Newton's method with a suitable starting guess.
This implementation and notation closely follows Lee, with the following exceptions:
Lee | here | Description |
---|---|---|
x/a | xi | Northing (unit Earth) |
y/a | eta | Easting (unit Earth) |
s/a | sigma | xi + i * eta |
y | x | Easting |
x | y | Northing |
k | e | eccentricity |
k^2 | mu | elliptic function parameter |
k'^2 | mv | elliptic function complementary parameter |
m | k | scale |
zeta | zeta | complex longitude = Mercator = chi in paper |
s | sigma | complex GK = zeta in paper |
Minor alterations have been made in some of Lee's expressions in an attempt to control round-off. For example atanh(sin(phi)) is replaced by asinh(tan(phi)) which maintains accuracy near phi = pi/2. Such changes are noted in the code.
Definition in file src/TransverseMercatorExact.cpp.