[Proj] Transverse Mercator algorithm
Gerald I. Evenden
geraldi.evenden at gmail.com
Wed Sep 3 14:50:14 PDT 2008
On Wednesday 03 September 2008 4:59:53 pm Charles Karney wrote:
> >> There is, however, one noteworthy difference. The Swedish algorithm
> >> is only approximately conformal, whereas the Finnish method is
> >> conformal (to round-off). This is easily remedied by substituting
> >> the exact formula for the conformal latitude (as is done in the
> >> Finnish report).
> >
> > In general, I am not that interested in answers to machine precision
> > merely to about 0,0001mm or 0,001mm would be acceptable.
>
> Fair enough. Nevertheless, it does seem worth preserving the conformal
> property to machine precision -- especially when it can be done so
> easily. (As an example of why this is useful, you can compute accurate
> transformations from one UTM zone to the neighboring one which rely on
> the fact that the transformation is conformal. A 4-point fit gives 2um
> accuracy over a 10km x 10km area.)
I am not exactly sure that I follow what you are doing above. In one mental
image I have of your description I feel you would run afoul of scale error
due to the non-equivalent distance that the particular area is away from the
respect CM of the two zones.
I really need a step-by-step description of your operation.
> >> For my purposes, the exact method serves chiefly to gauge the
> >> accuracy of the approximate method. In particular, the error in the
> >> Finnish and
> >
> > That is a useful and valuable asset.
> >
> >> The exact method and the derivations of the various series
> >> approximations are all done in macsyma. You'll probably need to have
> >> macsyma installed if you want to use these.
> >
> > I have maxima and wxmaxima on my machine which seem to be related some
> > time ago. It is my understanding that macsyma is a commercial product
> > and thus outside my pocketbook. I do everything on the cheap. ;-) It
> > allows me to make everything I do free.
>
> No need to pay. I use the free SourceForge version.
I generally rely on the rpm method of download for my kubuntu (also Debain)
system and so far I have not located and rpm for macsyma. Doing a raw
compile can be a bit of a hassle---especially on large bits of software---and
I like to avoid it.
> It'll take a day or so to make my macsyma code for the exact transverse
> Mercator transformation presentable. In the meantime, perhaps you can
> verify that your version of maxima functions the way I expect...
I will try this. Back to you later on this.
> Download
>
> http://charles.karney.info/geographic/ellint.mac
>
> Start maxima, and at the prompts, enter:
>
> load("ellint.mac")$
> ei(0.5b0+%i*0.3b0,0.1b0);
>
> You should see something like:
>
> $ maxima
> Maxima 5.15.0 http://maxima.sourceforge.net
> Using Lisp CLISP 2.43 (2007-11-18)
> Distributed under the GNU Public License. See the file COPYING.
> Dedicated to the memory of William Schelter.
> The function bug_report() provides bug reporting information.
> (%i1) load("ellint.mac")$
> (%i2) ei(0.5b0+%i*0.3b0,0.1b0);
> (%o2) 2.96791299781263464924153153342948346508216221524596248948086\
> 569795186664726317202946771827533813431304024592226608707871b-1 %i +
> 4.99982389810326059482523070296819795538149014362475838573470325689\
> 693122595700138979618859431972907386511841619290335085b-1
> (%i3)
>
> If you get the same or equivalent output then you should be in good
> shape.
Glory be! I looked at the first couple and last couple of digits and they
matched
(%i1) load("ellint.mac");
(%o1) ellint.mac
(%i2) ei(0.5b0+%i*0.3b0,0.1b0);
(%o2)
2.9679129978126346492415315334294834650821622152459624894808656979518666\
4726317202946771827533813431304024592226608707871b-1 %i +
4.999823898103260594\
825230702968197955381490143624758385734703256896931225957001389796188594319729\
07386511841619290335085b-1
> > The math presented by Thompson and Lee seem quite at odds with several
> > of the expanded range methods in that they express the problem in
> > Jacobian functions. Is there a parallel of have you looked into their
> > methods?
>
> The Finnish algorithm is related. The series relating [xi,eta] and
> [xi',eta'] are just expansions (in eccentricity) of the transformation
> between two of the TM projections described on p. 92 of Lee's 1976
> monograph (namely what he calls the spheroidal projection [xi',eta'] and
> the Gauss-Krueger projection [xi,eta]).
What really held me hostage on Lee's paper were the two equations 10 and 11
and I was not sure what to do at that point so I decided not to waste any
more aspirin. Duh on my part. After messing around with Dozier's method I
got used to the Jacobians and ran into plenty of support software like the
GSL library.
--
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