Учет проекции при отображении координат
-
- Новоприбывший
- Сообщения: 2
- Зарегистрирован: 08 май 2007, 16:10
- Репутация: 0
Учет проекции при отображении координат
Привет уважаемым посетителям форума. У меня вопрос потрясающий своей наивностью. Работаю в другой области но появился заказ на программу, которая должна снимать данные с нескольких GPS приемников и отображать положение и маршруты объектов на карте. Заказчику понравились карты с Microsoft Encarta и их он хочет видеть в качестве подложки. На первом этапе мы просто считали землю плоской и "привязывали" карту к экрану путем задания соответствия координаты-положение на экране для двух и более точек. Но земля увы не плоская и возникают расхождения которые нужно учитывать. Собственно вопрос в том как это делать. Во первых, как определить проекцию карты, а во вторых существуют ли алгоритмы вычисления положения на карте точки с известными координатами для определенной проекции. Прочитал некоторое количество литературы о том как получаются различные проекции и чем они отличаются, но это не приблизило к решению проблемы. Буду очень благодарен за люьые наводки.
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9129
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 748
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Не очень понятно, в чем именно проблема. Вы спокойно можете работать в географической системе координат (использовать координаты типа долгота/широта) и отображать их в прямоугольной развертки. То есть для визуализации этого должно хватать, если у вас не полюса конечно.На первом этапе мы просто считали землю плоской и "привязывали" карту к экрану путем задания соответствия координаты-положение на экране для двух и более точек. Но земля увы не плоская и возникают расхождения которые нужно учитывать.
Имеете в виду выбрать проекцию? Или у вас есть карта в некой проекции и вам надо ее идентифицировать?Во первых, как определить проекцию карты
Сколько угодно, то что вам нужно, это либо найти формулы для проекционных преобразований (типа долгота/широта -> проекция) для выбранной проекции. Либо подключить готовую библиотеку для проекционных преобразований типа Proj.существуют ли алгоритмы вычисления положения на карте точки с известными координатами для определенной проекции
пристегивайтесь, турбулентность прямо по курсу
-
- Гуру
- Сообщения: 852
- Зарегистрирован: 15 сен 2005, 13:19
- Репутация: 6
- Откуда: москва
- Контактная информация:
Как это земля не плоская? Сколько раз доказывали и на этом форуме, и на других, в шешнадцатом веке. Могу ссылки подкинуть
Если серьезно, для ваших отображений проще считать что замля плоская - это удачная виртуальная модель. Забудьте про шар, и будет вам щастя. Мы все давно так работаем... и ничего.
Если ваша карта еще не выбрана, то возьмите проекцию "широта-долгота", типовую для ГИС. Карты также имеются бесплатные, закажите лишь оформляж любой ГИС-конторе. Координаты при этом пересчитывать не понадобится, поскольку сойдут географические, долгота равномерно идет по X, широта по Y. При визуализации можете задать простую коррекцию по широте, небольшое сжатие, как это делается в Мапинфо, чтобы форма объектов была приемлемой.
Если ваша карта в другой проекции, то тогда, конечно, нужен будет пересчет. Удобней меркаторская проекция - пересчет предельно простой, точность известна, алгоритмы выверены столетиями, никакие библиотеки не нужны. Форма объектов в меркаторе близка к идеальной. Вообще Меркатор спокон веку применяется для "большой" навигации.
Ну дальше вы скажете, что еще расстояния, мол, наш диспетчер захочет мерить, и пошло-поехало... Читайте школьный курс географии тогда, ту страницу где шар, конус, цилиндр, плоскость нарисованы

Если серьезно, для ваших отображений проще считать что замля плоская - это удачная виртуальная модель. Забудьте про шар, и будет вам щастя. Мы все давно так работаем... и ничего.
Если ваша карта еще не выбрана, то возьмите проекцию "широта-долгота", типовую для ГИС. Карты также имеются бесплатные, закажите лишь оформляж любой ГИС-конторе. Координаты при этом пересчитывать не понадобится, поскольку сойдут географические, долгота равномерно идет по X, широта по Y. При визуализации можете задать простую коррекцию по широте, небольшое сжатие, как это делается в Мапинфо, чтобы форма объектов была приемлемой.
Если ваша карта в другой проекции, то тогда, конечно, нужен будет пересчет. Удобней меркаторская проекция - пересчет предельно простой, точность известна, алгоритмы выверены столетиями, никакие библиотеки не нужны. Форма объектов в меркаторе близка к идеальной. Вообще Меркатор спокон веку применяется для "большой" навигации.
Ну дальше вы скажете, что еще расстояния, мол, наш диспетчер захочет мерить, и пошло-поехало... Читайте школьный курс географии тогда, ту страницу где шар, конус, цилиндр, плоскость нарисованы

-
- Новоприбывший
- Сообщения: 2
- Зарегистрирован: 08 май 2007, 16:10
- Репутация: 0
Спасибо за ответы. Идея программы действительно в визуализации, расчетов по карте выполнять не надо. Но объекты на которых стоят GPS это самолеты, размер карты примерно 300 на 300 км и на ней отклонения от "плоской" модели видны невооруженным взглядом, местами до 10 км. Действительно, наша задача сейчас это
- Определить тип проекции по картинке
- Попытаться учесть проекцию при расчете положения точки
Нашли интересный сайт http://mathworld.wolfram.com/topics/MapProjections.html
с массой алгоритмов. Пыьвемся ими воспользоваться.
- Определить тип проекции по картинке
- Попытаться учесть проекцию при расчете положения точки
Нашли интересный сайт http://mathworld.wolfram.com/topics/MapProjections.html
с массой алгоритмов. Пыьвемся ими воспользоваться.
-
- Гуру
- Сообщения: 852
- Зарегистрирован: 15 сен 2005, 13:19
- Репутация: 6
- Откуда: москва
- Контактная информация:
ну, как я понял, вас математика не пугает? Тогда расчехляем главный калибр
Полетные карты как раз меркаторские по преимуществу. Формулы меркатора тут, проверены в деле не раз.
http://www.posc.org/Epicentre.2_2/DataM ... cs34f.html
Еще стоящая вещь http://members.bellatlantic.net/~vze2hc ... manual.pdf . Там масса формул, и описана библиотека libproj.
И мой совет - наплюйте на энкартовскую картинку, сваять такую в ГИС хорошему картографу несложно. Плюс копирайт учтите - Билли Гейтс не добрый дядя

Полетные карты как раз меркаторские по преимуществу. Формулы меркатора тут, проверены в деле не раз.
http://www.posc.org/Epicentre.2_2/DataM ... cs34f.html
Еще стоящая вещь http://members.bellatlantic.net/~vze2hc ... manual.pdf . Там масса формул, и описана библиотека libproj.
И мой совет - наплюйте на энкартовскую картинку, сваять такую в ГИС хорошему картографу несложно. Плюс копирайт учтите - Билли Гейтс не добрый дядя

- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9129
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 748
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Все равно непонятно, что вы имеете в виду, то что визуально карта выглядит не так как вы хотите? Как вы определяете величину отклонения?размер карты примерно 300 на 300 км и на ней отклонения от "плоской" модели видны невооруженным взглядом, местами до 10 км.
пристегивайтесь, турбулентность прямо по курсу
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость