Форум: "Прочее";
Текущий архив: 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