Enorme Unterschiede zwischen den Ergebnissen für die 7-Parameter-Datentransformation

12

Ich versuche, einen WGS84 Lat / Lon-Punkt zu transformieren

11d42'32.10629" E 5d12'56.75371" S

in drei verschiedenen Software-Paketen (Proj4, GeoTrans und Leica GeoOffice), aber ich erhalte sehr große Unterschiede zwischen den Ergebnissen - um einige hundert Meter in X und Y! Beachten Sie, dass diese Variationen nur bei 7 Parametern auftreten, nicht bei 3.

Proj4

cs2cs + proj = longlat + ellps = WGS84 + datum = WGS84 + no_defs + to + proj = utm + zone = 32 + ellps = clrk80 + towgs84 = 178.3.316.7.131.5, -5.278, -6.077, -10.9792, -19.166 + Süd + Einheiten = m + no_defs


GeoTrans

Delta X 178.3 
Delta Y 316.7 
Delta Z 131.5 
Rot X -5.278 
Rot Y -6.077 
Rot Z -10.9792 
SF = -19.166 / 0.999980834 (0.000019166)

Leica GeoOffice

Bildschirmfoto


Die Ergebnisse sind jeweils:

  1. 800392 9422525
  2. 800306 9422840
  3. 800941 9422891

Ich glaube, alle drei Pakete verwenden die gleichen mathematischen Methoden für die 7-Parameter-Transformation (Bursa-Wolf-Methode). Was könnte die Ursache für diese enorme Variation sein?

Windreiter
quelle
Ist das Clarke 1880 IGN-Ellipsoid in Geo Office eine benutzerdefinierte Definition? Können Sie die Parameter veröffentlichen, ob dies der Fall ist oder nicht?
Mkennedy
Ich habe den Leica-Screenshot von anderen Leuten erhalten und weiß es noch nicht genau.
WindRider

Antworten:

9

Zunächst verwendet Proj4 die von EPSG als "Positionsvektor" bezeichnete Version der 7-Parameter-Methode. Möglicherweise verwenden GeoTrans und Leica GeoOffice die andere Version, die EPSG als "Koordinatenrahmen" bezeichnet. Beide Methoden sind äquivalent, aber die Rotationsmatrizen sind unterschiedlich und die Vorzeichen der Winkelparameter müssen geändert werden.

Zweitens vielen Dank, dass Sie den Screenshot der Transformationsdefinition in Leica GeoOffice bereitgestellt haben. Entweder ist die Proj4-Definition oder diese Definition falsch definiert. Die definierenden Parameter Ellipsoid A und Ellipsoid B sollten umgeschaltet werden. Derzeit wird diese Transformation von WGS84 in Congo60 konvertiert. Beachten Sie in Proj4, dass die Option + towgs84 ist, sodass sie als FROM Congo60 TO WGS84 definiert ist. Um die Richtung in der Definition zu ändern, ändern Sie die Vorzeichen ALLER Parameter. Überprüfen Sie auch die Hilfe für GeoOffice und stellen Sie fest, ob der SF-Parameter die parts per million-Version oder den bereits in einen Skalierungsfaktor umgerechneten Wert haben soll.

Ich weiß nichts über GeoTrans - meinst du die NGA-Software? Wie auch immer, hoffentlich können Sie GeoOffice und Proj4 zusammenbringen.

mkennedy
quelle
1
Der Y-Wert (Nordwert / Breitengrad) könnte daran liegen, dass die Clarke 1880-Werte nicht ganz gleich sind, aber 60 m zu groß erscheinen.
Mkennedy
1
@mkennedy: Kannst du die gleichen Berechnungen wie in Arcgis durchführen, um zu sehen, ob wir uns ohne Leica ausrichten können?
AndreJ
1
@ AndreJoost, sicher. Unter Verwendung der Esri-Versionen von EPSG 1802 und 28232 erhielt ich easting: 800230.139 northing: 9423133.413.
Mkennedy
1
Ich habe mehrere Varianten ausprobiert, um zu sehen, ob ich das Leica-Ergebnis reproduzieren konnte und nicht konnte. Dasselbe Problem, das Sie gefunden haben: Y off by 60+ m.
Mkennedy
1
Ich bin zuversichtlich, dass die Proj4- (und ArcGIS!) Lösungen korrekt sind. Die Proj4-Quelle ist geöffnet. Obwohl der ArcGIS-Code nicht geöffnet ist, beschäftige ich mich seit ungefähr 15 Jahren damit. Außerdem habe ich Geotrans 3.0 um eine benutzerdefinierte Transformation erweitert und das gleiche Ergebnis erzielt wie Proj4 / ArcGIS.
Mkennedy
4

Für proj4 müssen die Vorzeichen der Parameter vertauscht werden.

Siehe diese Definitionsseite:

http://www.spatialreference.org/ref/epsg/62826405/prettywkt/

GEOGCS["Pointe Noire (deg)",
    DATUM["Congo 1960 Pointe Noire",
        SPHEROID["Clarke 1880 (IGN)",6378249.2,293.4660212936269,
            AUTHORITY["EPSG","7011"]],
        TOWGS84[-178.3,-316.7,-131.5,5.278,6.077,10.979,3.953271276531849],
        AUTHORITY["EPSG","6282"]],
    PRIMEM["Greenwich",0.0,
        AUTHORITY["EPSG","8901"]],
    UNIT["degree",0.017453292519943295],
    AXIS["Geodetic latitude",NORTH],
    AXIS["Geodetic longitude",EAST],
    AUTHORITY["EPSG","62826405"]]

Ich bin mir nicht sicher, woher Sie Ihre Werte haben.

QGIS definiert EPSG: 28232 Point Noire UTM 32S als:

+proj=utm +zone=32 +south +a=6378249.2 +b=6356515 +towgs84=-148,51,-291,0,0,0,0 +units=m +no_defs

und das 7 parameter ergebnis sollte nicht weit davon entfernt sein.


BEARBEITEN

Mit GDAL 1.10 erhalte ich folgende Ergebnisse:

4326-proj-3 parameters:
cs2cs +init=epsg:4326 +to +proj=utm +zone=32 +south +a=6378249.2 +b=6356515 +towgs84=-148,51,-291,0,0,0,0 +units=m +no_defs
800232.21   9423131.96 -1.76
4326-proj-7 parameters from spatialrefrence.org:
cs2cs +init=epsg:4326 +to +proj=utm +zone=32 +south +a=6378249.2 +b=6356515 +towgs84=-178.3,-316.7,-131.5,5.278,6.077,10.979,3.953271276531849 +units=m +no_defs
800230.13   9423133.46 91.31
4326-proj-7 parameters from proj4 datum_shift.csv (EPSG:1802):
cs2cs +init=epsg:4326 +to +proj=utm +zone=32 +south +a=6378249.2 +b=6356515 +towgs84=-178.3,-316.7,-131.5,5.278,6.077,10.979,19.166 +units=m +no_defs
800230.13   9423133.40 -5.72

Also weniger als 3 Meter voneinander entfernt. Beachten Sie, dass E und S den Graden ohne Leerzeichen folgen müssen.

Und nur zur Veranschaulichung: Wenn Sie towgs84 auf Null setzen, erhalten Sie:

800310.94   9422829.37 -109.32

Beim Umwandeln von Point Noire-Grad EPSG: 4262 in Point Noire UTM werden folgende Ergebnisse erzielt:

800311.21   9422892.49 0.00
AndreJ
quelle
Wie Sie sehen, gibt es bei gleichen Parametern einen großen Unterschied (> 600 m!) Zu Leica. Ich muss wissen, warum dies passiert und wie ich die gleichen Ergebnisse erzielen kann. Könnte es sich um die in Proj4 verwendete Methode zur Konvertierung von / in geozentrische Koordinaten handeln? Es hat sehr komplizierte Formeln. Vielleicht benutzt Leica eine andere Methode?
WindRider
1
Bietet Leica eine 3-Parameter-Konvertierung an? Und was berechnen sie dafür?
AndreJ