[Proj] Transverse Mercator algorithm

Charles Karney ckarney at sarnoff.com
Tue Sep 2 23:57:14 EDT 2008

Gerald I. Evenden wrote:
 > At the moment I have three TMs which produce equivalent accuracy 
except in
 > the "problem area" where longitude approaches 90 degrees from the 
 > meridian on the equator.  If you procedures produce finite values at
 > lat=0,lon=90 I would very much like to see your efforts, especially 
in terms
 > of math development.
 > You mention elliptic integrals but I did not see them in the pdf or 
at least
 > did not recognize them.  Is  the math complete in the pdf? It seems 
like it
 > is not. Of course the language is a barrier for me but the math is 
 > understandable.
 > A very quick scan of the pdf file makes me think the math is similar
 > to what I call the Swedish version and I believe they made comment
 > about their version being used in Finland (someone did ;-) ).  But
 > their method fails at 0,90.

Assuming that the "Swedish version" you refer to is


then, indeed, the Finnish report I used is very similar.  There is,
however, one noteworthy difference.  The Swedish algorithm is only
approximately conformal, whereas the Finnish method is conformal (to
round-off).  This is easily remedied by substituting the exact formula
for the conformal latitude (as is done in the Finnish report).  I
implement the inverse of this transformation by Newton's method which
converges quickly to round-off.

The Finnish method has only one essential approximation, namely,
substituting series expansions (accurate to e^8) for the transformations
between conformal and rectifying latitudes.  As you point out, there is
no derivation for these series expansions in the report.  However, I
have derived these expansions and extended them to e^16.  The math here
is standard undergraduate or first year graduate level stuff and I used
macsyma to do the tedious parts of the algebra.  In addition, I've
derived accurate expansions for the convergence and scale.

Any method based on such expansions will fail at lat=0, lon=90*(1-e)
because of a singularity in the complex plane in the transformation from
geodetic to conformal latitudes.  (To be precise the inverse
transformation becomes multi-valued.)  The singularity is mild but it
causes series expansions to fail.  My slower "exact" method can navigate
around the singularity readily enough.  In particular, there is no
singularity at 0N 90E.  For what it's worth, the result here is

     easting  = 25953592.845413590 m
     northing =  9997964.943020998 m
     convergence = 90 deg
     scale    =  18.40462279198669

WGS84: a = 6378137 m, f = 1/298.257223563, k0 = 0.9996, false easting =
false northing = 0 (i.e., 0N 0E -> 0,0).

For my purposes, the exact method serves chiefly to gauge the accuracy
of the approximate method.  In particular, the error in the Finnish and
Swedish methods is 1mm if the distance to 0N 90E is 36 deg, 1m if the
distance is 20 deg, and 1km if the distance is 10 deg.  I.e., they
"fail" well before 0N 90E is reached.  Including additional terms in the
series will probably not change this appreciably (instead it will
increase the accuracy where it's already pretty good).

The exact method and the derivations of the various series
approximations are all done in macsyma.  You'll probably need to have
macsyma installed if you want to use these.

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