Преобразование координат

Вопросы общего характера по ГИС и дистанционному зондированию, не связанные с конкретным ПО.
serge
Интересующийся
Сообщения: 15
Зарегистрирован: 14 окт 2007, 14:26
Репутация: 0

Преобразование координат

Сообщение serge » 14 окт 2007, 14:43

Здравствуйте, сразу замечу, что в данной тематике я не компетентен. Пробовал разобраться сам, просмотрев информацию на данном форуме и др. источниках, но не уверен, что все правильно понял. Хотя задача вроде тривиальная.

По сути вопроса, даны геодезические координаты точки [B; L] в системе СК42, задача перевести их в плоские прямоугольные [x; y] в проекции Гаусса-Крюгера. В ГОСТе 51794-2001 нашел формулы 25-26, служащие по идее именно для этого. При этом значения получаются неверные (выполняя обратное преобразование [x;y] -> [B;L], получаю совсем не то).

Не могли бы вы подсказать, что я делаю не так, привести источники и/или пример такого преобразования (типа есть такие-то BL из них получаем такие-то xy).

Заранее спасибо.

Andrey1
Активный участник
Сообщения: 209
Зарегистрирован: 13 июл 2007, 18:58
Репутация: 1

Сообщение Andrey1 » 14 окт 2007, 21:35

Алгоритмы преобразования B,L <=> x,y сводятся к использованию n-членных рядов Тейлора. Причём в ГОСТе эти ряды даны в таком виде, что сложно вычленить из констант, где же параметры референц-эллипсоида, а где прочие константы перед членами ряда, что делает ГОСТовский алгоритм неуниверсальным. Нужен пример с координатами? Пожалуйста:

Точка в СК42, допустим, B=53°, L=52°. Даю результаты с точностью представления 0,1 мм. Алгоритмы не являются информацией закрытого либо ограниченного пользования.

1) По ГОСТ P51791-2004, декларируемая точность 1 мм.

x = 5875191,4058
y = 9567137,4060


2) По источнику (страницы 216-219, 3-членное преобразование, декларируемая точность не хуже 1 мм).

Справочник геодезиста: В 2-х книгах. Кн. 1/Под ред. В.Д. Большакова и Г.П. Левчука. - 3-е изд., перераб. и доп. - М.: Недра, 1985. -455 с.

x = 5875191,4108
y = 9567137,4061

3) По материалам сайта landmateriet.se (дай бог памяти), 4-рядное преобразование, точность порядка нескольких десятков микрон, точность представления повышена

x = 5875191,409053690
y = 9567137,406074601

4) По результатам пересчёта с помощью Транскора (с максимальной точностью), точность представления повышена, алгоритм неизвестен, предположительно 4-членный.

x = 5875191,40904
y = 9567137,40607

Мораль: все алгоритмы для данной точки, несмотря на ДЕКЛАРИРУЕМУЮ точность 1 мм, дают разнобой в несколько (до 5,0 !!!)миллиметров, хотя "обратный" пересчёт по тому же алгоритму (только уже x,y => B,L) показывает результат с точностью до 1,0 мм. Я после некоторых раздумий склонен доверять шведам (схождение в обратную сторону также очень точное). Наиболее дикие расхождения с результатом, принятым за "якорь", как раз у ГОСТовского алгоритма. Полагаю, за счёт не очень точного определения длины дуги меридиана, на этом этапе часто бывает ненужное упрощенчество.

Удачи!

serge
Интересующийся
Сообщения: 15
Зарегистрирован: 14 окт 2007, 14:26
Репутация: 0

Сообщение serge » 14 окт 2007, 21:59

Спасибо за ответ, на сайте lantmateriet.se нашел документ,
буду пробовать...

Andrey1
Активный участник
Сообщения: 209
Зарегистрирован: 13 июл 2007, 18:58
Репутация: 1

Сообщение Andrey1 » 15 окт 2007, 15:25

Именно это я и имел в виду (сам качал давно). Листинг выкладывать пока не считаю нужным, пусть люди прилагают хотя бы мизерные усилия и вдумываются. Кроме того, считаю в корне неправильной политику, что сообщения форума находятся с помощью стандартных интернет-поисковиков, на радость как халтурщикам, так и для "товарища полковника".

Первичный "непричёсанный" листинг я написал на Delphi (7) и пока остановился. В случае нужды вышлю на мыло. Но для создания полноценной рабочей функции надо ещё работать.

В коэффициенте бета1 четвертый член ряда, я уверен, с минусом, а не с плюсом.

"+" (53°/52°)

x42 = 5875191,40907589
y42 = 9567137,40607447

"-"

x42 = 5875191,409053690
y42 = 9567137,406074601

serge
Интересующийся
Сообщения: 15
Зарегистрирован: 14 окт 2007, 14:26
Репутация: 0

Сообщение serge » 15 окт 2007, 17:39

Да, по всей видимости работы еще много, как над формулами, так и над пониманием. Для наглядности перекинул все в excel. В результате, вобщем все видно. Думаю, недопонял что-то с FN, FE, а также с k0, хотя, как мне казалось делал все правильно. Явно не хватает теоретической базы(
Последний раз редактировалось serge 18 окт 2007, 20:38, всего редактировалось 1 раз.

serge
Интересующийся
Сообщения: 15
Зарегистрирован: 14 окт 2007, 14:26
Репутация: 0

Сообщение serge » 15 окт 2007, 18:06

Вобщем подход copy-past в данном случае не прошел. В их формулах на местах старших членов стоят троеточия (хотя их порядок наверное все равно слишком мал), подозреваю, что сам ряд наверняка общий для всех подходов перевода. Вобщем в источнике Закатова (из раздела документации) наверняка этот ряд и приводится(стр.174, ф.38.11-12), правда там обозначения для меня совсем неясны. Других источников (Справочник геодезиста, например) в нете не нашел. Так что, пока не получается, буду рад вашим советам.

Andrey1
Активный участник
Сообщения: 209
Зарегистрирован: 13 июл 2007, 18:58
Репутация: 1

Сообщение Andrey1 » 15 окт 2007, 18:54

На этом сайте "на самом видном месте" имейл - твой?

serge
Интересующийся
Сообщения: 15
Зарегистрирован: 14 окт 2007, 14:26
Репутация: 0

Сообщение serge » 15 окт 2007, 19:06

да, мой), наверное, он у меня открыт

Andrey1
Активный участник
Сообщения: 209
Зарегистрирован: 13 июл 2007, 18:58
Репутация: 1

Сообщение Andrey1 » 15 окт 2007, 20:50

Смотри почту...

Andrey1
Активный участник
Сообщения: 209
Зарегистрирован: 13 июл 2007, 18:58
Репутация: 1

Сообщение Andrey1 » 15 окт 2007, 20:57

sale@e-ceramics.ru

не проходит!!!

serge
Интересующийся
Сообщения: 15
Зарегистрирован: 14 окт 2007, 14:26
Репутация: 0

Сообщение serge » 15 окт 2007, 20:58


serge
Интересующийся
Сообщения: 15
Зарегистрирован: 14 окт 2007, 14:26
Репутация: 0

Сообщение serge » 15 окт 2007, 21:00

"На самом видном месте" - это не мое)

Andrey1
Активный участник
Сообщения: 209
Зарегистрирован: 13 июл 2007, 18:58
Репутация: 1

Сообщение Andrey1 » 15 окт 2007, 21:15

FN - False Northing - константа, добавляемая к полученной абсциссе. Обычно равна нулю, для СК42 = 0.

FE - False Easting - константа, добавляемая к полученной ординате. Обычно равна 500км, для СК42 = 500 км.

k (m) - масшабный коэффициент на центральном меридиане зоны, для проекции Гаусса-Крюгера равен единице, для UTM - 0,9996 (почему так - долго объяснять).

serge
Интересующийся
Сообщения: 15
Зарегистрирован: 14 окт 2007, 14:26
Репутация: 0

Сообщение serge » 15 окт 2007, 21:24

Да, с этим я разобрался, даже понял, почему для UTM такое значение, спасибо еще раз за помощь.

Andrey1
Активный участник
Сообщения: 209
Зарегистрирован: 13 июл 2007, 18:58
Репутация: 1

Сообщение Andrey1 » 15 окт 2007, 21:39

OK

На уровне предварительной и постобработки данных существует некоторое количество подводжных камней.

Кроме того, есть ещё один поганый фактор. Приведу строку из листинга для 3-членного ряда:

GetS:=VED.aell/(1+n1)*((1+n2/4+n4/64)*B-(1.5*n1-3/16*n3)*sin(2*B)+
(15/16*n2-15/64*n4)*sin(4*B)-(35/43*n3)*sin(6*B));

Строка из листинга для 4-членного ряда (из "шведской" методички):

c:=m*a*(1+n2/4+n4/64)/(1+n);

Здесь разнятся названия переменных и некоторые другие вещи (которые не позволяют просто перекинуть одну формулу на место другой), но суть одна - для менее точного преобразования используется более точная длина меридиана и наоборот. Парадокс. Получается, что наша 20-микронная точность покоится на зыбком фундаменте.

Ответить

Вернуться в «Общие вопросы»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя