[Proj] Transverse Mercator algorithm
Charles Karney
ckarney at sarnoff.com
Thu Sep 4 14:12:07 PDT 2008
Here are reasonably accurate formulas for meridian convergence and scale
for the transverse Mercator projection.
Input:
phi = geodetic latitude (radians)
l = longitude difference from central meridian (radians)
ep2 = e^2/(1-e^2)
Output:
gamma = meridian convergence (radians)
k = scale (assuming scale on central meridian = 1)
double
c = cos(phi),
s = sin(l),
c2 = c * c,
s2 = s * s,
d = 1 - s2 * c2,
// Accurate to order ep2^2
carg = 1 + c2 * c2 * s2 / d * ep2 *
(1 + c2 / (3 * d * d) *
(2 - s2 * (c2 * ((4 * c2 - 1) * s2 - 9) + 8)) * ep2),
// Accurate to order ep2
cabs = 1 + c2 * c2 * s2 * ((c2 - 2) * s2 + 1) / (2 * d * d) * ep2;
double gamma = atan2(sin(phi) * s * carg, cos(l));
double k = cabs/sqrt(d);
For more accuracy see
http://charles.karney.info/geographic/UTM-fi.txt
which also contains higher order terms for the computation of the
forward and reverse projection.
--
Charles Karney <ckarney at sarnoff.com>
Sarnoff Corporation, Princeton, NJ 08543-5300
URL: http://charles.karney.info
Tel: +1 609 734 2312
Fax: +1 609 734 2662
More information about the Proj
mailing list