[Proj] Discovery: libproj4 stmerc = French Gauss-Laborde projection

Oscar van Vlijmen ovv at hetnet.nl
Thu Jun 15 14:16:34 EDT 2006


> From: "Gerald I. Evenden" <gerald.evenden-verizon.net>

>> I checked my results with an on-line calculator from professor Schuhr,
>> based on the Klotz algorithms.
>> <http://gauss.fb1.fh-frankfurt.de/cgi-bin/cgi_gk>

> I finally cased out usage of the above site and agree that within the limits
> of 6 degrees from the central meridian lproj agrees to about .1mm.
...
> With the exception of northing, lproj seems to agree to the .1mm of the site's
> display precision within the 3.5 degree range of UTM.  This range is certain
> the practical limits of TM.

I ran a script, comparing the Dozier transverse Mercator with complex Newton
iteration, and tmerc.
Everything under IEEE-754 math; differences smaller than 1e-6 have probably
lost some significance.

cnewton iteration
wgs84 ellipsoid
lat0=0; lon0=0; x0=0; y0=0; k0=1;

Searching for the maximum differences in x and y per longitude, stepping 1
degree in latitude.

lon = 0.5...[0.5]...6...[1]...12...[3]...21
   lat = 0...[1]...89

lon-lon0 (deg), lat (deg) / max diff (m)
0.5, 0 / dxmax 2.4e-9
0.5, 84 / dymax 1.5e-8
1, 1 / dxmax 5.2e-8
1, 88 / dymax 3.9e-8
1.5, 0 / dxmax 4.1e-7
1.5, 89 / dymax 3.4e-8
2, 0 / dxmax 1.81e-6
2, 16 / dymax 5.9e-8
2.5, 0 / dxmax 5.85e-6
2.5, 16 / dymax 2.3e-7
3, 0 / dxmax 1.55e-5
3, 15 / dymax 7.3e-7
3.5, 0 / dxmax 3.61e-5
3.5, 15 / dymax 1.93e-6
4, 0 / dxmax 7.63e-5
4, 15 / dymax 4.55e-6
4.5, 0 / dxmax 0.000150
4.5, 15 / dymax 9.80e-6
5, 0 / dxmax 0.000277
5, 15 / dymax 0.0000197
5.5, 0 / dxmax 0.000489
5.5, 15 / dymax 0.0000373
6, 0 / dxmax 0.000831
6, 15 / dymax 0.0000676
7, 0 / dxmax 0.00218
7, 15 / dymax 0.000198
8, 0 / dxmax 0.00516
8, 14 / dymax 0.000518
9, 0 / dxmax 0.0113
9, 14 / dymax 0.00123
10, 0 / dxmax 0.0231
10, 14 / dymax 0.00273
11, 0 / dxmax 0.045
11, 14 / dymax 0.00571
12, 0 / dxmax 0.0836
12, 14 / dymax 0.0113
15, 0 / dxmax 0.433
15, 14 / dymax 0.0695
18, 0 / dxmax 1.758
18, 13 / dymax 0.326
21, 0 / dxmax 5.99
21, 13 / dymax 1.26

So, till a longitude difference of 6 degrees tmerc has better than
millimeter accuracy. Beyond 9 degrees no longer centimeter accuracy.

Additionally: libproj's mdist (meridional distance) is very accurate, about
machine precision, compared to a formula based on the elliptical integral.
But I can't recommend mdist for eccentricities larger than about 0.9.





More information about the Proj mailing list