Огромные различия между результатами для 7-элементного преобразования данных

12

Я пытаюсь преобразовать точку широты / долготы WGS84

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

в трех разных программных пакетах (Proj4, GeoTrans и Leica GeoOffice), но я получаю очень большие различия между результатами - около нескольких сотен метров по X и Y! Обратите внимание, что эти вариации появляются только с 7 параметрами, а не с 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 + юг + юниты = m + no_defs


Геотранс

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

Скриншот


Результаты соответственно:

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

Я полагаю, что все 3 пакета используют одни и те же математические методы для преобразования с 7 параметрами (метод Бурса-Вольфа). Что может быть причиной этого огромного изменения?

WindRider
источник
Является ли эллипсоид IGN Clarke 1880 в Geo Office специальным определением? Можете ли вы опубликовать его параметры, есть ли это или нет?
Mkennedy
Я получил скриншот Leica от других людей и пока не знаю.
WindRider

Ответы:

9

Во-первых, Proj4 использует то, что EPSG называет «позиционным вектором» версии метода с 7 параметрами. Возможно, что GeoTrans и Leica GeoOffice используют другую версию, которую EPSG назвала «Координатный фрейм». Оба метода эквивалентны, но матрицы вращения различны, и знаки угловых параметров должны быть изменены.

Во-вторых, спасибо за предоставленный снимок экрана определения преобразования в Leica GeoOffice. Либо определение Proj4, либо это определение определено неправильно. Определяющие параметры Эллипсоид A и Эллипсоид B должны быть переключены. В настоящее время это преобразование преобразуется из WGS84 в Congo60. В Proj4, обратите внимание, что опция + towgs84, поэтому она определена как ОТ Congo60 TO WGS84. Чтобы изменить направление в определении, измените знаки ВСЕХ параметров. Также проверьте справку для GeoOffice и посмотрите, хочет ли параметр SF количество частей на миллион в версии или значение, уже преобразованное в масштабный коэффициент.

Я не знаю о GeoTrans - вы имеете в виду программное обеспечение NGA? В любом случае, мы надеемся, что вы сможете настроить GeoOffice и Proj4.

mkennedy
источник
1
Значение Y (север / широта) может быть связано с тем, что значения Clarke 1880 не совсем одинаковы, но 60 м кажется слишком большим.
Mkennedy
1
@mkennedy: можете ли вы сделать те же вычисления, что и в Arcgis, чтобы узнать, сможем ли мы выровнять без Leica?
AndreJ
1
@AndreJoost, конечно. Используя версии Esri EPSG 1802 и 28232, я получил восток: 800230,139, север - 9423133.413.
Mkennedy
1
Я попробовал несколько вариантов, чтобы увидеть, смогу ли я воспроизвести результат Leica и не смог. Та же проблема, что вы обнаружили: Y на 60+ м.
Mkennedy
1
Я уверен, что решения Proj4 (и ArcGIS!) Верны. Источник Proj4 открыт. Хотя код ArcGIS не открыт, я занимался им около 15 лет. Я также добавил пользовательское преобразование в Geotrans 3.0 и получил тот же результат, что и Proj4 / ArcGIS.
Mkennedy
4

Для proj4 знаки параметров необходимо поменять местами.

Смотрите эту страницу определения:

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

Я не уверен, откуда вы взяли свои ценности.

QGIS определяет EPSG: 28232 Point Noire UTM 32S как:

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

и результат 7 параметров не должен быть далеко от этого.


РЕДАКТИРОВАТЬ

С GDAL 1.10 я получаю следующие результаты:

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

Так что на расстоянии менее 3 метров. Обратите внимание, что E и S должны следовать градусам без пробелов.

И, просто для записи: установка towgs84 в ноль приводит к:

800310.94   9422829.37 -109.32

при преобразовании степеней Point Noire EPSG: 4262 в Point Noire UTM получается:

800311.21   9422892.49 0.00
Andrej
источник
Как видите, при тех же параметрах существует огромная разница (> 600 м!) От Leica. Мне нужно знать, почему это происходит и как получить те же результаты. Может ли это быть из метода преобразования из / в геоцентрические координаты, использованного в Proj4? У него очень сложные формулы. Может быть, Лейка использует другой метод?
WindRider
1
Leica предлагает 3-х параметрическое преобразование? И что они для этого вычисляют?
AndreJ