[PROJ] Transverse and oblique Mercator

Charles Karney charles.karney at sri.com
Fri Jan 17 08:08:53 PST 2020


The error in the Krueger series for the TM projection is primarily a
function of the distance from the central meridian.  So I recommend:

   * taking a series of points a given (geodesic) distance from the
     central meridian
   * computing the errors in the forward and reverse projections for each
     point
   * convert the error in the TM coordinates to a true distance (divide
     by the TM scale)
   * taking the maximum of the error (over all points + forward +
     reverse)
   * plotting this error as a function of the distance

This is how I produced Figure 2 on

https://geographiclib.sourceforge.io/html/transversemercator.html#tmfigures

To obtain exact results (against which to compare your results), I
recommend using the TransverseMercatorExact class in GeographicLib

https://geographiclib.sourceforge.io/html/classGeographicLib_1_1TransverseMercatorExact.html

In order to avoid round-off errors in the "exact" calculations, you will
need to compile GeographicLib to use a precision higher than double; for
details, see

https://geographiclib.sourceforge.io/html/highprec.html

   --Charles

On 2020-01-14 21:53, Pierre Abbat wrote:
> On Tuesday, January 14, 2020 9:14:33 AM EST Charles Karney wrote:
>> Transverse Mercator as implemented in PROJ is accurate to about 5
>> nanometers within 3900 km of the central meridian.  See Fig. 2 on
>>
>> https://geographiclib.sourceforge.io/html/transversemercator.html#tmfigures
>>
>> GeographicLib implements an "exact" version of transverse Mercator (in
>> terms of elliptic functions) which is accurate to 9 nanometers over
>> the whole ellipsoid.  However, this isn't included in PROJ.
> I'm thinking of using TMcoords.dat in Bezitopo to test the accuracy of the
> projection. What would be a good way to graph the results? I'd post the graphs
> that transmer makes, but the file is 5 MB, including several graphs for each
> ellipsoid.
> 
> Bezitopo computes the projection as follows:
> 1. Conformally project the ellipsoid to a sphere of equal volume.
> 2. Project the sphere transversely to a plane, giving Gauss-Schreiber.
> 3. Pass the resulting point as a complex number to a Fourier series and add it
> to the point.
> This seems to be what Krüger was doing before he computed the n-series, but I
> have trouble understanding the hundred-year-old math paper in German with
> archaic notation,
> 


More information about the PROJ mailing list