Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2010.11.14;
Скачать: [xml.tar.bz2];

Вниз

Как определить географические координаты на плоской карте?   Найти похожие ветки 

 
@!!ex ©   (2010-08-06 08:53) [0]

Есть обычная плоская географическая карта(развертка сферы на плоскость).
Типа такой:
http://astrolab.ru/cgi-bin/img.cgi?i=5/00000017.jpg&p=galery

Пользователь кликает на карте мышкой.
Нужно сделать две вещи:
1) Определить географические координаты клика(широта/долгота)
2) Определить расстояние до предыдущего клика

Как это проще всего сделать?


 
12 ©   (2010-08-06 08:56) [1]

Думаю что, заранее связать матрицу координат с картинкой


 
KilkennyCat ©   (2010-08-06 08:57) [2]

1:10000


 
12 ©   (2010-08-06 08:58) [3]

еще
по таким картам ни за что не определить координаты клика в Гренладии, на Аляске, на Чукотке
Адекватна только приэкваториальная зона


 
@!!ex ©   (2010-08-06 09:02) [4]


> [2] KilkennyCat ©   (06.08.10 08:57)

Нет. Так не выйдет. Это же прямоугольник. а координаты на сфере. на экваторе можно просто брать значения, а ближе к полсам идет искажение, которое надо учитывать. Как?

> [3] 12 ©   (06.08.10 08:58)
> по таким картам ни за что не определить координаты клика
> в Гренладии, на Аляске, на Чукотке
> Адекватна только приэкваториальная зона

Вот-вот. :)


 
Anatoly Podgoretsky ©   (2010-08-06 09:14) [5]

> @!!ex  (06.08.2010 08:53:00)  [0]

Ты видишь какая Антарктида большая, хрен измеришь


 
Anatoly Podgoretsky ©   (2010-08-06 09:15) [6]

> @!!ex  (06.08.2010 09:02:04)  [4]

Проще всего по таблице соответствий и далее расчет по формуле


 
RWolf ©   (2010-08-06 09:17) [7]


> @!!ex ©   (06.08.10 09:02) [4]
>  Это же прямоугольник. а координаты на сфере. на экваторе
> можно просто брать значения

Значения чего? в распоряжении программы только широта и долгота, их всё равно придётся переводить в километры, что на экваторе, что в гренландии.


 
MBo ©   (2010-08-06 09:58) [8]

Для начала надо узнать, какая проекция используется.


 
12 ©   (2010-08-06 09:59) [9]

можно так рассуждать
Центральная линия - экватор, 40 000 км
Верхняя и нижняя - полюсы, 0 км

посчитать произвольную линию неа картинке как
2 Pi sqrt ((полурадиус Земли) в двадрате - (отдаление плоскости сечения Земли от центра) в квадрате)


 
Jeer ©   (2010-08-06 10:00) [10]


> Как это проще всего сделать?


Открыть книжку "Картография" и вникнуть в существо вопроса.

Почитать о проекциях Меркатора ( поперечных ) и основанных на них пространственных системах координат ( ПСК ), таких как UTM и/или Гаусса-Крюгера.


 
Jeer ©   (2010-08-06 10:01) [11]


> Для начала надо узнать, какая проекция используется.


Очень часто сделать это ( узнать ) для сдернутого откуда-то растрового рисунка можно только предположительно :)


 
RWolf ©   (2010-08-06 10:02) [12]

> 12 ©   (06.08.10 08:58) [3]
> еще по таким картам ни за что не определить координаты клика
> в Гренладии, на Аляске, на Чукотке
> Адекватна только приэкваториальная зона

почему? градусы на такой проекции получаются из координат клика простым масштабированием, искажений нет в принципе.


 
RWolf ©   (2010-08-06 10:08) [13]


>  [12]

впрочем, в условиях задачи ничего не сказано про равномерность координат по Y; скажем, в проекции с сохранением площадей это условие соблюдаться не будет.


 
Jeer ©   (2010-08-06 10:18) [14]


> RWolf ©   (06.08.10 10:08) [13]


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


 
12 ©   (2010-08-06 10:25) [15]


> RWolf ©
[12]
[13]

Наверняка и в том и в др.случае можно извратится как-нить

но и выходит, что, наверное, проще
> Думаю что, заранее связать матрицу координат с картинкой
A:Array of array of tPoint; где храним круговые координаты
по углам они будут повторятся чаще, ближе к центру реже, в центре практически уникальны.
Для пиксела на картинке(группы рядом стоящих пикселов) - свой элемент матрицы.
Ткнули в картинку - достали соотв.элемент из матрицы. Посчитали


 
Медвежонок Пятачок ©   (2010-08-06 10:30) [16]

да можно все там определить. другое дело как именно.

представьте что на каждом квадратном метре земли лежит листок на котором напечатаны координаты.

берем и землю и делаем любую проекцию такой земли на плоскость.

какая бы искаженная она ни была, на ней все равно будут нарисованы правильные координаты. остается только сделать привязку пикселей битмапа к к координатам.

это я к тому, что задача в принципе решаема.


 
Jeer ©   (2010-08-06 10:49) [17]

Сплошные велосипедисты :)


 
12 ©   (2010-08-06 11:31) [18]


> Jeer ©

походу, как и Alx2, скоро начну фигеть от кол-ва Ваших "хоббей" :)


 
Jeer ©   (2010-08-06 11:38) [19]

Если задача "любительская" и сделать предположение, что использована проекция типа "широта, долгота", т.е. "тупое" проецирование шара на касательный цилиндр, то все на уровне ЦПШ

y = R * tg(B) // "широта" в прямоугольной СК в [м]
Отсюда легко получаем B - географическую широту
R - средний радиус Земли

x = 2*PI * R // долгота в ПСК [м]

Зная, что гео-широта +/- 90, а гео-долгота +/- 180 - проблем с переводом быть не должно.


 
Jeer ©   (2010-08-06 11:56) [20]


> какая бы искаженная она ни была, на ней все равно будут
> нарисованы правильные координаты


В корне неверно.
Есть такое понятие, как эллипс искажения (идикатрисса Тиссо).
В учебниках по картографии они приводятся и хорошо видно, что типов проекций без искажений не существует.

В любой проекции существуют:
- искажения длин
- искажения углов
- искажения площадей
- искажения форм


 
12 ©   (2010-08-06 12:07) [21]


> В любой проекции существуют:
> - искажения длин

Ну, это вряд - ли
Существуют карты для прибрежного транспорта,  там вся карта - одна прямая :)
т.е. линия побережья вытянута в прямую линию, т.к. один фиг они вдоль берега ходят


 
Jeer ©   (2010-08-06 12:09) [22]


> Существуют карты для прибрежного транспорта,  там вся карта
> - одна прямая


Это уже не карта в картографическом понимании, а рисунок.


 
Pavia ©   (2010-08-06 12:14) [23]

Во первых координаты можно узнать в программе OziExplorer.

Только к изображению еще нужна привязка.

Теперь по поводу проекции. На сколько я понял чаще всего используется цилиндрическая проекция по алгоритму Mercator.

В сети много сайтов по проекциям карт но мне понравился вот этот.
http://members.shaw.ca/quadibloc/maps/mcy0101.htm

А так я бы поискал библиотеку, где все написано.

Кстати никто не знает почему долгота может расходится?


 
Думкин ©   (2010-08-06 12:17) [24]


> В любой проекции существуют:
> - искажения длин
> - искажения углов
> - искажения площадей
> - искажения форм

Все это выражается тем, что не существует изометрии с изменением кривизны.


 
12 ©   (2010-08-06 12:30) [25]


> Это уже не карта в картографическом понимании, а рисунок.

Как это, не карта..
Проекция? Проекция.
Реальные масштабы - вполне.

т.е. берем нитку, обкладываем вдоль берега, Байкал, например.
Где важные пункты на берегу или пристани - ставим на нитке зарубку
Потом нитку распрямляем, или распрямляем и в окружность замыкаем(, чтоб лес экономить :)) и все, телемаркет..

Скока горючки сожгем - померяли длинну дуги, посчитали.
Через сколько доедем из А в Б - померяли, на скорость нашего чудо-ковчега :) поделили


 
Jeer ©   (2010-08-06 12:35) [26]


> На сколько я понял чаще всего используется цилиндрическая
> проекция по алгоритму Mercator.


Чаще - где ?

Для морских карт - традиционная равноугольная цилиндрическая проекция ( Меркатор ), т.к. локсодромия пересекает меридианы под постоянным углом, что удобно при ручной прокладке пути.

Для СССР и России чаще всего использовалась разновидности конических проекций для карт мелкого масштаба ( миллионники )

Для генштабок ( топокарты) - цилиндрическая равноугольная проекция Гаусса-Крюгера. Меридианы в ней непараллельны.

В западной картографии используют разновидность цилиндрической проекции ( секущий цилиндр ) - универсальная поперечная проекция Меркатора (UTM), хотя это точнее и не проекция, а система координат.


 
Pavia ©   (2010-08-06 12:38) [27]


> Jeer ©   (06.08.10 11:38) [19]

Ошибка в выборе проекции. Хотя в 10 вы все правильно написали.

> Jeer ©   (06.08.10 11:56) [20]

Читай внимательнее. Координаты и формы это разные понятия.

12 -тый пробует изобретать не разобравшись в вопросе.

Анатолий толе дело говорит толе просто выпендривается. Скорее второе.
Так как слово datum так и не проскочило.

Самое странно никто библиотеку не по советовал. А значит тут нет профессионалов.


 
Медвежонок Пятачок ©   (2010-08-06 12:52) [28]

В корне неверно.
Есть такое понятие, как эллипс искажения (идикатрисса Тиссо).


Да хоть параллелипипед гиперискажения.
Какая разница-то?


 
Медвежонок Пятачок ©   (2010-08-06 12:54) [29]

Беру рисунок что выше по ссылке.
Беру каждый его пиксель.
Визуально привязываю пиксель на глобусе.
получаю тру координаты.
и так для каждого пикселя.

все.
после этого куда бы я ни ткнул на картинке я имею координаты


 
Jeer ©   (2010-08-06 12:55) [30]


> Как это, не карта..
> Проекция? Проекция.


Не будем спорить, т.к. к вопросу по теме Ваш пример отношения не имеет.
Это специальная карта (специальный картографический рисунок в масштабе), для решения частных задач специальной группы пользователей.
Проекциями там и не пахнет :)


 
Anatoly Podgoretsky ©   (2010-08-06 12:58) [31]

> Jeer  (06.08.2010 12:55:30)  [30]

А мы его заставим координаты по этой карте вычислять, веревку и мыло за его
счет.


 
Jeer ©   (2010-08-06 12:58) [32]


> > Jeer ©   (06.08.10 11:56) [20]
>
> Читай внимательнее. Координаты и формы это разные понятия.
>


Хэх, я-то прочитал "лежат квадраты" :)


 
Jeer ©   (2010-08-06 13:07) [33]


> Так как слово datum так и не проскочило.
>
> Самое странно никто библиотеку не по советовал. А значит
> тут нет профессионалов.


Датум или референц-эллипсоид для его случая не принципиальны.

На рисунке у него явно цилиндрическая нормальная проекция.

Зачем ему супер-пупер библиотека ?


 
Pavia ©   (2010-08-06 13:36) [34]

У меня в принципе аналогичный случай.

> Зачем ему супер-пупер библиотека ?

Да хотя бы чтобы ему не разбираться в WGS84 и СК42.
У негоже еще координаты в WGS получаются с GPS. А тут выговорите о  проекции шара на цилиндер.  Т.е надо эллипсоид WGS84 к шару приводить? Или как?


> Датум или референц-эллипсоид для его случая не принципиальны.

С референц-эллипсоид я еще не разбирался. Но может он влиять на долготу? И на сколько сильно?


 
Jeer ©   (2010-08-06 14:36) [35]


> Pavia ©   (06.08.10 13:36) [34]
>
> У меня в принципе аналогичный случай.


Я не знаю какие у вас с ним задачи.
Для того, чтобы ткнуть мышкой в указанный им растровый файл и получить гео-координаты, вполне достаточно (по виду карты) предположения о том, что это нормальная цилиндрическая проекция.
Для такого случая точности ( мышкой в экран ) не стоит заморачиваться с эллипсоидом, вполне достаточно шара.
Т.е. мы имеем шар, вписанный соосно в цилиндр, высотой в диаметр шара.
Вычисления тут простейшие.

Референц-эллипсоид, как и datum - это составляющие геодезической системы координат (ГСК).
Первая описывает сфероид ( эллипсоид ), как приближение к форме Земли, вторая - ориентацию сфероида, относительно геоида.

Опять же, для его случая точности, совершенно безразлично какой datum.


 
Jeer ©   (2010-08-06 14:51) [36]

Библиотека, хорошо известная профи:
http://trac.osgeo.org/proj/


 
12 ©   (2010-08-06 14:54) [37]


> Датум или референц-эллипсоид


> ориентацию сфероида, относительно геоида.

вот, блин, ты, Александр, спросил на свою шею :)


 
Jeer ©   (2010-08-06 15:18) [38]

Геоид - это гравитационная модель Земли, с заданной точностью описывающая функцию геопотенциала на поверхности и совпадающий с центром масс земли.

Сфероид ( эллипсоид ), имеющий международное значение и совпадающий по началу координат с геоидом - это WGS84.
Отклонение от ц.м. Земли менее 2 см, нулевой меридиан отстоит от Гринвичского на ~ 5.3 уг.сек.

В России также существует геоцентрическая СК SGS85, основанная на отечественном же сфероиде SGS85. (ГЛОНАСС)

Топоцентрические СК.

Вместе с тем в различных странах, пользуются локальными сфероидами (эллипсоидами), которые имеют смещения (локальные датумы), относительно геоида, в т.ч. и от WGS.

В России - это эллипсоид Красовского и  СК Пулково (42, 63 ( военная), 91 )


 
Dimka Maslov ©   (2010-08-06 21:03) [39]

Берём любой учебник по геодезии. Там всё прекрасно расписано, как с карты снять координаты.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2010.11.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.55 MB
Время: 0.005 c
15-1280907858
12
2010-08-04 11:44
2010.11.14
Мысленное управление. Не обманывают ли?


15-1280996881
abun
2010-08-05 12:28
2010.11.14
Как программно отследить события


8-1180596214
Yert
2007-05-31 11:23
2010.11.14
Перекрытие SNDPlaySound


15-1280788269
Германн
2010-08-03 02:31
2010.11.14
Помимо перехода на версии Win старше ХР


2-1281707135
PavDimka
2010-08-13 17:45
2010.11.14
Передача данных через интернет





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский