[Proj] Transverse Mercator algorithm

Gerald I. Evenden geraldi.evenden at gmail.com
Fri Sep 5 16:04:12 EDT 2008

On Friday 05 September 2008 2:09:26 pm Charles Karney wrote:
> Gerald I. Evenden wrote:
> > 1. Of the etmerc, ktmerc and ftmerc extended range versions of TM,
> > etmerc appears to be the winner in precision as one approaches 90,0.
> > When I figure out how to get maxima to generate a grid of numbers I
> > will try to make a contour plot of precision comparisons.
> Maxima uses algol-like control statements.  So try
> writefile("output.txt")$
> for ilat:0 step 1 thru 900 do
>   for ilon:0 step 1 thru 900 do
>     ( lat:bfloat(ilat/10),
>       lon:bfloat(ilon/10),
>       res:tm(lat,lon),
>       print(float(lat),float(lon),float(res[1]),float(res[2])) )$
> closefile()$
> Warning: print(-1); yields "- 1", so you might need to run output.txt
> thru a sed script to eliminate the space before reading the data into
> another program.

Thank-you.  The manual for maxima is about a 2-year course!

BTW: have you determined scale error internal to the procedure.  lproj can run 
an option which will return k for the given point.  It is very useful when 
designing new projection areas.  For example, if the longitude width of 
a "zone" were increased, the k_0 factor should also be changed so the scale 
error at the margins somewhat matches the error at the CM so that the overall 
scale error is minimal.

Large scale error is the major reason for *not* using TM for large longitude 
extents.  It is about 20% at 40 degree longitude.  For example, it is easy to 
design a secant Lambert Conformal Conic of the Gulf of Mexico/Carribean that 
has easily half the scale error of a TM covering the same region.
The whole religious complexion of the modern world is due
to the absence from Jerusalem of a lunatic asylum.
-- Havelock Ellis (1859-1939) British psychologist

More information about the Proj mailing list