[Proj] Switch utm from tmerc to etmerc
Charles Karney
charles.karney at sri.com
Tue Oct 6 08:19:10 PDT 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