Ogromne różnice między wynikami dla 7-parametrowej transformacji układu odniesienia

12

Próbuję przekształcić punkt WGS84 lat / lon

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

w trzech różnych pakietach oprogramowania (Proj4, GeoTrans i Leica GeoOffice), ale otrzymuję bardzo duże różnice między wynikami - około kilkuset metrów w X i Y! Zauważ, że te odmiany pojawiają się tylko z 7 parametrami, a nie z 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 + południe + jednostki = 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

Zrzut ekranu


Wyniki są odpowiednio:

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

Wierzę, że wszystkie 3 pakiety używają tych samych metod matematycznych dla transformacji 7-param (metoda Bursa-Wolfa). Co może być przyczyną tej ogromnej różnorodności?

Powietrzny jeźdźca
źródło
Czy w Geo Office elipsoida Clarke 1880 IGN jest niestandardową definicją? Czy możesz opublikować jego parametry, czy to jest, czy nie?
mkennedy
Dostałem zrzut ekranu Leiki od innych osób i jeszcze nie wiem.
WindRider

Odpowiedzi:

9

Po pierwsze, Proj4 korzysta z tego, co EPSG nazywa „wersją wektora pozycji” metody 7-parametrowej. Możliwe, że GeoTrans i Leica GeoOffice używają innej wersji, którą EPSG nazywa „Ramką współrzędnych”. Obie metody są równoważne, ale macierze obrotu są różne i znaki parametrów kątowych muszą zostać zmienione.

Po drugie, dziękuję za udostępnienie zrzutu ekranu definicji transformacji w Leica GeoOffice. Definicja Proj4 lub ta definicja jest niepoprawnie zdefiniowana. Parametry definiujące Ellipsoid A i Ellipsoid B powinny zostać przełączone. Obecnie transformacja ta przekształca się z WGS84 w Congo60. Zauważ, że w Proj4 opcja jest + towgs84, więc jest zdefiniowana jako FROM Congo60 DO WGS84. Aby zmienić kierunek w definicji, zmień znaki WSZYSTKICH parametrów. Sprawdź także pomoc dla GeoOffice i sprawdź, czy parametr SF chce części na milion wersji, czy też już przekonwertowanej na współczynnik skali.

Nie wiem o GeoTrans - masz na myśli oprogramowanie NGA? W każdym razie, mam nadzieję, że uda ci się dopasować GeoOffice i Proj4.

Mkennedy
źródło
1
Wartość Y (północ / szerokość geograficzna) może wynikać z tego, że wartości Clarke 1880 nie są takie same, ale 60 m wydaje się zbyt duże.
mkennedy
1
@mkennedy: czy możesz wykonać te same obliczenia, które zrobiłem w Arcgis, aby sprawdzić, czy możemy wyrównać bez Leiki?
AndreJ
1
@AndreJoost, jasne. Używając wersji Esri EPSG 1802 i 28232, uzyskałem wschód: 800230.139 północ: 9423133.413.
mkennedy
1
Wypróbowałem kilka wariantów, aby zobaczyć, czy mogę odtworzyć wynik Leiki i nie byłem w stanie. Ten sam problem, który znalazłeś: Wyłączone o 60+ m.
mkennedy
1
Jestem przekonany, że rozwiązania Proj4 (i ArcGIS!) Są poprawne. Źródło Proj4 jest otwarte. Chociaż kod ArcGIS nie jest otwarty, zajmowałem się nim przez około 15 lat. Dodałem również niestandardową transformację do Geotrans 3.0 i uzyskałem taki sam wynik jak Proj4 / ArcGIS.
mkennedy
4

W przypadku proj4 znaki parametrów muszą zostać odwrócone.

Zobacz tę stronę definicji:

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"]]

Nie jestem pewien, skąd masz swoje wartości.

QGIS definiuje EPSG: 28232 Point Noire UTM 32S jako:

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

a wynik 7 parametrów nie powinien być od tego daleki.


EDYTOWAĆ

Dzięki GDAL 1.10 otrzymuję następujące wyniki:

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

Czyli mniej niż 3 metry od siebie. Zauważ, że E i S muszą podążać za stopniami bez odstępów.

I dla przypomnienia: ustawienie towgs84 na zero powoduje:

800310.94   9422829.37 -109.32

podczas przekształcania ze stopni Point Noire EPSG: 4262 na Point Noire UTM powoduje:

800311.21   9422892.49 0.00
AndreJ
źródło
Jak widać, przy tych samych parametrach istnieje ogromna różnica (> 600 m!) Od Leiki. Muszę wiedzieć, dlaczego tak się dzieje i jak uzyskać takie same wyniki. Czy może to wynikać z metody konwersji współrzędnych geocentrycznych zastosowanej w Proj4? Ma bardzo skomplikowane formuły. Może Leica używa innej metody?
WindRider
1
Czy Leica oferuje konwersję 3 parametrów? A co oni dla tego obliczają?
AndreJ