Поиск сдвига координат

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

Re: Поиск сдвига координат

Сообщение Ariki » 13 июн 2015, 01:33

Системная ошибка 2 — это, вроде бы, файл не найден. Убедитесь, что файл лежит в вашем текущем рабочем каталоге, или укажите полный путь к нему.

Мне подбирать параметры систем координат приходится часто, поэтому я автоматизировал процесс, написав скриптик на языке Python. Он использует метод наименьших квадратов и годится не только для проекции Гаусса—Крюгера, но и для многих других. Некоторые параметры можно зафиксировать, если они известны, и подбирать оставшиеся.

Не могу судить, насколько скрипт удобен для начинающих, так как писал изначально для себя, а до того подбирал методами, аналогичными тем, которые изложил ErnieBoyd в своей статье. Так что рекомендую пройти его руководство до конца, чтобы прочувствовать процесс и приобрести некоторый опыт. Для использования моего скрипта необходимо понимание параметров проекции в PROJ.4 и умение устанавливать питоновские модули (под Windows это не всегда тривиально).

NBAH1990
Новоприбывший
Сообщения: 12
Зарегистрирован: 10 июн 2015, 13:04
Репутация: 0

Re: Поиск сдвига координат

Сообщение NBAH1990 » 15 июн 2015, 13:13

НЕ АКТУАЛЬНО
Всем спасибо, вроде справился с задачей, вот моё решение:

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

+proj=lcc +lat_0=51.167798 +lon_0=71.425363 +lat_1=51.167939 +lat_2=51.178352 +k_0=1 +x_0=306 +y_0=-200.9 +ellps=krass
Теперь возникла новая проблема, при помощи сервиса http://cs2cs.mygeodata.eu/ всё работает, координаты преобразуются, однако при попытке что-то сделать в своей командной строке возвращается вот такой результат: Из командной строки proj открываю вот так:

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

proj +proj=lcc +lat_0=51.167798 +lon_0=71.425363 +lat_1=51.167939 +lat_2=51.178352 +k_0=1 +x_0=306 +y_0=-200.9 +ellps=krass +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs
пары координат просто через пробел ввожу

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

4257.8 17326.8
Что делаю не так?
Последний раз редактировалось NBAH1990 15 июн 2015, 13:41, всего редактировалось 1 раз.

NBAH1990
Новоприбывший
Сообщения: 12
Зарегистрирован: 10 июн 2015, 13:04
Репутация: 0

Re: Поиск сдвига координат

Сообщение NBAH1990 » 15 июн 2015, 13:22

НЕ АКТУАЛЬНО
Понял в чем ошибка, надо было так вызывать:

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

cs2cs +proj=lcc +lat_0=51.167798 +lon_0=71.425363 +lat_1=51.167939 +lat_2=51.178352 +k_0=1 +x_0=306 +y_0=-200.9 +ellps=krass +to +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs /srv/www/epkt.beta/test/coords.dat > new_coords.dat
Теперь другой вопрос) как их вывести в таком формате 71.1234 51.1234 , а не 71d25'5.215"E 51d10'20.475"N 0.000 ?
Последний раз редактировалось NBAH1990 15 июн 2015, 13:42, всего редактировалось 1 раз.

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

Re: Поиск сдвига координат

Сообщение Игорь Белов » 15 июн 2015, 13:38

man cs2cs
-f format
The purpose of computing is insight, not numbers

NBAH1990
Новоприбывший
Сообщения: 12
Зарегистрирован: 10 июн 2015, 13:04
Репутация: 0

Re: Поиск сдвига координат

Сообщение NBAH1990 » 15 июн 2015, 13:41

Всё, разобрался, Извиняюсь за флуд.
Вот окончательное решение для меня:

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

cs2cs +proj=lcc +lat_0=51.167798 +lon_0=71.425363 +lat_1=51.167939 +lat_2=51.178352 +k_0=1 +x_0=-200.9 +y_0=306 +ellps=krass +to +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs -f "%.12f" coords.dat > new_coords.dat
Если есть замечания по нему - пожалуйста скажите. Спасибо большое всем кто содействовал решению задачи. :D

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

Re: Поиск сдвига координат

Сообщение Ariki » 15 июн 2015, 13:45

А почему вы решили, что у вас проекция Ламберта (lcc)? Это маловероятно на просторах СНГ, тем более что ваши данные довольно хорошо ложатся на поперечную проекцию Меркатора (tmerc) с круглыми значениями параметров.

NBAH1990
Новоприбывший
Сообщения: 12
Зарегистрирован: 10 июн 2015, 13:04
Репутация: 0

Re: Поиск сдвига координат

Сообщение NBAH1990 » 15 июн 2015, 14:55

Ariki писал(а):А почему вы решили, что у вас проекция Ламберта (lcc)? Это маловероятно на просторах СНГ, тем более что ваши данные довольно хорошо ложатся на поперечную проекцию Меркатора (tmerc) с круглыми значениями параметров.
На самом деле я это не решил. Просто методом проб и ошибок нащупал наиболее приемлемое решение) Попробовал tmerc, с высоты моего понимания выглядит не менее хорошо :D , но если вы считаете что так будет правильнее, то наверное оставлю tmerc.

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

Re: Поиск сдвига координат

Сообщение Ariki » 15 июн 2015, 17:01

Просто местные системы координат, как правило, построены на основе системы координат Гаусса—Крюгера (она же поперечная проекция Меркатора), и смещения по осям в них часто представляют собой круглые числа в метрах (либо смещение на целое число минут плюс круглое число в метрах). То же касается долготы осевого меридиана: там обычно целое число минут или даже градусов. Бывают, конечно, исключения, когда система координат строится от произвольной точки с произвольной ориентацией осей, но это реже.

В данном случае подбор долготы осевого меридиана сразу дал число, близкое к 70 градусам:

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

+proj=tmerc +lat_0=0 +lon_0=69.96029514705428 +k=1 +x_0=-102256.9318235211 +y_0=-5672059.491069675 +ellps=krass +towgs84=23.57,-140.95,-79.8,0,-0.35,-0.79,-0.22 +units=m +no_defs
Я его смело округлил до этой величины, а затем заново определил смещения, которые оказались кратными полукилометру плюс-минус несколько десятков метров:

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

+proj=tmerc +lat_0=0 +lon_0=70 +k=1 +x_0=-99480.68984166057 +y_0=-5672005.041124901 +ellps=krass +towgs84=23.57,-140.95,-79.8,0,-0.35,-0.79,-0.22 +units=m +no_defs
Эти величины тоже просятся, чтобы их округлили.

Параметры +towgs84, характеризующие взаимное положение эллипсоидов (а также часто используемые для компенсации деформаций геодезической сети), здесь взяты из российского ГОСТа и могут отличаться от реальных на данную территорию, но это может дать ошибку в худшем случае в пару десятков метров.

Таким образом, имея очень грубые исходные данные на небольшую территорию, мы определили параметры системы координат, которые с высокой вероятностью совпадут с её официальным засекреченным ключом. Но чтобы окончательно убедиться в этом, желательно проверить результат на независимом наборе точек.

Ответить

Вернуться в «Я новичок!»

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

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