f Соотношение карт, координат, датумов, проекций
Гонки и путешествия под парусом
Новости Регаты Рулевые Форум Видео Фотоконкурс Справочник

Автор Тема: Соотношение карт, координат, датумов, проекций  (Прочитано 2376 раз)

0 Пользователей и 1 Гость смотрят эту тему.

Ёж

  • Сообщений: 3167
  • Уважуха: +126/-96
  • Тяжелая байдарка пр. "Амдерма"
  • Название: Севпростор
Друзья, у меня чет мозг вынесло)) А тут, наверно, есть люди разбирающиеся. Сразу скажу, что это все без какой-либо связи с Ози, а просто так, сфероконь в вакууме.

Вот есть, например "генштабовский" лист с озиковской привязкой. Стал я думать, как его привязать не в Ози, а вообще, по некоему собственному алгоритму без использования каких-либо сторонних библиотек. Ну, конечно, стал читать всякое про датумы, проекции. В итоге совсем запутался, и меня напрочь переклинило. Блин, как это все работает, я не понимаю!

Значит, смотрю я на тонны имеющихся у меня карт с привязкой и вижу, что привязаны они все по 9 точкам. Вот скажите, как на самом деле нарисованы генштабовские карты? Они ж имеют форму развертки конуса, да? Как это соотносится с километровой сеткой на них? Кроме того - калибровочные точки - они идут, как правило в 3 ряда по 3 штуки в ряду. Чисто умозрительно - они как бы лежат на кривой. Эта кривая - это дуга круга или нет? Я имею в виду, что калибровочные точки имеют одну широту, но на карте через них можно построить кривую. Если это дуга круга - то не проще ли соотносить координаты пикселей на картинке с географическими координатами через эти самые дуги? Отбросив разные примочки в виде датума и проекции.

Ну, извиняюсь, если сумбурно написал. Просто я в затупке. Помогите пожалуйста, а то я из-за этого работать не могу - зациклился на этой фигне и никак не сосредоточиться на другом.
« Последнее редактирование: 15 Ноября, 2016, 18:13:57 от Ёж »
Везучий чайник www.sevprostor.ru

Бортмеханик

  • Сообщений: 999
  • Уважуха: +53/-31
  • Название: Desafinado
Ну, извиняюсь, если сумбурно написал.
Действительно, сумбурно :)
Ты скажи, чё те надо ? Какая конечная цель?
Хочешь чтобы GPS-ка координаты в километрах выдавала?
Или чтобы OZI  в СК-42 показывал ?
Анатолий
---------------------------
...Тут бортмеханик в кабину вбежал, И говорит, мол, ... нам настал... (с)

Ёж

  • Сообщений: 3167
  • Уважуха: +126/-96
  • Тяжелая байдарка пр. "Амдерма"
  • Название: Севпростор
Ну, извиняюсь, если сумбурно написал.
Действительно, сумбурно :)
Ты скажи, чё те надо ? Какая конечная цель?
Хочешь чтобы GPS-ка координаты в километрах выдавала?
Или чтобы OZI  в СК-42 показывал ?
Да не, кроссплатформенный велосипед изобретаю)) Собственно, пытаюсь придумать, как ловчее интерпретировать карту. На самом деле, все уже придумано в начале 20 века и называется проекцией Гаусса-Крюгера. Просто это дело переварить надо как-то. А то в статьях даже алгоритмы привязки расписаны.
Везучий чайник www.sevprostor.ru

Ёж

  • Сообщений: 3167
  • Уважуха: +126/-96
  • Тяжелая байдарка пр. "Амдерма"
  • Название: Севпростор
Ну и кстати, длины дуг на разных широтах - это табличные значения из справочников. Я помню, мне задача вычисления расстояний между точками по дуге большого круга - тоже мозг вынесла. Но я где-то нашел какую-то адскую формулу, которую и применил в итоге. Скрипт весьма успешно работает и поныне у меня на сайте. Видимо, это сходные задачи с нынешней.
Везучий чайник www.sevprostor.ru

Ёж

  • Сообщений: 3167
  • Уважуха: +126/-96
  • Тяжелая байдарка пр. "Амдерма"
  • Название: Севпростор
Вот, нашел, где куча формул и объяснений есть. Ну, попробую разобраться. http://kadastrua.ru/kartografiya/346
Тут ведь главная проблема в криволинейности топокарт.
Везучий чайник www.sevprostor.ru

Ёж

  • Сообщений: 3167
  • Уважуха: +126/-96
  • Тяжелая байдарка пр. "Амдерма"
  • Название: Севпростор
Ну че все молчат, математиков чтоли нет?

Короче, проблема в нахождении точки на карте по заданным географическим координатам. Я думал-думал, и подумал, что если задача у нас - навигация на лодке, то всеми этими жуткими рассчетами можно пренебречь. В чем это выражается? Значит, есть у нас карта с привязкой по 9 точкам. Т.е. по 3 точки на каждой стороне и одна в середине. Не будем рассчитывать кривые по формулам, а допустим, что по 3 точкам на каждой стороне у нас строятся окружности (на самом деле они неправильные, но мы на это забьем). Короче, мы в итоге получаем 3 опорных окружности по широтам с известными радиусами и известной разницой в положении  их центров. Допустим, нам надо построить окружность, зная только ее широту. Берем две окружности, меду которых должна находиться новая, и произодим морфинг в нное количество итераций. Получаем искомую окружность. Так же поступаем и с долготами. Как-то так.
Везучий чайник www.sevprostor.ru

Александр Хазацкий

  • Сообщений: 1952
  • Уважуха: +119/-24
Эту задачу никогда не решал.
Скорее всего, я бы аппроксимировал трапеции и не парился. Скорее всего, ошибка будет минимальной. Может быть это не очень правильно.
Думаю здесь важнее конвертировать полученные координаты из  Пулково-1942 в WGS84. Они используют разные эллипсоиды. Я бы поискал библиотечку для конвертации.

Но вообще, не понимаю зачем это нужно во времена sasplanet.

Ёж

  • Сообщений: 3167
  • Уважуха: +126/-96
  • Тяжелая байдарка пр. "Амдерма"
  • Название: Севпростор
Эту задачу никогда не решал.
Скорее всего, я бы аппроксимировал трапеции и не парился. Скорее всего, ошибка будет минимальной. Может быть это не очень правильно.
Думаю здесь важнее конвертировать полученные координаты из  Пулково-1942 в WGS84. Они используют разные эллипсоиды. Я бы поискал библиотечку для конвертации.

Но вообще, не понимаю зачем это нужно во времена sasplanet.
Для Линукса есть саспланет? Да и очень много лишнего в саспланете. Она ж для интернета только, а мне оффлайновый навигатор нужен с простым человекопонятным набором карт по листам в обычной человеческой номенклатуре. Я просто в будущем хочу иметь простенький и очень узкоспециализированный навигаторчик, который будет работать на одноплатном компьютере на линуксе, который будет сочетать в себе и собственно навигатор, и эхолот, и погодную станцию, и АСУ для лодки. Вот, сейчас только начал, можно сказать.
Везучий чайник www.sevprostor.ru

Ёж

  • Сообщений: 3167
  • Уважуха: +126/-96
  • Тяжелая байдарка пр. "Амдерма"
  • Название: Севпростор
И я может чего-то не понимаю пока, но в чем проблема конвертации WGS84 в Пулково42 и обратно? Там весь конвертер в 3 строчки кода помещается. Но все равно - какая разница? Географические координаты ведь для всех одинаковвые. Или что-то и тут кроется?

По аппроксимации в трапеции, кстати, думаю, что это некорректно будет работать уже на двухкилометровках в высоких широтах. Так что надо круги мутить. А вот вдоль долгот вполне можно и линиями.
« Последнее редактирование: 15 Ноября, 2016, 23:28:41 от Ёж »
Везучий чайник www.sevprostor.ru

Александр Хазацкий

  • Сообщений: 1952
  • Уважуха: +119/-24
И я может чего-то не понимаю пока, но в чем проблема конвертации WGS84 в Пулково42 и обратно? Там весь конвертер в 3 строчки кода помещается. Но все равно - какая разница? Географические координаты ведь для всех одинаковвые. Или что-то и тут кроется?
Я всегда думал, что географические координаты разные. Там же разные эллипсоиды. Условно говоря, в одном случае считается, что Земля имеет форму яблока, в другом - груши. Но может быть там небольшие погрешности и можно пренебречь.
А если по честному конвертировать, то там должно быть не три строчки. Но, возможно, я ошибаюсь.

А sasplanet позволяет выгрузить карту в куче форматов. Можно выбрать наиболее удобный и использовать в своем приложении в оффлайне.