Преобразование координат из зоны в зону (Гаусса-Крюгера)
-
- Активный участник
- Сообщения: 104
- Зарегистрирован: 02 мар 2014, 09:12
- Репутация: 0
Преобразование координат из зоны в зону (Гаусса-Крюгера)
Необходимо привести координаты одной зоны к другой для построения сетки треугольников. На просторах интернета встречал несколько разных алгоритмов, но все какие-то громоздкие. Существуют ли лайт версии необходимого преобразования координат, даже пусть и с значительной ошибкой?
-
- Гуру
- Сообщения: 4064
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1061
- Ваше звание: программист
- Откуда: Казань
Re: Преобразование координат из зоны в зону (Гаусса-Крюгера)
для пересчета координат есть программа PROJ4, доступная как в виде утилит, так и в виде библиотек для С++. Она бесплатная, легальная, и т.д. Встроена в GDAL, QGIS, Python, R, и далее везде ...
-
- Активный участник
- Сообщения: 104
- Зарегистрирован: 02 мар 2014, 09:12
- Репутация: 0
Re: Преобразование координат из зоны в зону (Гаусса-Крюгера)
Это я знаю, но у меня задача реализовать все это не прибегая к сторонним библиотекам. Пока делаю так перевожу в геодезические, а потом обратно в прямоугольные в ту зону которую надо, по формулам из ГОСТ Р 51794—2008.
-
- Гуру
- Сообщения: 5298
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1015
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
-
- Активный участник
- Сообщения: 104
- Зарегистрирован: 02 мар 2014, 09:12
- Репутация: 0
Re: Преобразование координат из зоны в зону (Гаусса-Крюгера)
А какой нынче валидный ГОСТ?
-
- Гуру
- Сообщения: 4064
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1061
- Ваше звание: программист
- Откуда: Казань
Re: Преобразование координат из зоны в зону (Гаусса-Крюгера)
исходники PROJ4, лицензия позволяет использовать исходники при наличии ссылки.
- Игорь Белов
- Гуру
- Сообщения: 2232
- Зарегистрирован: 04 янв 2011, 22:00
- Репутация: 1506
- Откуда: Казань
Re: Преобразование координат из зоны в зону (Гаусса-Крюгера)
Во-первых, в учебнике Морозова В. П. «Курс сфероидической геодезии» есть параграф 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 получаются в метрах.
Во-вторых, там же в параграфе 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
-
- Участник
- Сообщения: 91
- Зарегистрирован: 13 апр 2012, 17:09
- Репутация: 52
Re: Преобразование координат из зоны в зону (Гаусса-Крюгера)
На самом деле для данного случая (из зоны в зону) ошибка будет больше, так как оценка дана в предположении, что у нас 6° зоны.Игорь Белов писал(а): ↑19 июн 2018, 20:34Алгоритм вычисления плоских координат Гаусса-Крюгера с погрешностью не более 3 м.
Самый красивый алгоритм, что видел, дан в 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 микрона.
- Вложения
-
- Zone Transformation for the Transverse Mercator (Gauss-Kriiger) Projection.zip
- (466.15 КБ) 549 скачиваний
-
- Активный участник
- Сообщения: 104
- Зарегистрирован: 02 мар 2014, 09:12
- Репутация: 0
Re: Преобразование координат из зоны в зону (Гаусса-Крюгера)
Всем спасибо за ответ, очень помогло. Теперь та же задача только для UTM? Подскажите плиз.
-
- Гуру
- Сообщения: 4064
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1061
- Ваше звание: программист
- Откуда: Казань
Re: Преобразование координат из зоны в зону (Гаусса-Крюгера)
UTM это тоже поперечный меркатор, только другие параметры эллипсоида и масштаб на центральном меридиане.
-
- Активный участник
- Сообщения: 104
- Зарегистрирован: 02 мар 2014, 09:12
- Репутация: 0
Re: Преобразование координат из зоны в зону (Гаусса-Крюгера)
Я понимаю что другой масштаб и другие параметры эллипсоида, как и другая нумерация зон. Меня интересуют где взять уже посчитынные до определенной точности ряды тейлора. Как для проекции гаусса-крюгера в ГОСТ Р 51794—2008, хотя и говорят что он не валиден больше.
-
- Новоприбывший
- Сообщения: 1
- Зарегистрирован: 15 дек 2021, 23:06
- Репутация: 0
- Откуда: Самара
Re: Преобразование координат из зоны в зону (Гаусса-Крюгера)
Здравствуйте!
Извините, что поднимаю старую тему.
У меня возникли некоторые трудности с материалом из этой книги. Я хотел узнать, вы проверяли алгоритм, который там дан? Если да, то могу ли я в этом случае задать парочку небольших вопросов по нему?
Спасибо.
-
- Участник
- Сообщения: 91
- Зарегистрирован: 13 апр 2012, 17:09
- Репутация: 52
Re: Преобразование координат из зоны в зону (Гаусса-Крюгера)
Что-то проверял.
Конечно.
Ещё рано благодарить.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя