Поиск сдвига координат
-
- Гуру
- Сообщения: 731
- Зарегистрирован: 12 янв 2011, 22:40
- Репутация: 304
- Ваше звание: ∀
Re: Поиск сдвига координат
Системная ошибка 2 — это, вроде бы, файл не найден. Убедитесь, что файл лежит в вашем текущем рабочем каталоге, или укажите полный путь к нему.
Мне подбирать параметры систем координат приходится часто, поэтому я автоматизировал процесс, написав скриптик на языке Python. Он использует метод наименьших квадратов и годится не только для проекции Гаусса—Крюгера, но и для многих других. Некоторые параметры можно зафиксировать, если они известны, и подбирать оставшиеся.
Не могу судить, насколько скрипт удобен для начинающих, так как писал изначально для себя, а до того подбирал методами, аналогичными тем, которые изложил ErnieBoyd в своей статье. Так что рекомендую пройти его руководство до конца, чтобы прочувствовать процесс и приобрести некоторый опыт. Для использования моего скрипта необходимо понимание параметров проекции в PROJ.4 и умение устанавливать питоновские модули (под Windows это не всегда тривиально).
Мне подбирать параметры систем координат приходится часто, поэтому я автоматизировал процесс, написав скриптик на языке Python. Он использует метод наименьших квадратов и годится не только для проекции Гаусса—Крюгера, но и для многих других. Некоторые параметры можно зафиксировать, если они известны, и подбирать оставшиеся.
Не могу судить, насколько скрипт удобен для начинающих, так как писал изначально для себя, а до того подбирал методами, аналогичными тем, которые изложил ErnieBoyd в своей статье. Так что рекомендую пройти его руководство до конца, чтобы прочувствовать процесс и приобрести некоторый опыт. Для использования моего скрипта необходимо понимание параметров проекции в PROJ.4 и умение устанавливать питоновские модули (под Windows это не всегда тривиально).
-
- Новоприбывший
- Сообщения: 12
- Зарегистрирован: 10 июн 2015, 13:04
- Репутация: 0
Re: Поиск сдвига координат
НЕ АКТУАЛЬНО
Всем спасибо, вроде справился с задачей, вот моё решение:
Теперь возникла новая проблема, при помощи сервиса http://cs2cs.mygeodata.eu/ всё работает, координаты преобразуются, однако при попытке что-то сделать в своей командной строке возвращается вот такой результат:
Из командной строки 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 +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 раз.
-
- Новоприбывший
- Сообщения: 12
- Зарегистрирован: 10 июн 2015, 13:04
- Репутация: 0
Re: Поиск сдвига координат
НЕ АКТУАЛЬНО
Понял в чем ошибка, надо было так вызывать:
Теперь другой вопрос) как их вывести в таком формате 71.1234 51.1234 , а не 71d25'5.215"E 51d10'20.475"N 0.000 ?
Понял в чем ошибка, надо было так вызывать:
Код: Выделить всё
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
Последний раз редактировалось NBAH1990 15 июн 2015, 13:42, всего редактировалось 1 раз.
- Игорь Белов
- Гуру
- Сообщения: 2241
- Зарегистрирован: 04 янв 2011, 22:00
- Репутация: 1514
- Откуда: Казань
-
- Новоприбывший
- Сообщения: 12
- Зарегистрирован: 10 июн 2015, 13:04
- Репутация: 0
Re: Поиск сдвига координат
Всё, разобрался, Извиняюсь за флуд.
Вот окончательное решение для меня:
Если есть замечания по нему - пожалуйста скажите. Спасибо большое всем кто содействовал решению задачи. 
Вот окончательное решение для меня:
Код: Выделить всё
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

-
- Гуру
- Сообщения: 731
- Зарегистрирован: 12 янв 2011, 22:40
- Репутация: 304
- Ваше звание: ∀
Re: Поиск сдвига координат
А почему вы решили, что у вас проекция Ламберта (lcc)? Это маловероятно на просторах СНГ, тем более что ваши данные довольно хорошо ложатся на поперечную проекцию Меркатора (tmerc) с круглыми значениями параметров.
-
- Новоприбывший
- Сообщения: 12
- Зарегистрирован: 10 июн 2015, 13:04
- Репутация: 0
Re: Поиск сдвига координат
На самом деле я это не решил. Просто методом проб и ошибок нащупал наиболее приемлемое решение) Попробовал tmerc, с высоты моего понимания выглядит не менее хорошоAriki писал(а):А почему вы решили, что у вас проекция Ламберта (lcc)? Это маловероятно на просторах СНГ, тем более что ваши данные довольно хорошо ложатся на поперечную проекцию Меркатора (tmerc) с круглыми значениями параметров.

-
- Гуру
- Сообщения: 731
- Зарегистрирован: 12 янв 2011, 22:40
- Репутация: 304
- Ваше звание: ∀
Re: Поиск сдвига координат
Просто местные системы координат, как правило, построены на основе системы координат Гаусса—Крюгера (она же поперечная проекция Меркатора), и смещения по осям в них часто представляют собой круглые числа в метрах (либо смещение на целое число минут плюс круглое число в метрах). То же касается долготы осевого меридиана: там обычно целое число минут или даже градусов. Бывают, конечно, исключения, когда система координат строится от произвольной точки с произвольной ориентацией осей, но это реже.
В данном случае подбор долготы осевого меридиана сразу дал число, близкое к 70 градусам:
Я его смело округлил до этой величины, а затем заново определил смещения, которые оказались кратными полукилометру плюс-минус несколько десятков метров:
Эти величины тоже просятся, чтобы их округлили.
Параметры +towgs84, характеризующие взаимное положение эллипсоидов (а также часто используемые для компенсации деформаций геодезической сети), здесь взяты из российского ГОСТа и могут отличаться от реальных на данную территорию, но это может дать ошибку в худшем случае в пару десятков метров.
Таким образом, имея очень грубые исходные данные на небольшую территорию, мы определили параметры системы координат, которые с высокой вероятностью совпадут с её официальным засекреченным ключом. Но чтобы окончательно убедиться в этом, желательно проверить результат на независимом наборе точек.
В данном случае подбор долготы осевого меридиана сразу дал число, близкое к 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 гостя