Трехмерное преобразование Гельмерта - часто используемый метод в геодезии для преобразования между различными декартовыми системами координат: Код: Xt=T+sRX где Код: Xt = преобразованный вектор координат X = начальный вектор координат T = вектор смещения R = матрица вращения, включает rx, ry, rz rx, ry, rz = повороты вокруг координатных осей s = масштаб Для этого вида преобразования требуются семь параметров, которые могут быть вычислены из набора, по крайней мере, трех точечных соответствий [Crosilla, F. (1999). Procrustes analysis and geodetic sciences. Technical report, Quo vadis geodesia...?, Department of Geodesy and GeoInformatics, University of Stuttgart]. Инструмент helmparms3d считывает два точечных файла ASCII и вычисляет все необходимые параметры для преобразования Гельмерта. Все параметры записываются в файл ASCII для дальнейших вычислений. Затем преобразование Хельмерта можно рассчитать с помощью helmert3d. Гит: https://github.com/dr-ni/helmert3d Зеркало: https://github.com/Geo-Linux-Calculations/helmparms3d Релизы: https://github.com/dr-ni/helmert3d/releases Релиз 1.0.1 включает утилиту сравнения результата преобразования с целью.
https://geodesist.ru/threads/concordshell.5053/#post-74003 - обсуждение данного пакета утилит на данном форуме.
Раз там есть SVD, нельзя ли сразу выдать одновременно и 3 параметра и 6 параметров (вместе с соответствующими неувязками) ?
Вычисленные 7 параметров получаются иногда очень странные, если точки расположены недалеко друг от друга. Сразу заодно и табличные СК-32 в СК-42 протестируем.
Если нужны 3 параметра - в любой таблице найдите среднее и разницы между ними. Эти утилиты в этом деле ненужны. Если нужны 6 параметров - то это другой метод. Эти утилиты здесь не при делах. PS: SVD выделена в отдельную либу. Надо - пользуйте.
Релиз 1.0.2: https://github.com/Geo-Linux-Calculations/helmparms3d/releases/tag/1.0.2 Добавлен перевод B-L-H в X-Y-Z.
Релиз 1.0.3: https://github.com/Geo-Linux-Calculations/helmparms3d/releases/tag/1.0.3 * полноценная работа с эллипсоидами * поддержка выхлопа в крнсоль всеми утилитами * проверка кода на валидность
Люди добрые. Отсыпьте данных для тестов. Желательно: NameTool - XYZsource - XYZdestination - XYZtrans - XYZcalculation. - NameTool - имя программы - XYZsource и XYZdestination - координаты точек в исходной и целевой СК - XYZtrans - параметры преобразования - XYZcalculation - координаты, вычисленные по параметрам.
Релиз 1.0.5: https://github.com/Geo-Linux-Calculations/helmparms3d/releases/tag/1.0.5 * укомплектован материалами по работе с эллипсоидами. * доработана документация по раюоте с утилитами (командная строка). * спасибо @wolodya за предоставленные тестовые материалы, с помощью которых рабочие матрицы приведены к надлежащему виду.
Обновление до версии 1.0.6 (helmert3d-1.0.6-win32.zip) * добавлен вывод строки proj.4 (cast @cr2, Параметры (датум) для Системы координат 1932 года (СК-32) #218).
Обновление до версии 1.0.7 (helmert3d-1.0.7-win32.zip) * добавлен helmtmerc : Transverse Mercator. (проекция на плоскость)