[Proj] Exact transverse Mercator code [updated]

Charles Karney ckarney at sarnoff.com
Mon Jan 12 13:51:26 EST 2009

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

More information about the Proj mailing list