Преобразование координат из зоны в зону (Гаусса-Крюгера)

Системы координат, проекции, преобразования, привязка
Ответить
evgen_sobolev
Активный участник
Сообщения: 104
Зарегистрирован: 02 мар 2014, 09:12
Репутация: 0

Преобразование координат из зоны в зону (Гаусса-Крюгера)

Сообщение evgen_sobolev » 18 июн 2018, 22:41

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

gamm
Гуру
Сообщения: 4044
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1049
Ваше звание: программист
Откуда: Казань

Re: Преобразование координат из зоны в зону (Гаусса-Крюгера)

Сообщение gamm » 19 июн 2018, 06:42

для пересчета координат есть программа PROJ4, доступная как в виде утилит, так и в виде библиотек для С++. Она бесплатная, легальная, и т.д. Встроена в GDAL, QGIS, Python, R, и далее везде ...

evgen_sobolev
Активный участник
Сообщения: 104
Зарегистрирован: 02 мар 2014, 09:12
Репутация: 0

Re: Преобразование координат из зоны в зону (Гаусса-Крюгера)

Сообщение evgen_sobolev » 19 июн 2018, 10:06

Это я знаю, но у меня задача реализовать все это не прибегая к сторонним библиотекам. Пока делаю так перевожу в геодезические, а потом обратно в прямоугольные в ту зону которую надо, по формулам из ГОСТ Р 51794—2008.

trir
Гуру
Сообщения: 5271
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1013
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Преобразование координат из зоны в зону (Гаусса-Крюгера)

Сообщение trir » 19 июн 2018, 12:47

по формулам из ГОСТ Р 51794—2008.
он не действующий :mrgreen:
на это счёт есть хорошая книжка...

evgen_sobolev
Активный участник
Сообщения: 104
Зарегистрирован: 02 мар 2014, 09:12
Репутация: 0

Re: Преобразование координат из зоны в зону (Гаусса-Крюгера)

Сообщение evgen_sobolev » 19 июн 2018, 15:52

А какой нынче валидный ГОСТ?

gamm
Гуру
Сообщения: 4044
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1049
Ваше звание: программист
Откуда: Казань

Re: Преобразование координат из зоны в зону (Гаусса-Крюгера)

Сообщение gamm » 19 июн 2018, 15:55

evgen_sobolev писал(а):
19 июн 2018, 15:52
А какой нынче валидный ГОСТ?
исходники PROJ4, лицензия позволяет использовать исходники при наличии ссылки.

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2227
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1500
Откуда: Казань

Re: Преобразование координат из зоны в зону (Гаусса-Крюгера)

Сообщение Игорь Белов » 19 июн 2018, 20:34

Во-первых, в учебнике Морозова В. П. «Курс сфероидической геодезии» есть параграф 50 «Перевычисление плоских координат Гаусса-Крюгера при переходе от одного меридиана к другому», в котором подробно изложен прямой метод превращения метров в метры с геодезической точностью. Вполне подходит для быстрого кодирования.

Во-вторых, там же в параграфе 42 «Уравнения проекции Гаусса-Крюгера» имеются наборы формул перехода от географических координат к плоским и обратно для разных точностей с коэффициентами под эллипсоид Красовского. Вот самый простой набор близко к тексту.

Алгоритм вычисления геодезических координат по плоским координатам с погрешностью не более 0,1″.
y · 10⁻⁶ = n + α (n — целая часть числа, α — дробная часть числа),
L₀ = (n - 0.5) / k, k = ρ° / 6 = 9.5492966,
β = x / 6367558.5,
B₀ = (2936 cos² β + 502217) sin β cos β · 10⁻⁸ + β,
z = (α - 0.5) √¯1¯+¯0.00673853¯cos²¯B₀¯ / (6.3996989 cos B₀)
B = [(0.65 cos² B₀ + 1) z² - 4] (0.0067 cos² B₀ + 1) sin B₀ cos B₀ z² / 8 + B₀,
L = [(cos² B₀ - 2) z² / 6 + 1] z + L₀.
Координаты В и L получаются в радианах.

Алгоритм вычисления плоских координат Гаусса-Крюгера с погрешностью не более 3 м.
Координаты В и L заданы в радианах.
L k + 1 = n + α (n — целая часть числа, α — дробная часть числа),
k = ρ° / 6 = 9.5492966,
ℓ = (α - 0.5) / k,
N = 6399698.9 / √¯1¯+¯0.00673853¯cos²¯B¯,
x = (0.5 N ℓ² + 135 cos² B - 32140) sin B cos B + 6367558.5 B,
y = [(cos² B - 0.5) ℓ² / 3 + 1] ℓ N cos B + (n + 0.5) · 10⁶.
Координаты x и y получаются в метрах.
The purpose of computing is insight, not numbers

stout
Участник
Сообщения: 91
Зарегистрирован: 13 апр 2012, 17:09
Репутация: 52

Re: Преобразование координат из зоны в зону (Гаусса-Крюгера)

Сообщение stout » 20 июн 2018, 20:36

Игорь Белов писал(а):
19 июн 2018, 20:34
Алгоритм вычисления плоских координат Гаусса-Крюгера с погрешностью не более 3 м.
На самом деле для данного случая (из зоны в зону) ошибка будет больше, так как оценка дана в предположении, что у нас 6° зоны.
Самый красивый алгоритм, что видел, дан в 9 главе Zone Transformation for the Transverse Mercator (Gauss-Kriiger) Projection книги Map Projection Transformation: Principles and Applications By Qihe Yang, John Snyder, Waldo Tobler
я тут выдрал странички из https://books.google.ru/books/about/Map ... &q&f=false
и собрал в djvu. Исходное качество не очень, так что "звиняйте, дядько".
там в формулах присутствует длина дуги меридиана от экватора до точки (вторая формула сверху на стр. 259). Самый компактный из множества алгоритмов был получен Боурингом. Точность этой формулы выше 1 микрона.
New equations for meridional distance.png
New equations for meridional distance.png (62.9 КБ) 17437 просмотров
Вложения
Zone Transformation for the Transverse Mercator (Gauss-Kriiger) Projection.zip
(466.15 КБ) 535 скачиваний

evgen_sobolev
Активный участник
Сообщения: 104
Зарегистрирован: 02 мар 2014, 09:12
Репутация: 0

Re: Преобразование координат из зоны в зону (Гаусса-Крюгера)

Сообщение evgen_sobolev » 11 июл 2018, 16:04

Всем спасибо за ответ, очень помогло. Теперь та же задача только для UTM? Подскажите плиз.

gamm
Гуру
Сообщения: 4044
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1049
Ваше звание: программист
Откуда: Казань

Re: Преобразование координат из зоны в зону (Гаусса-Крюгера)

Сообщение gamm » 11 июл 2018, 16:51

evgen_sobolev писал(а):
11 июл 2018, 16:04
Теперь та же задача только для UTM? Подскажите плиз.
UTM это тоже поперечный меркатор, только другие параметры эллипсоида и масштаб на центральном меридиане.

evgen_sobolev
Активный участник
Сообщения: 104
Зарегистрирован: 02 мар 2014, 09:12
Репутация: 0

Re: Преобразование координат из зоны в зону (Гаусса-Крюгера)

Сообщение evgen_sobolev » 11 июл 2018, 17:05

Я понимаю что другой масштаб и другие параметры эллипсоида, как и другая нумерация зон. Меня интересуют где взять уже посчитынные до определенной точности ряды тейлора. Как для проекции гаусса-крюгера в ГОСТ Р 51794—2008, хотя и говорят что он не валиден больше.

LastikR
Новоприбывший
Сообщения: 1
Зарегистрирован: 15 дек 2021, 23:06
Репутация: 0
Откуда: Самара

Re: Преобразование координат из зоны в зону (Гаусса-Крюгера)

Сообщение LastikR » 15 дек 2021, 23:14

stout писал(а):
20 июн 2018, 20:36
Самый красивый алгоритм, что видел, дан в 9 главе Zone Transformation for the Transverse Mercator (Gauss-Kriiger) Projection книги Map Projection Transformation: Principles and Applications By Qihe Yang, John Snyder, Waldo Tobler
Здравствуйте!
Извините, что поднимаю старую тему.

У меня возникли некоторые трудности с материалом из этой книги. Я хотел узнать, вы проверяли алгоритм, который там дан? Если да, то могу ли я в этом случае задать парочку небольших вопросов по нему?
Спасибо.

stout
Участник
Сообщения: 91
Зарегистрирован: 13 апр 2012, 17:09
Репутация: 52

Re: Преобразование координат из зоны в зону (Гаусса-Крюгера)

Сообщение stout » 20 дек 2021, 07:33

LastikR писал(а):
15 дек 2021, 23:14
Я хотел узнать, вы проверяли алгоритм, который там дан?
Что-то проверял.
LastikR писал(а):
15 дек 2021, 23:14
то могу ли я в этом случае задать парочку небольших вопросов по нему?
Спасибо.
Конечно.
LastikR писал(а):
15 дек 2021, 23:14
Спасибо.
Ещё рано благодарить.

Ответить

Вернуться в «Координаты и привязка»

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

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