# [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
```