[Proj] Switch utm from tmerc to etmerc

Charles Karney charles.karney at sri.com
Tue Oct 6 10:19:10 EST 2015


Reposted from

   https://github.com/OSGeo/proj.4/issues/316

Last year, NGA updated its recommendations on the algorithms to use for
UTM from tmerc to etmerc (in proj.4's terminology). I recommend that
proj.4 follow suit, i.e., move the definition of utm from PJ_tmerc.c to
proj_etmerc.c.

I took a look at doing this and my initial attempts were stymied by a
lack of knowledge about the macros that proj.4 uses to construct code.
So it would be better is someone else could tackle this. Any
volunteers? I'd be happy to help in checking out the result.

Background:

The NGA paper is "The Universal Grids and the Transverse Mercator and
Polar Stereographic Map Projections"

http://earth-info.nga.mil/GandG/publications/NGA_SIG_0012_2_0_0_UTMUPS/NGA.SIG.0012_2.0.0_UTMUPS.pdf

The error in tmerc is less then 1 mm if you stick to the UTM zones.
However there's interest in extending UTM well beyond the 6 degree
zones. For example the point 83N 0E is less than 400km from the center
of zone 35n. So the scale of 35n UTM projection 1.0011 at this point.
However

echo 0 83 | cs2cs +proj=latlong +datum=WGS84 +to +proj=utm +zone=35 
+datum=WGS84 -f %.6f
echo 0 83 | cs2cs +proj=latlong +datum=WGS84 +to +proj=tmerc 
+datum=WGS84 +k=0.9996 +lon_0=27 +x_0=500000 -f %.6f

both return 145723.827486, 9300924.850170, while

echo 0 83 | cs2cs +proj=latlong +datum=WGS84 +to +proj=etmerc 
+datum=WGS84 +k=0.9996 +lon_0=27 +x_0=500000 -f %.6f

returns the correct result 145723.870553, 9300924.845226; so tmerc and
utm are in error by about 43 mm.

   --Charles


More information about the Proj mailing list