[Proj] Transverse Mercator algorithm with good accuracy/speed trade-off?

Mikael Rittri Mikael.Rittri at carmenta.com
Thu May 22 05:04:01 EDT 2008

I am thinking about extending the accuracy of our Transverse Mercator. But is it worth the trouble?  

tmerc is fast, but inaccurate far from the central line. 
I have implemented a quite exact algorithm, but it was much slower than tmerc. Is there a happy compromise? 

Long-winded motivation:
The tmerc of Proj4 is efficient. But it has millimeter accuracy only out to 6° of longitude from the central meridian [Oscar van Vlijmen, <http://lists.maptools.org/pipermail/proj/2006-June/002316.html]. 

Sometimes, a Transverse Mercator is used farther away: Sweden uses UTM zone 33 (lon_0 = 15°E) for the whole country, and the eastmost point Kataja is at 65°42'N, 24°10'E.  I think Norway does the same, with the same projection, and its eastmost point Hornøya is at 70°22'N, 31°10'E.  I have found the following errors for tmerc:
  errors   forward   inverse 
  Kataja   0.25 mm     16.5 mm
  Hornøya  7.51 mm   2715   mm 

The local scale factor is only 1.0018 at Kataja and 1.0040 at Hornøya, so one can argue that ellipsoid formulas should indeed be used here, rather than spherical formulas. Snyder writes that ellipsoid formulas can be motivated to some 10° to 15° of arc distance from the central meridian [Map projections: A working manual, page 48].
Although Hornøya is 16°10' of longitude away from lon_0, it is only 599 km or 5°24' of arc distance away, because of the high latitude: cos(70°22')=0.336. 
     So, I am slightly worried about these errors (even though there are other Swedish and Norwegian projections intended for local use at detailed scales).  
     A more trivial reason for higher accuracy is that I would like to make our geographic toolkit more foolproof. 
The mismatch between forward and inverse can cause problems.

Oscar van Vlijmen wrote
> At least three geodetic services use routines approximating the exact 
> TM better than tmerc, DMA/NIMA/NGA and the like:
> 1) French IGN 
>  <http://www.ign.fr/telechargement/MPro/geodesie/CIRCE/NTG_76.pdf>
> 2) Swedish Lantmäteriet
>  <http://www.lantmateriet.se/upload/filer/kartor/geodesi_gps_och_detaljmatning/geodesi/Formelsamling/Gauss_Conformal_Projection.pdf>    
> 3) Finnish JHS    
>  <http://www.jhs-suositukset.fi/intermin/hankkeet/jhs/home.nsf/files/JHS154/$file/JHS154.pdf>
> Each follow a slightly different route, but the 
> differences in the results are small.

(The Finnish report has been moved, and is now on

I have implemented the Swedish proposal[*], which was not too difficult, and I got it to agree with Oscar van Vlijmen's test point. But my implementation is about 4.5 times slower than tmerc in the forward direction, and about 15 times slower in the inverse direction. I doubt that I can improve the speed much. 

So, finally, I wonder if there is some happy compromise: 
an algorithm that is somewhat more accurate than tmerc, but not too much slower?

Best regards,

PS: I noted that Clifford Mugnier has implemented a more accurate version of the tmerc/Snyder formulas, giving millimeter accuracy 24 degrees away, based on US Army Tech. Manual TM 5-241-10, "Universal Transverse Mercator Grid: Extension of zone  to zone transformation tables", 1962, 642 pages.
But as I understood it, this version is cumbersome to implement (and the report is quite hard to find). 

[*] footnote: the Swedish note gives no literature references, but I have learned from Lars E. Engberg that the formulas come from 
  L. Krüger's book:
  Konforme Abbildung des Erdellipsoids in der Ebene,
  Veröffentlichung des Könglich Preuzischen Geodätischen Institutes,
  Neue Folge 52, Leipzig 1912.
The formulas also appear in
  Kurt Bretterbauer:
  Gebrauchsformeln für die UTM-Projektion nach Krüger,
  Österr. Zeitschr. für Vermessung und Geoinformation, 3/2003;
  abstract in German and English at http://www.ovg.at/index.php?id=222.

Mikael Rittri
Carmenta AB
Box 11354
SE-404 28 Göteborg
Visitors: Sankt Eriksgatan 5
Tel: +46-31-775 57 37
Mob: +46-703-60 34 07
mikael.rittri at carmenta.com

More information about the Proj mailing list