Смена датума

0 голосов
спросил 16 Май, 06 от geologic (39,860 баллов) в категории Программные продукты Esri
Пролистал все что есть по вопросу на сайте: вроде бы тем много, но звучит в них примерно одно и то же: 1) ошибка за счет датума порядка 100 метров 2) датум при переходе от WGS к СК-42 надо корректировать 3) Projection Utility с датумом работает неправильно, и лучше применять отдельное приложение datum.avx, задавая параметры преобразоваания вручную. Проработал вопрос в рамках ArcView, в общем-то все получилось, но... хочется поделиться своим мнением и задать вопрос знатокам уже о деталях преобразования.

Поделиться вот чем: как известно, Projection Utillity мало того, что содержит явные недоделки, но еще и ошибочные параметры СК-42. Изменить их сложно, и, получается, пользоваться продуктом для смены датума нельзя. По крайней мере, из WGS в другой датум преобразования НЕ происходит.

В datum.avx, прилагаемый как образец от ESRI, можно вставить любые параметры преобразования. Что интересно, не раз в форуме звучало, что datum.avx некорректно работает, но ничего более конкретного. В связи с этим рекомендовалась исправленная версия от Янко Чукански. Мне эта некорректность не встретилась, но тем не менее опробовал разные версии avx... Параметры брал те, что используются в GPS. Для сопославления произвел эти самые преобразования еще и GPS-программой DNR Garmin, по методике GIS-Lab. Кому интересно, там детальная дискуссия о источниках параметров, в т.ч. ошибочных, алгоритмах расчета и т.п. Результаты сопоставления на рисунке. Для простоты показаны только преобразованные варианты линии с большим увеличением, а сам исходный трек расположен на 100 примерно метров западнее, как и должно быть.

image

Результат получился неожиданный: преобразования, сделанные модулем datum.avx, совпадают с преобразованиями, сделанными DNR Garmin! Я-то ожидал заметного расхождения... всё-таки разные разработчики... Тем не менее разница не более полметра, да и то при применении для datum.avx округленных параметров преобразования. Когда ввел более точные, дробные, как и в DNR, то остались жалкие первые миллиметры - на рисунке их не видно, эти линии совпадают. Похоже, алгоритм преобразования Молоденского запрограмммирован и в AV и в DNR адекватно. Этой адекватности, похоже, можно доверять - пересчет датума непосредственно прибором GPS дает те же результаты - а это уже третий разработчик. 
 
Также пока не заметил никаких ошибок в своей версии datum.avx - немного неудобно, но и только, работает стабильно. Этого нельзя сказать про последнюю версию Янко Чукански, datum2.avx, выложенную на его сайте - как видно, она "ошибается" почти на два метра: похоже, в этой версии Янко перестарался и алгоритм "задел" ненароком. Впрочем, его первый вариант, datum1.avx преобразует правильно. Найти его удалось не сразу, большое спасибо S.E.

Пара слов насчет ArcMap. Там много разных алгоритмов преобразоваания датума, есть и Молоденского, но... все они выдают результат, расположенный примерно на 10 метров "выше" рисунка. Это настораживает: ни о каком совпадении с алгоритмами Garmin в таком случае говорить не приходится... Впрочем, в AM я не успел протестировать все версии, только восьмерку, да и то бегло.

И наконец, вопрос: я в общем-то только принялся разгребать эту проблему, наверняка кто-то много работал с датумом: коллеги, какой софт, методы применяете для AV: неужели используются только вышеперечисленные средства, или что-то еще? Свои наработки? Как-то это все не выглядит удобно, с ходу хочется брать и улучшать (однако пример Чукански настораживает :)

Другой вопрос: как быть с Arcmap? Там по умолчанию стоит совсем не Молоденский, а геоцентрический метод преобразования датумов. Кто-нибудь изучал эти методы преобразования, их разброс, пробовал что-либо из штатного набора или создавал свои? Какие мнения насчет AM кроме того, что "там все классно"?

48 Ответы

0 голосов
ответил 17 Май, 06 от S.E. (12,840 баллов)
С этими датумами вопрос интересный. Я чуть позже добавлю некоторые размышления. Хочу кое-что проверить....
0 голосов
ответил 18 Май, 06 от S.E. (12,840 баллов)

Вот есть такая программа - GPSMapEdit, с помощью которой готовят карты для Гарминов. Она поддерживает импорт шейпов, при этом можно указать из какого датума эти шейпы с тем, чтобы программа пересчитала их в WGS-84. При пересчете указано, что используются ГОСТовские поправки. Я поинтересовался у автора программы Константина Галичского, каким образом производится пересчет датумов. Он мне ответил, что использует преобразования Хелмерта.

Теперь проделаем эксперимент. Имеем точку в Пулковском датуме. С помощью datum1.avx пересчитаем координаты в WGS-84 двумя способами - на поправках ГОСТА и поправках, которые использует ESRI. Точки "отъехали " почти на запад примерно на 100 м и разница между ними составляет порядка 17-18 м. Добавляем эти точки в GPSMapEdit, указав, что система WGS-84 и пересчитывать ее не надо. Точки высадились на карту с той же разбежкой - порядка 17-18 м. А теперь добавим исходную точку, указав, что необходимо выполнить пересчет из Пулково в WGS. Так вот эта последняя точка высадилась между первыми двумя, ближе к "гостовской". То есть преобразование Хелмерта дает некий промежуточный вариант. Насколько он правильный судить не берусь, но вполне вероятно, что он максимально приближен к истине.

А вот еще информация к размышлению. Я делал для GPS небольшую карту, где была километровая сетка. Все данные делались в Пулковском датуме и преобразования в WGS-84 были отданы на откуп GPSMapEdit. Так вот, после загрузки карты в GPS наводим курсор на пересечение километровых линий и видим, что координаты Гаусса-Крюгера отличаются где-то метров на 17 от того, что должно быть. При этом поправки заведены в прибор ГОСТовские. Меняем их на поправки ESRI (это я условно называю их поправками ESRI, они используются во многих приложениях, например в Ози). Наезжаем курсором на пересечение километровок  и видим в приборе, что координаты соответствуют карте, то есть кратные 1000 м. Погрешность там совсем небольшая - 1-2 м. Это для меня вообще странно было. Но тем не менее факт.

Вообще, выбор софта для преобразования датумов - это в конечном счете выбор метода преобразования и соответствующих поправок. Если используются одинаковые алгоритмы, результаты будут сходиться, но будут ли они истинными? Вот вопрос. Главная беда на мой взгляд - это то, что нет каких-то жестких данных, от которых можно было бы оттолкнуться и сравнивать результаты различных преобразований. То есть, что взять за эталон??? Какие поправки использовать??? Большинство товарищей склоняется к ГОСТовским поправкам. Официальный документ все ж таки. Но вот некоторые говорят, что эти поправки - некие средние для России. И если взять Камчатку и Калининград, то поправки не могут быть идентичными в этих областях. Они должны различаться. На сколько???

Мне как-то С.Пацук (Красноярскгеолсъемка) писал, что они используют поправки ГОСТа. Он делал наблюдения на тригопункте и говорит, что GPS на этих поправках при "хорошем" небе дает приемлемые результаты. Может в конце концов таким путем определяться для конкретной территории...

А вообще, послушать бы мнение специалиста, потому как мы тут не геодезисты все ж.

p.s.Иногда текст не полностью выводится на экран. Жмите F5...
 

 
0 голосов
ответил 18 Май, 06 от geologic (39,860 баллов)

Насчет параметров: на Гис-Лаб в форуме (http://gis-lab.info/forum/viewtopic.php?p=2622) достаточно веско звучали детали Гостовских параметров, а также было небольшое эссе на тему откуда пошли неверные ESRIевские. Думаю, о последних можно забыть...

Насчет методов: разумеется, каждый волен использовать любые. Думаю, разница 5-10 метров для ГИС несущественна, ведь редко кто использует десятитысячные топокарты. Вопрос получается стоит лишь о душевном спокойствии. Для этого достаточно наглядно проиллюстрировано, что в Гарминах используется метод Молоденского (3-параметрический), как и в datum.avx. Я для себя, таким образом, "успокоился" с методом и параметрами, по крайней мере, в рамках  ArcView :)
 
Насчет софта: вот где вопрос больной  - все средства так или иначе "недоделаны". ОДнако я позволил себе повторить ваш эксперимент... Так, как я его понял, но по своей цепочке - то есть попытался высадить точку сетки в GPS, тем более что самому к лету карта будет нужна.
 
- задал в ArcView проекцию ГК зона 7 (точнее, ее имитацию через Transverse Mercator);
 
- подгрузил шейп в географических координатах;
 
- ввел в него точку 7500000, 6000000 - явная сетка, куда уж круглее :)
 
- убрал проекцию;
 
- включил DNR garmin;
 
- загрузил  "в него" шейп - точнее точку (долгота ее, естественно, высветилась как 39,0000);
 
- загрузил точку в GPS, настроенный на показ СК-42 (как, описано здесь, в конце: http://gis-lab.info/forum/viewtopic.php?t=212);
 
- курсора у меня нет, но в свойствах точки увидел координаты 7500125 и 5999988. Это именно то, что ожидал - ведь при вводе DNR "думал", что мои координаты WGS!!!
 
- вернулся в DNR, выставил датум Cк-42 (как описано здесь: http://gis-lab.info/qa/gps-dnrgarmin.html);
 
- снова ввел точку... Координаты в GPS нужные - 7500000, 6000000. Надо бы протестировать на полноценных сетках, но думаю, время будет.
0 голосов
ответил 19 Май, 06 от S.E. (12,840 баллов)
Это да. Все правильно. Все так и доолжно быть. То есть вы по сути сделали шаг вправо, а потом шаг влево и вернулись на исходное место. И величина этого шага не имеет значения. Продолжая эксперимент можно завести в DNR Garmin не такие поправки:

# KRASS / Convertion to SK-42
<200096> +proj=latlong +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0,0,0

а любые другие. И выставив их в GPS также получим "круглые" координаты. Просто шаг вправо-влево будет другим. Но мы же понимаем, что физически это будет уже другая точка в wgs. И какая из них правильная? Оттолкнуться не от чего.
 
Расскажу смешную истоию из практики. Ребята работали в поле с Легендой. День потратили на то, чтобы выставить в приборе нужные поправки - для получения координат в Гауссе-Крюгере. Основывались при этом на загруженной карте. Поправки были какие-то дикие. Но координаты получались более-менее правильные. Их записывали, точки выносили на "зеленку"... Все было нормально. Потом стали разбираться, почему поправки такие дурные. Оказалось, в Гармине вместо восточного склонения было выставлено западное. Но тем не менее люди работали... Это я к тому веду, что поправками можно выгнать любые координаты, но это не будет показателем правильности пересчета датумов. То есть возвращение в точку при шаге вправо-влево говорит только об одинаковом алгоритме преобразования. Но нас-то интересует конкретно та точка, куда мы шагнули.
 
Вот все-таки эксперимент с тригопунктом дает хоть какую-то объективную картину. Садимся на тригопункт с известными координатами в Гаусе, через некоторые интервалы берем замеры координат. Обсчитываем статистику. Получаем среднестатистическую точку в WGS. А потом пробуем на разных поправках в AV перегнать ее в Гаусса-Крюгера, чтобы получить нужные координаты.
 
Мне тут вот еще какая мысль пришла. Есть ведь профессиональные GPS-приемники, которые определяют координаты с точностью чуть ли не до сантиметров. Вот там то поправки сильно критичны. Узнать бы у кого-нибудь, как там пересчитываются датумы...
 
 
 
0 голосов
ответил 19 Май, 06 от geologic (39,860 баллов)

Насчет правильности забавный вопрос... Я по жизни не уверен, что практика такой уж критерий истины. Тем более, что для наших задач важна не точность, а адекватность, то есть как раз возвращение в заданную точку. Точность любительских GPS порядка 50 метров, вряд ли мы заверим датум таки мобразом. А вот послушать знатоков безусловно стоило бы. Но они молчат...

Однако я этот вопрос специально оставил за кадром: меня больше интересовали программные средства преобразования. Поглядел еще раз коллекции ESRI, ничего не нашел. Получается, datum.avx единственный инструмент :(
0 голосов
ответил 23 Май, 06 от S.E. (12,840 баллов)
Ну тут как сказать. Например, в поле мы сняли точку Гармином и сохранили ее. Дома выгрузились на комп и переводим ее в Пулково. Преобразование одношаговое. Поэтому желательно все же знать какие поправки целесообразно использовать.... То, что точность GPS как правило несоизмерима с той точночностью, которую мы пытаемся вычислить на поправках, я согласен. В большинстве случаев копья ломать и не стоит.

Вот пример еще одного эксперимента с преобразованиями. Предположим, что GPSMapEdit дает наиболее точные результаты по Хелмерту. Предположим.
Создаем четыре точки с координатами:
1. 50 град.в.д. и 50 град.с.ш.
2. 50 и 60
3. 60 и 60
4. 60 и 50
Смотрим, что получилось после преобразования в WGS, которое сделал GPSMapEdit:
1. 49.99862 и 50.00013
2. 49.99814 и 60.00032
3. 59.99845 и 60.00047
4. 59.99886 и 50.00027
Создаем шейп на полученных координатах WGS и пробуем перегнать их в исходные пулковские, подбирая параметры dx, dy и dz в datum.avx.
У меня получилось следующее (с точностью плюс-минус 1 метр):
1. 21, -129, -83
2. 24, -133, -83
3. 22, -135, -83
4. 19, -131, -81.5
Как видим, поправки ни ГОСТовские, ни ESRI. И еще получается, что они плавающие. Ну ладно, может предположение о точности преобразований Хелмерта ошибочно. А то что поправки плавающие? Может они и должны быть плавающими, для каждого региона свои. Вот интересный вопрос.
0 голосов
ответил 23 Май, 06 от geologic (39,860 баллов)

Я понимаю ваше стремление проверить все на деле, т.е. пощупать руками - сам от кайла и лопаты. Однако есть же мудрые слова:  нет ничего практичней хорошей теории. Я к тому, что в таких тонких делах делах склонен просто доверять учебникам, гостам, разъяснениям мудрецов от эллипсоида, наконец... Сомневаться мы с вами можем, даже должны, но вряд ли подкопаемся под параметры - скорее в итоге, выбор параметров и вообще датума вещь не практическая, а теоретическая, даже политическая, может быть.

Насчет региона свои, точно не так. Можно компенсировать датум простым сдвигом: мы так делали в тюмени, чтобы исправить "задатумленные" файлы - просто подбирали сдвиг по сетке (ошибка на краях территории 100x100 км была метров пять, не больше). Вот этот сдвиг зависит от региона, а параметры dx, dy это несколько другое - статьи тут на сайте это иллюстрируют.
 
Datum.avx делает преобразование алгоритмом Молоденского, что тоже очевидно. И я бы не стал сравнивать Молоденского с Хелмертом, хоть бы и на сходных параметрах. Разница в алгоритмах где-то там по ссылкам обсуждалась, она как раз метров 5-10. Мало того, я глубоко уверен, что и разница в реализации того же Молоденского тоже имеется - форматы чисел, моменты округления и т.п. Янко это наглядно продемонстрировал. Обрезал где-то мантисссу и привет, метра два налицо :(
 
Но мне все-таки кажется, что для одного отдельно взятого исследователя без разницы, какие параметры применять. Важнее софт... Если даже он дает ошибку метра в два всего, как datum2.avx, достаточно его применить раз десять, и набежит ошибка уже 20 метров, если в другую сторону применять, например, DNR. Собственно это я и пытался проиллюстрировать в начале темы. У нас была ровненько такая ситуация по проекту: пока спохватились, уехало метров на сто. Но и DNR, и GPS, и Datum.avx используют не просто ОДИН алгоритм, а ОДИН способ его программной реализации - иначе не объяснить миллиметровое схождение результатов. Возможно, один и тот же известный исходный текст был взят ребятами и из garmin, и esri, и dnr. Похоже на то. Для меня вот это ценно знать. Был бы такой набор для Хелмерта - не вопрос, можно и Хелмерта. Параметры по вкусу :)
0 голосов
ответил 25 Май, 06 от S.E. (12,840 баллов)
В завершение приведу для раздумий фразу Константина Галичского:
"... Поправки ГОСТа содержат (помимо +25, -141, -80, -108, +0,00480796 - прим. S.E.) ещё несколько параметров, поскольку в ГОСТе используется преобразование Хелмерта, а не Молоденского. Отбрасывание этих дополнительных 4-х параметров способно ухудшить точность значительно - результат будет менее точным, чем даже если считать по Молоденскому (как у ESRI)."
0 голосов
ответил 25 Май, 06 от geologic (39,860 баллов)

Раз уж начали цитировать.... :)

"Для приложений, в которых не требуется высокая степень точности, можно использовать коэффициенты стандарта Молоденски (Molodensky) Национального картографического агентства США (NIMA). "

Разумеется, в нашем ГОСТе не станут использовать американский стандарт, да еще и менее точный. Но мы с вами, к сожалению, ограничены в нашем выборе, что собственно отсутствие мнений по софту и показало.
 
Хелмерта, кстати, вроде бы нету и в ArcMap :(
0 голосов
ответил 26 Май, 06 от Nickolay (4,780 баллов)
geologic
Так Хелмерта преобр и ГОСТовское - как соотносятся?
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...