[Proj] Exact transverse Mercator code

strebe strebe at aol.com
Sun Feb 1 04:23:44 EST 2009

Mr. Karney:

I found your work very interesting. Thank you for the excellent depth.

I've posted here and image of yet another ellipsoidal transverse Mercator variation:

This one's properties are:
     Conformal (of course)
     Straight central meridian (of course)
     Parallels are equally spaced.

The importance of this last property is that the projection then may be squeezed through the rectifying latitude calculation as applied to the complex plane, and out pops Gauß-Krüger. I generated the map using the same eccentricity in your examples so that the 81st meridian (and 99th) will run into the singularities. The graticule is 9°. The projection is cropped at a distance of 4 arc seconds around the singularities; in point of fact the projection is infinite in extent.

There are many ways of developing this projection, since it simply requires a conformal projection onto the plane, treating the (x, y) coordinates as a single complex variable z, and then taking the inverse of the conformal projection acting upon z. This returns the x-axis to equal spacing of parallels, dragging the entire conformal plane along for the ride. In practice I use ellipsoidal stereographic as the simplest. Regardless of method, computing the inverse is onerous because it is not closed-form and not well-behaved around the singularities ±π(1±e)/2.

For reference I will call this the Wallis I transverse Mercator. The method is due to Dr. David E. Wallis.

In point of fact, you can reduce the complexity of the rectifying latitude calculation on the way to Gauß-Krüger by transforming coordinates from the Wallis 1 to their parametric co-latitudes. Thence the transformation to Gauß-Krüger needs nothing more than application of the elliptic integral of the second kind. I will call this transformation Wallis II. You can see it here:

This version, being finite, requires no artificial clipping.

I have not looked in detail at how our results compare for the Gauß-Krüger, though spot-checking several points showed we agree to sub-micrometer precision.

— daan Strebe

On Jan 12, 2009, at 10:51:26 AM, "Charles Karney" <ckarney at sarnoff.com> wrote:
I've posted an update to my implementation of the exact transverse
Mercator projection at


This is part of a small C++ library for converting between geographic,
UTM/UPS, and MGRS coordinates.

In addition, I've included some information about the transverse
Mercator projection at


This includes graticules for 3 different transverse Mercator
projections, information about continuing the projection around the
singular point, and an extended test set for the projection.

The library includes

  TransverseMercator -- projection using the Krueger series method
    extended to 6th-order which is accurate to 5 nm out to 30d from the
    central meridian.

  TransverseMercatorExact -- projection using Thompson/Lee's exact
    formulas which is accurate to 8 nm over the entire ellipsoid.  This
    is based on the code I posted on 2008-09-16.  However, it now deals
    with all the singular points, the selection of starting points for
    Newton's method has been improved, and there's an "extended" mode
    which lets you analytically continue the projection around the
    singular point.

  PolarStereographic -- projection using Snyder's formulas with Newton's
    method for the inverse in order to provide accuracy close to

  UTMUPS and MGRS -- conversion to and from UTM/UPS and MGRS.  MGRS is a
    potential replacement for the geotrans code.  It applies stable
    rules to the conversions and provides detailed error diagnostics.

  GeoConvert -- utility for conversion between geographic, UTM/UPS, and
    MGRS coordinates.

  TransverseMercatorTest -- utility for testing transverse Mercator

Reports of bugs, typos, gaps in the documentation, etc. are welcome.

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
Proj mailing list
Proj at lists.maptools.org

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.maptools.org/pipermail/proj/attachments/20090201/23c73414/attachment.htm 

More information about the Proj mailing list