[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