Определение параметров СК

Системы координат, проекции, преобразования, привязка
DDim
Интересующийся
Сообщения: 24
Зарегистрирован: 24 дек 2015, 15:22
Репутация: 1

Re: Определение параметров СК

Сообщение DDim » 03 авг 2016, 11:01

Ariki писал(а):Если есть возможность, проверьте: без обратной связи я легко могу допустить ошибку и не заметить.
Спасибо! Может смогу разобраться со скриптом, для того чтобы руками считать мне явно не хватает знаний :(
Второй вариант, ложится "правильнее" первого.
Если честно, для моих задач хватило и ваших первых ответов, просто тут появилось свободное время и решил вот попробовать сам вычислить эти три параметра. Взял уже более удаленные точки (не по 50 м), но так и не понял что с ними делать. Приложил координаты в файлах, интересно какие параметры получаться с ними, если вам конечно не сложно их вычислить.
Вложения
Точки_МСК61_зона_2.txt
(128 байт) 536 скачиваний
Точки_МЖСК.txt
(103 байт) 559 скачиваний

Ariki
Гуру
Сообщения: 731
Зарегистрирован: 12 янв 2011, 22:40
Репутация: 304
Ваше звание:

Re: Определение параметров СК

Сообщение Ariki » 03 авг 2016, 13:27

Похоже, ваши точки лучше всего описываются не трёхмерной трансформацией, а трансформацией подобия на плоскости:

Код: Выделить всё

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 см.
Последний раз редактировалось Ariki 03 авг 2016, 13:53, всего редактировалось 1 раз.

Донецков
Гуру
Сообщения: 3058
Зарегистрирован: 19 май 2010, 19:44
Репутация: 189

Re: Определение параметров СК

Сообщение Донецков » 03 авг 2016, 13:37

Это уже аффинные преобразования, которые можно добавить в параметры в MapInfo, но с для +proj такое напрямую не сделаешь ...

DDim
Интересующийся
Сообщения: 24
Зарегистрирован: 24 дек 2015, 15:22
Репутация: 1

Re: Определение параметров СК

Сообщение DDim » 03 авг 2016, 14:32

Донецков писал(а):Это уже аффинные преобразования, которые можно добавить в параметры в MapInfo, но с для +proj такое напрямую не сделаешь ...
мне для неё и надо, не подскажете как строку составить для mapinfo.proj?

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

Re: Определение параметров СК

Сообщение trir » 03 авг 2016, 14:42


DDim
Интересующийся
Сообщения: 24
Зарегистрирован: 24 дек 2015, 15:22
Репутация: 1

Re: Определение параметров СК

Сообщение DDim » 03 авг 2016, 14:54

Донецков писал(а):Это уже аффинные преобразования, которые можно добавить в параметры в MapInfo, но с для +proj такое напрямую не сделаешь ...
спасибо, оказалось достаточно открыть справку мапинфо и там всё есть, прошу прощения за предыдущий вопрос.

DDim
Интересующийся
Сообщения: 24
Зарегистрирован: 24 дек 2015, 15:22
Репутация: 1

Re: Определение параметров СК

Сообщение DDim » 04 авг 2016, 10:17

Ariki писал(а):У меня есть более-менее универсальный скрипт, который это делает:
https://github.com/Ariki/guessproj
Убил вчера кучу времени но вроде заставил работать питон и все библиотеки на своей Винде, и вот не понял как именно три параметра эти подобрать.
Сделал файл с координатами точек:

Код: Выделить всё

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
ну и имя файла, ну и вываливается выдается фигня :(

Вот тут не вижу как отдельно указать эти три параметра, может в этом дело?

Ariki
Гуру
Сообщения: 731
Зарегистрирован: 12 янв 2011, 22:40
Репутация: 304
Ваше звание:

Re: Определение параметров СК

Сообщение Ariki » 04 авг 2016, 12:15

А что за фигня вываливается?

Перед первой строчкой файла, не содержащей данные, поставьте знак #.
Названия точек (последний столбец) лучше не начинать с цифры: в некоторых случаях скрипт может решить, что это высоты.
Для известной СК нужно явно задать параметры +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

DDim
Интересующийся
Сообщения: 24
Зарегистрирован: 24 дек 2015, 15:22
Репутация: 1

Re: Определение параметров СК

Сообщение DDim » 04 авг 2016, 14:38

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 с одной тильдой, а надо было перед каждым параметром как у вас:

Код: Выделить всё

+towgs84=~0,~0,~0
ну и я перепутал X и Y в известной СК в столбцах )

Крутой скрипт, спасибо!

Ну и на большой площади лучше оказалось пользоваться параметрами аффинного преобразования, что вы дали выше. Видимо, это связано с тем что по сути координаты у меня с плана (чертеж в автокаде) и я так понимаю там они просто плоские прямоугольные по сути, просто цифры от МЖСК этой.

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

Re: Определение параметров СК

Сообщение stout » 04 авг 2016, 14:58

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
условие Коши-Римана вполне соблюдается.

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

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

Как видите, разброс в пределах двадцати сантиметров.
The purpose of computing is insight, not numbers

DDim
Интересующийся
Сообщения: 24
Зарегистрирован: 24 дек 2015, 15:22
Репутация: 1

Re: Определение параметров СК

Сообщение DDim » 04 авг 2016, 15:42

Игорь Белов писал(а):Странные, однако, у Вас три параметра получаются.
это, видимо, потому что я в скрипт от Ariki задаю не трехмерные геоцентрические, а прям как есть координаты в "МСК61 зона 2" и "МЖСК".

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

Re: Определение параметров СК

Сообщение Игорь Белов » 04 авг 2016, 15:50

DDim писал(а):это, видимо, потому что я в скрипт от Ariki задаю не трехмерные геоцентрические, а прям как есть координаты в "МСК61 зона 2" и "МЖСК".
Очевидно, скрипт Ariki и кушает плоские координаты, иначе не нужны были бы параметры +proj.
The purpose of computing is insight, not numbers

DDim
Интересующийся
Сообщения: 24
Зарегистрирован: 24 дек 2015, 15:22
Репутация: 1

Re: Определение параметров СК

Сообщение DDim » 04 авг 2016, 16:09

Игорь Белов писал(а): Очевидно, скрипт 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
Почему такие параметры я не знаю.

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

Re: Определение параметров СК

Сообщение Игорь Белов » 04 авг 2016, 16:26

Попробуйте во входном файле порядок координат X, Y вместо Y, X.
The purpose of computing is insight, not numbers

Ответить

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

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

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