Можно конечно и к робастным адаптивным алгоритмам причислить. Но "метод повторного весового пресса" всё-таки слишком "мягкий". Я лично причисляю его всё-таки к статистическим регулировочным методам.
Я нашел еще 11 точек дуги Струве в финском каталоге (из них 6 с геодезическими высотами, значит были измерены с помощью GPS). Последние 7 столбцов: нормальная высота в национальной системе, геодезическая высота, easting/northing UTM35, дирекционный угол (в гонах) и расстояние до точки дуги (в метрах), высота геоида EGM2008. Код: 10 46 Питкяселькя 64 55 43.6743 -4 23 45.7493 00G0171 92.83 110.427 449452.279 7200742.765 46.104 1.601 17.797 17 47 Галозенваара 64 43 38.2542 -4 26 02.0626 00G0170 69.17 86.647 447269.114 7178327.619 170.6506 5.044 17.651 21 54 Саукковаара 64 26 59.6521 -2 07 08.3516 00G0183 325 342.444 558113.670 7147508.644 106.447 5.40 17.647 54 58 Лехтоваара 64 05 14.1981 -2 37 05.8036 00G0182 273 291.230 534538.574 7106748.075 142.3045 10.282 17.754 28 61 Кульвемяки 63 46 10.7622 -2 41 06.4916 00G0234 228.2 531652.86 7071318.25 301.274 10.26 17.896 35 69 Везамяки- 62 55 50.7886 -3 50 46.7943 00G0078 216.4 473629.19 6977807.76 183.5 0.534 18.225 38 73 Силмутмяки- 62 39 08.1313 -4 00 35.2605 33M0502 188.29 465000.48 6946869.83 182 10.43 18.529 45 79 Ваатервуори 62 04 34.6397 -4 21 57.7576 00G0133 226.5 244.851 445714.653 6882950.443 316 0.150 18.591 46 80 Пуолакка 61 55 41.5532 -4 47 36.4976 00G0131 193.1 211.485 423015.624 6866890.277 14.70 0.435 18.697 49 83 Каммио 61 41 56.6025 -4 37 26.3065 28M0007 221.1 459259.20 6825054.69 272.7084 16.20 18.668 51 85 Вильяминвуори 61 35 25.9588 -4 30 08.3829 00G0132 193.7 437616.22 6828973.12 139.06 0.53 18.455 Есть еще одна интересная точка с известными координатами в СК-32 Код: 98M1000 Muotkavaara rajamerk 169.04 576967.784 7661361.251 147.83 Она же в документе "The description protocol between the Federation of Finland and the Socialist Soviet Union on the territory of Petsamo (Petshenga), Helsinki, February 19, 1946." Код: Muotkavaara x = 7 663 741.2 y = 5 577 038.8 и в советско-норвежском демаркационном протоколе 1947 года "KOORDINATER for GRENSEMERKER NORGE - RUSSLAND 1947 - 2007" Код: 145,5 7663741,2 577038,8 Treriksrøysa Krokfjellet,Muotkevárri
Я придерживаюсь математической модели (описанной в "Вестнике"), что при наличии высот надо вычислять (LON_src,LAT_src,H_nat+H_geoid_nat) -> (LON_itrf,LAT_itrf,H_ell_itrf)/(X_itrf,Y_itrf,Z_itrf)) а при их (пусть частичном) отсутствии (LON_src,LAT_src,H_geoid_nat) -> (LON_itrf,LAT_itrf,H_geoid_egm2008). Так как для Шарнгорста и СК-32 H_geoid_nat=0, то в самом худшем случае получается модель (LON_src,LAT_src,0) -> (LON_itrf,LAT_itrf,H_geoid_egm2008). Для СК-42 H_geoid_nat в Пулково равен нулю, а в Москве например равен 7 метрам (по Молоденскому), поэтому там все будет гораздо сложнее. Украинскую СК-32 тоже нельзя обработать, так как я не знаю их модель геоида.
Не только. Вопрос высот также поставил меня в тупик, когда я попробовал решить задачу нахождения радиусов неизвестного эллипсоида (коэффициентов к известному) по набору точек, представленных только широтами и долготами. Провал затеи оказался очевидным достаточно быстро.
Это была "политика" или перерасчет? Там же было примерно на 0.09 м??? Это я про разницу между Балтийской и Балтийской-77. Или там вообще не так? Интересно.
Надеюсь что не ошибся при форматировании, для меня это в конце концов тоже только хобби. Интересно, что скажут теперь ваши робастные методы. Пункты "Везамяки" и "Силмутмяки" на 7 конференции Балтийской геодезической комиссии, которая проходила в 1934 году в Петербурге и Москве были объявлены утраченными, но в современном каталоге (2009 год) они тем не менее присутствуют. Код: 2 36 Торнео 24d09'25.8902"E 65d49'54.4825"N 65d49'47.529" 24d09'25.525" -1 32.5 19.877 10 46 Питкяселькя 25d55'51.4032"E 64d55'37.0542"N 64d55'43.6743"N 25d55'52.8007"E 92.83 110.427 17.797 17 47 Галозенваара 25d53'34.9615"E 64d43'32.0845"N 64d43'38.2542"N 25d53'36.4874"E 69.17 86.647 17.651 21 54 Саукковаара 28d12'26.8024"E 64d26'53.4196"N 64d26'59.6521"N 28d12'30.1984"E 325 342.444 17.647 39 70 Килпимяки 26d46'05.8492"E 62d38'08.0427"N 62d38'02.501" 26d46'04.169" 199 216.3 18.542 54 58 Лехтоваара 27d42'29.3384"E 64d05'08.4706"N 64d05'14.1981"N 27d42'32.7464"E 273 291.230 17.754 28 61 Кульвемяки 27d38'31.3298"E 63d46'04.6943"N 63d46'10.7622"N 27d38'32.0584"E 228.2 -1 17.896 35 69 Везамяки- 26d28'50.2640"E 62d55'45.1497"N 62d55'50.7886"N 26d28'51.7557"E 216.4 -1 18.225 38 73 Силмутмяки- 26d19'01.5691"E 62d39'03.2426"N 62d39'08.1313"N 26d19'03.2895"E 188.29 -1 18.529 45 79 Ваатервуори 25d57'39.5740"E 62d04'29.3610"N 62d04'34.6397"N 25d57'40.7924"E 226.5 244.851 18.591 46 80 Пуолакка 25d32'01.0438"E 61d55'36.3157"N 61d55'41.5532"N 25d32'02.0524"E 193.1 211.485 18.697 49 83 Каммио 25d42'12.1287"E 61d41'51.8314"N 61d41'56.6025"N 25d42'12.2435"E 221.1 -1 18.668 51 85 Вильяминвуори 25d49'28.9063"E 61d35'20.8816"N 61d35'25.9588"N 25d49'30.1671"E 193.7 -1 18.455 71 104 Свартвира 26d36'14.1235"E 60d16'39.9643"N 60d16'35.367" 26d36'12.486" 15.41 -1 15.540 72 106 Остров Гохланд Мекипелюс 26d58'12.9070"E 60d04'31.1240"N 60d04'26.843" 26d58'11.197" 143 -1 15.457 79 -1 Пулково, сигнал А 30d19'24.7780"E 59d46'19.6670"N 59d46'15.358 30d19'20.431 74.9 -1 16.008 102 108 Хальяль, (Галльял) 26d16'06.8460"E 59d25'57.6000"N 59d25'53.490" 26d16'05.533" 78 -1 17.186 179 119 Юрьев,центр башни обсерватории 26d43'13.8410"E 58d22'47.5600"N 58d22'43.880" 26d43'12.342" -1 84.695 19.126 495 137 Якобштадт 25d51'24.5800"E 56d30'07.7390"N 56d30'04.853" 25d51'23.596" -1 102.322 21.500 840 155 Мешканцы 25d19'00.9400"E 54d55'53.8460"N 54d55'51.389" 25d19'0.315" 204.91 229.545 24.712 853 158 Хорунжишки 25d37'45.1850"E 54d51'45.2890"N 54d51'42.87212 25d37'44.38492 -1 229.012 24.724 894 157 Немеж 25d19'01.0580"E 54d39'03.5590"N 54d39'01.19" 25d19'00.44" 212.37 -1 25.241 899 159 Березняки 25d25'45.3210"E 54d38'06.2920"N 54d38'03.93060 25d25'44.66230 -1 274.695 25.248 1476 185 Осовница 25d33'21.6240"E 52d12'28.7190"N 52d12'27.08770 25d33'21.27039 -1 181.4095 26.962 1510 -1 Чекуцк 25d38'59.1950"E 52d17'23.9830"N 52d17'22.33521 25d38'58.77692 158.3 185.0777 26.758 1528 186 Лесковичи 25d34'17.8810"E 52d09'40.1960"N 52d09'38.58264 25d34'17.52740 -1 190.3459 27.019 1565 188 Белин 25d13'03.3360"E 52d02'40.6770"N 52d02'39.07" 25d13'03.16" 147.1 -1 27.409 2960 265 Старо-Некрасовка 28d55'42.6300"E 45d19'55.6330"N 45d19'57.13" 28d55'40.27" -1 55.4 30.917 --- Сообщения объединены, 7 июн 2022, Оригинальное время сообщения: 7 июн 2022 --- Вы же сами карту Молоденского конца 1940х годов с высотами геоида здесь выкладывали. К тому же эту цифру для Москвы я видел в статье Н. А. Урмаева. Речь о высотах геоида над эллипсоидом Красовского использовавшихся в 1946 году при уравнивании пресловутых 87 полигонов 1 класса, в этом и была собственно "инновация" метода проектирования (кроме изменения параметров эллипсоида и его ориентации).
В архиве решение в трёх видах: 7parm0.xlsx — решение без учёта весов с использованием функций Excel TREND() для получения модельных значений и невязок и LINEST() для вывода неизвестных и статистик. 7parm.xlsx — решение с весами. Правда, все веса равны единице. bursa.out, towgs84.out — из выводов программы, писаной на Си. В файле bursa.out матрица обратной нормальной системы Q дополнена строкой неизвестных и значением суммы квадратов невязок, матрица ковариаций cov дополнена строкой оценок погрешностей неизвестных и величиной с. к. о. единицы веса, а матрица корреляций corr ничем не дополнена.
Стрёмненькое решение Код: ∆X = -223,815 ± 542,541 m ∆Y = -159,104 ± 1059,311 m ∆Z = -611,954 ± 165,454 m ωx = 2,30 ± 29,11 ″ ωy = 2,61 ± 15,11 ″ ωz = 2,83 ± 21,33 ″ s = 216,88 ± 25,95 ppm Оценки говорят, что ни одной цифире верить нельзя. Что то здесь не так.
Ничего удивительного. Вспомните раздел 41 из Сборника таблиц для геодезических вычислений 1953 года. Решение — матрицы деформаций. Но для их вычисления нужен более серьёзный массив данных. Хорошо бы полные каталоги. В идеале с ковариационными матрицами.
Визуальный анализ остатков показал, что данный набор данных состоит из двух резкоотличающихся поднаборов с отдельными выбросами. Для данных поднаборов получаются кардинально отличающиеся ключи.
Переведите геоцентрику в EPSG:3067 и высоты для наглядности. У меня по вашим цифрам получается для Килпимяки и Мешканцы смесь геоида и высот. Еще можно проверить на месте ли московские монастыри: Код: 655 Западный конец Московского базиса 55 47 29.956 +7 07 58.843 658 Восточный конец Московского базиса 55 47 02.422 +7 15 05.346 661 Церковь св. Понкратия (Москва) 55 46 17.456 +7 18 31.542 663 Церковь Покрова (Москва) 55 45 35.105 +7 15 20.137 665 Иван Великий (Москва) 55 45 02.755 +7 17 33.279 668 Андрониев Монастырь (Москва) 55 44 54.198 +7 20 41.256 674 Новоспасский Монастырь (Москва) 55 43 55.339 +7 19 54.798 676 Девичий Монастырь (Москва) 55 43 32.722 +7 13 54.329 681 Донской Монастырь (Москва) 55 42 51.433 +7 16 27.600 --- Сообщения объединены, 8 июн 2022, Оригинальное время сообщения: 8 июн 2022 --- Неудивительно, что финляндская дуга отличается от "континентальной".
Ну геоцентрика так, собственно, и была получена: EPSG:3067 -> Geodetic CRS: ETRS89 -> Ellipsoid: GRS 1980 . У Игоря всё расписано, повторять я не стал. Или за что речь? Более того, попробовал отловить "высоту" обратным переводом первой подвыборки во вторую (КС32, Бессель). Чорта лысового, B-L не вдарили. И не на константу!
Сконвертировал примерные украинские координаты в WGS84, невязки 7 параметров лучше чем для каталога Шарнгорста.
Добавил выдачу +towgs84 в исходник helmparms3d.c Код: #define RAD2ARC 206264.8062 ppm=(scal-1.0)*1e6; printf("+towgs84=%.3f,%.3f,%.3f,%.9f,%.9f,%.9f,%.3f\n",T_vec[0],T_vec[1],T_vec[2],src_mat_T[2][1]*RAD2ARC,src_mat_T[0][2]*RAD2ARC,src_mat_T[1][0]*RAD2ARC,ppm); и проверил на эталонных реальных данных для 90 точек финской триангуляции 1 класса KKJ->ETRS89 (геодезические высоты для ETRS89 и модель геоида Бомфорда 1970 для национальных высот). Получилось (официальные параметры для EPSG:4123 +towgs84=-96.062,-82.428,-121.753,4.801,0.345,-1.376,1.496) идеальное совпадение +towgs84=-96.063,-82.428,-121.751,4.801047954,0.345489050,-1.376456357,1.496 то есть helmparms3d достоин 100% доверия.
Это зачем столько знаков, ежели в секундах? "%.3f" вполне хватило бы. PS: Ежели добавлять "этот" вывод в GIT, то как обозвать? "Proj: ", "For proj: ", "Proj string: "? Или как то ещё?