Страница 2 из 3
Re: Определение параметров СК
Добавлено: 03 авг 2016, 11:01
DDim
Ariki писал(а):Если есть возможность, проверьте: без обратной связи я легко могу допустить ошибку и не заметить.
Спасибо! Может смогу разобраться со скриптом, для того чтобы руками считать мне явно не хватает знаний

Второй вариант, ложится "правильнее" первого.
Если честно, для моих задач хватило и ваших первых ответов, просто тут появилось свободное время и решил вот попробовать сам вычислить эти три параметра. Взял уже более удаленные точки (не по 50 м), но так и не понял что с ними делать. Приложил координаты в файлах, интересно какие параметры получаться с ними, если вам конечно не сложно их вычислить.
Re: Определение параметров СК
Добавлено: 03 авг 2016, 13:27
Ariki
Похоже, ваши точки лучше всего описываются не трёхмерной трансформацией, а трансформацией подобия на плоскости:
Код: Выделить всё
x_m = 0.9996548575 * x_msk61 - 0.0262574780 * y_msk61 + 5362062.881
y_m = 0.0262574780 * x_msk61 + 0.9996548575 * y_msk61 + 4752796.196
Точнее, даже так:
Код: Выделить всё
x_m = 0.99965521274 * x_msk61 - 0.02625748733 * y_msk61 + 5362062.084
y_m = 0.02625748733 * x_msk61 + 0.99965521274 * y_msk61 + 4752795.941
В первом варианте слегка нарушена конформность, но остаточные погрешности на исходных точках в обоих случаях в пределах 1 см.
Re: Определение параметров СК
Добавлено: 03 авг 2016, 13:37
Донецков
Это уже аффинные преобразования, которые можно добавить в параметры в MapInfo, но с для +proj такое напрямую не сделаешь ...
Re: Определение параметров СК
Добавлено: 03 авг 2016, 14:32
DDim
Донецков писал(а):Это уже аффинные преобразования, которые можно добавить в параметры в MapInfo, но с для +proj такое напрямую не сделаешь ...
мне для неё и надо, не подскажете как строку составить для mapinfo.proj?
Re: Определение параметров СК
Добавлено: 03 авг 2016, 14:42
trir
Re: Определение параметров СК
Добавлено: 03 авг 2016, 14:54
DDim
Донецков писал(а):Это уже аффинные преобразования, которые можно добавить в параметры в MapInfo, но с для +proj такое напрямую не сделаешь ...
спасибо, оказалось достаточно открыть справку мапинфо и там всё есть, прошу прощения за предыдущий вопрос.
Re: Определение параметров СК
Добавлено: 04 авг 2016, 10:17
DDim
Убил вчера кучу времени но вроде заставил работать питон и все библиотеки на своей Винде, и вот не понял как именно три параметра эти подобрать.
Сделал файл с координатами точек:
Код: Выделить всё
x1 y1 x2 y2 name
2260699.66 650568.07 5462500 7604900 1
2260769.25 653217.16 5465150 7604900 2
2262118.78 653181.71 5465150 7606250 3
2262748.95 650514.24 5462500 7606950 4
2261784.74 651890.04 5463850 7605950 5
составил строку входную:
Для известной МСК61 зона 2:
Код: Выделить всё
+proj=tmerc +ellps=krass +lat_0=0 +lon_0=40.98333333333 +x_0=2300000 +y_0=-4811057.628
Далее после +to пишу вот так:
Код: Выделить всё
+proj=tmerc +ellps=krass +datum=WGS84 +lat_0=0 +lon_0=39 +x_0=500000 +y_0=0 +k_0=1 +towgs84~0,0,0
ну и имя файла, ну и вываливается выдается фигня
Вот
тут не вижу как отдельно указать эти три параметра, может в этом дело?
Re: Определение параметров СК
Добавлено: 04 авг 2016, 12:15
Ariki
А что за фигня вываливается?
Перед первой строчкой файла, не содержащей данные, поставьте знак #.
Названия точек (последний столбец) лучше не начинать с цифры: в некоторых случаях скрипт может решить, что это высоты.
Для известной СК нужно явно задать параметры +towgs84, поскольку она на датуме Пулково 1942. В строчке для неизвестной СК убрать +datum=WGS84.
Я запускаю примерно так:
Код: Выделить всё
guessproj +proj=tmerc +lat_0=0 +lon_0=40.98333333333333 +x_0=2300000 +y_0=-4811057.628 +k=1 +ellps=krass +towgs84=23.57,-140.95,-79.8,0,0.35,0.79,-0.22 +to +proj=tmerc +ellps=krass +lon_0=39 +lat_0=0 +x_0=7500000 +y_0=0 +k_0=1 +towgs84=~0,~0,~0 mjsk_2.txt
Re: Определение параметров СК
Добавлено: 04 авг 2016, 14:38
DDim
Ariki писал(а):А что за фигня вываливается?
Выдавало ровно те параметры что я вносил в качестве предполагаемых и
огромные отклонения.
Сейчас сделал как вы указали явное задание +towgs84 для известной СК, и +datum для неизвестной убрал - теперь выдаёт три параметра, отклонения, большие конечно, но видимо это потому, что высот у точек я не знаю:
Код: Выделить всё
+ellps=krass +lat_0=0 +lon_0=39 +proj=tmerc +towgs84=152652.100973,708593.978537 ,-111448.665616 +x_0=7500000 +y_0=0
Residuals:
-15.7155114524 62.7947197901 -10.5378539739 a
-30.0866335249 -43.6232155608 165.718498257 b
4.83387228288 -57.9935400197 47.4965765616 c
36.9891929086 41.1807208713 -190.013801888 d
3.89830934908 -2.32768159918 -12.6745080212 e
Но дело на самом деле было вот в чём, я задавал +towgs84 с одной тильдой, а надо было перед каждым параметром как у вас:
ну и я перепутал X и Y в известной СК в столбцах )
Крутой скрипт, спасибо!
Ну и на большой площади лучше оказалось пользоваться параметрами аффинного преобразования, что вы дали выше. Видимо, это связано с тем что по сути координаты у меня с плана (чертеж в автокаде) и я так понимаю там они просто плоские прямоугольные по сути, просто цифры от МЖСК этой.
Re: Определение параметров СК
Добавлено: 04 авг 2016, 14:58
stout
Ariki писал(а):В первом варианте слегка нарушена конформность, но остаточные погрешности на исходных точках в обоих случаях в пределах 1 см.
Извините, а что есть первый вариант?
Вопрос возник в связи с тем, что для
Код: Выделить всё
x_m = 0.9996548575 * x_msk61 - 0.0262574780 * y_msk61 + 5362062.881
y_m = 0.0262574780 * x_msk61 + 0.9996548575 * y_msk61 + 4752796.196
условие Коши-Римана вполне соблюдается.
Re: Определение параметров СК
Добавлено: 04 авг 2016, 15:26
Игорь Белов
Странные, однако, у Вас три параметра получаются.
Вот я превращаю координаты СК-42 с нулевыми высотами в трёхмерные геоцентрические:
3172423.04581047 2704065.88968446 4811421.1647668
3170861.55870101 2702801.48775987 4813148.96695557
3170000.81448702 2703841.32134561 4813132.02900553
3171115.93347229 2705644.85364608 4811395.35665256
3170958.18500126 2704230.58227239 4812288.31788415
Те же координаты из ПМСК с нулевыми высотами:
3172474.92377092 2703988.47792002 4811430.40191364
3170913.65014614 2702724.18351755 4813157.99762928
3170053.00418082 2703763.89686499 4813141.08836881
3171167.95409753 2705567.24620524 4811404.64897941
3171010.24629818 2704153.13489264 4812297.47156425
Вычисляю в экселе три параметра преобразования СК-42 -> ПМСК:
52.0482043079 -77.439061594 9.1546381561
Нахожу невязки:
-0.1702438579 0.0272971539 0.0825086843
0.0432408219 0.1348192741 -0.1239644455
0.1414894923 0.0145809737 -0.0952748766
-0.0275790682 -0.168379246 0.1376886938
0.0130926119 -0.0083181557 -0.000958056
Как видите, разброс в пределах двадцати сантиметров.
Re: Определение параметров СК
Добавлено: 04 авг 2016, 15:42
DDim
Игорь Белов писал(а):Странные, однако, у Вас три параметра получаются.
это, видимо, потому что я в скрипт от Ariki задаю не трехмерные геоцентрические, а прям как есть координаты в "МСК61 зона 2" и "МЖСК".
Re: Определение параметров СК
Добавлено: 04 авг 2016, 15:50
Игорь Белов
DDim писал(а):это, видимо, потому что я в скрипт от Ariki задаю не трехмерные геоцентрические, а прям как есть координаты в "МСК61 зона 2" и "МЖСК".
Очевидно, скрипт Ariki и кушает плоские координаты, иначе не нужны были бы параметры +proj.
Re: Определение параметров СК
Добавлено: 04 авг 2016, 16:09
DDim
Игорь Белов писал(а):
Очевидно, скрипт Ariki и кушает плоские координаты, иначе не нужны были бы параметры +proj.
Ну я тут не знаю, что ответить, вот входной файл:
Код: Выделить всё
650568.07 2260699.66 5462500 7604900 a
653217.16 2260769.25 5465150 7604900 b
653181.71 2262118.78 5465150 7606250 c
650514.24 2262748.95 5462500 7606950 d
651890.04 2261784.74 5463850 7605950 e
вот строка для guesspoj:
Код: Выделить всё
python guessproj.py +proj=tmerc +lat_0=0 +lon_0=40.98333333333 +x_0=2300000 +y_0=-4811057.628 +k=1 +ellps=krass +towgs84=23.57,-140.95,-79.8,0,0.35,0.79,-0.22 +to +proj=tmerc +ellps=krass +lat_0=0 +lon_0=39 +k_0=1 +x_0=7500000 +y_0=0 +towgs84=~0,~0,~0 file.txt
вот результат:
Код: Выделить всё
+ellps=krass +k_0=1 +lat_0=0 +lon_0=39 +proj=tmerc +towgs84=131816.088935,709503.13883,-151162.567509 +x_0=7500000 +y_0=0
Residuals:
-25.0151378289 56.3212437415 a
-20.7409311626 -49.4335769815 b
14.0183483474 -54.3849209398 c
27.5598620605 48.8730237735 d
4.17905306164 -1.38975803088 e
Почему такие параметры я не знаю.
Re: Определение параметров СК
Добавлено: 04 авг 2016, 16:26
Игорь Белов
Попробуйте во входном файле порядок координат X, Y вместо Y, X.