[Proj] Similar datum transforms for MGI differ too much.

Mikael Rittri Mikael.Rittri at carmenta.com
Wed Feb 18 05:48:22 EST 2009

here is small mystery.  We are trying to use the MGI datum in Slovenia 
(where the datum seems to be known as D48).  

First, we relied on the Sloven National Grid at http://spatialreference.org/ref/epsg/3787 , 
where the OGC WKT says 
   TOWGS84[ 577.326, 90.129, 463.919, 5.137, 1.474, 5.297, 2.4232]

However, after a while we realized that these numbers come from EPSG's 

   "MGI to WGS 84 (3)", code 1618, Area of Use: Austria, Accuracy: 1.5 m.

So, the area of use is wrong, but since Slovenia is adjacent to Austria, 
we hoped that the this transform would be fairly good in Slovenia, too. 

But we found large differences, compared to transforms designed for Slovenia. 
Among many others, EPSG gives

   "MGI to WGS 84 (5)", code 1786. Area of Use: Slovenia - onshore and offshore. Accuracy 1 m.
   "MGI to Slovenia 1996 (3)", code 15984. Area of Use: Slovenia - east of 14°30'E and north of 46°03'N. Accuracy: 0.5 m.
(where Slovenia 1996 is a densification of ETRS89, so it should differ less than 0.5 m from WGS84.)

We have tested these three transforms on a point on the Austrian-Sloven border, 
where all three transforms should be applicable.
The test point is at 15°E, 46.65°N.  

Testing Austrian transform "MGI to WGS 84 (3)":
C:\Program Files\FWTools2.2.8>cs2cs +proj=latlong +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +to +proj=latlong +datum=WGS84
15dE 46.65dN
14d59'56.742"E  46d38'58.686"N 46.844

Testing transform for entire Slovenia "MGI to WGS 84 (5)":
C:\Program Files\FWTools2.2.8>cs2cs +proj=latlong +ellps=bessel +towgs84=426.9,142.6,460.1,4.91,4.49,-12.42,17.1 +to +proj=latlong +datum=WGS84
15dE 46.65dN
14d59'42.65"E   46d38'58.722"N 46.786

Testing transform for northeast Slovenia "MGI to Slovenia 1996 (3)" (remembering to negate the rotation angles):
C:\Program Files\FWTools2.2.8>cs2cs +proj=latlong +ellps=bessel +towgs84=464.939,-21.478,504.497,-0.403,4.228747,-9.954942,12.795378 +to +proj=latlong +datum=WGS84
15dE 46.65dN
14d59'42.67"E   46d38'58.724"N 47.622

I have used Ed Williams's Great Circle Calculator, http://williams.best.vwh.net/gccalc.htm , 
to determine that that the distance from the first result to the second is 299.7 meters, 
and the course from the first to the second is 270.2 degrees. 
The distance from the second to the third, though, is only about 0.4 m.

Now, since the accuracies of these transforms are 1.5 m, 1 m, and 0.5 m, according to EPSG,
and since all three transforms are applicable to my test point (as far as I understand), 
it seems mysterious that the difference can be 299.7 m between the Austrian transform and the 
Sloven transforms.  I understand that "accuracy" usually does not mean the maximal possible 
error, but even so, I wouldn't have expected a difference of more than 10 meters or so.
And to my mind, the course of 270.2 degrees is too near 270 degrees, for a random difference. 

Have I made a mistake when testing these transforms?  Or could there be an error in 
the EPSG entry "MGI to WGS 84 (3)" for Austria?  

I can add that the Sloven transforms seem to agree with Sloven test data from EuroGeographics, 
http://crs.bkg.bund.de/crs-eu/ . And the Austrian transform agrees with Austrian test data 
at the same site.  But if these test data were generated by using the published transforms, 
instead of being observed on the ground, then they will not show if a transform is wrong, 
of course.

Mikael Rittri
Carmenta AB

More information about the Proj mailing list