Grandes diferencias entre los resultados de la transformación de datos de 7 parámetros

12

Estoy tratando de transformar un punto lat / lon WGS84

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

en tres paquetes de software diferentes (Proj4, GeoTrans y Leica GeoOffice), pero recibo grandes diferencias entre los resultados: ¡unos pocos cientos de metros en X e Y! Tenga en cuenta que estas variaciones solo aparecen con 7 parámetros, no con 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 + sur + unidades = 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

Captura de pantalla


Los resultados son respectivamente:

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

Creo que los 3 paquetes usan los mismos métodos matemáticos para la transformación de 7 parámetros (método Bursa-Wolf). ¿Cuál podría ser la causa de esta gran variación?

Jinete del viento
fuente
En Geo Office, ¿es el elipsoide IGN Clarke 1880 una definición personalizada? ¿Puedes publicar sus parámetros si es o no?
mkennedy
He recibido la captura de pantalla de Leica de otras personas y aún no lo sé.
WindRider

Respuestas:

9

Primero, Proj4 usa lo que EPSG llama la versión "Vector de posición" del método de 7 parámetros. Es posible que GeoTrans y Leica GeoOffice usen la otra versión que EPSG llamó "Marco de coordenadas". Ambos métodos son equivalentes, pero las matrices de rotación son diferentes y los signos de los parámetros angulares deben cambiarse.

En segundo lugar, gracias por proporcionar la captura de pantalla de la definición de transformación en Leica GeoOffice. La definición de Proj4 o esta definición se define incorrectamente. Los parámetros de definición Elipsoide A y Elipsoide B deben cambiarse. Actualmente, esta transformación se convierte de WGS84 a Congo60. En Proj4, tenga en cuenta que la opción es + towgs84, por lo que se define como FROM Congo60 TO WGS84. Para cambiar la dirección en la definición, cambie los signos de TODOS los parámetros. Consulte también la ayuda de GeoOffice y vea si el parámetro SF quiere las partes por millón de versiones o el valor de factor de escala ya convertido.

No sé sobre GeoTrans, ¿te refieres al software NGA? De todos modos, es de esperar que GeoOffice y Proj4 coincidan.

mkennedy
fuente
1
El valor Y (norte / latitud) podría deberse a que los valores Clarke 1880 no son exactamente iguales, pero 60 m parece demasiado grande.
mkennedy
1
@mkennedy: ¿puedes hacer los mismos cálculos que hice en Arcgis para ver si podemos alinearnos sin Leica?
AndreJ
1
@AndreJoost, claro. Usando las versiones de Esri de EPSG 1802 y 28232, obtuve este: 800230.139 norte: 9423133.413.
mkennedy
1
Intenté varias variantes para ver si podía reproducir el resultado de Leica y no pude. Mismo problema que encontraste: Y apagado en más de 60 m
mkennedy
1
Estoy seguro de que las soluciones Proj4 (y ArcGIS!) Son correctas. La fuente Proj4 está abierta. Aunque el código ArcGIS no está abierto, lo he tratado durante unos 15 años. También agregué una transformación personalizada a Geotrans 3.0 y obtuve el mismo resultado que Proj4 / ArcGIS.
mkennedy
4

Para proj4, los signos de los parámetros deben invertirse.

Ver esta página de definición:

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

No estoy seguro de dónde obtuviste tus valores.

QGIS define EPSG: 28232 Point Noire UTM 32S como:

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

y el resultado de los 7 parámetros no debería estar muy lejos de eso.


EDITAR

Con GDAL 1.10, obtengo los siguientes resultados:

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

Por lo tanto, a menos de 3 metros de distancia. Tenga en cuenta que E y S deben seguir los grados sin espacios en blanco.

Y, solo para el registro: establecer towgs84 en cero da como resultado:

800310.94   9422829.37 -109.32

mientras se transforma de Point Noire grados EPSG: 4262 a Point Noire UTM resulta en:

800311.21   9422892.49 0.00
AndreJ
fuente
Como puede ver, con los mismos parámetros hay una gran diferencia (> 600 m!) De Leica. Necesito saber por qué sucede esto y cómo obtener los mismos resultados. ¿Podría ser del método de conversión de / a coordenadas geocéntricas utilizado en Proj4? Tiene fórmulas muy complicadas. ¿Quizás Leica usa un método diferente?
WindRider
1
¿Leica ofrece conversión de 3 parámetros? ¿Y qué calculan para ello?
AndreJ