Преобразование координат WGS84 to UTM

Системы координат, проекции, преобразования, привязка
Ответить
Никита
Новоприбывший
Сообщения: 3
Зарегистрирован: 24 фев 2007, 14:03
Репутация: 0

Преобразование координат WGS84 to UTM

Сообщение Никита » 26 фев 2007, 09:40

Решил написать свою тулзу, работающую с GPS-приемником – отображение на карте текущего местоположения на карте в режиме on-line. Всё вроде готово, за исключением самого главного – непосредственно пересчета координат.
Как я понял, для отображения точки на карте нужно сделать следующее (общий подход) - координаты, полученные от GPS-а (lon/lat десятичные градусы в системе WGS84), перевести в плоские прямоугольные координаты проекции, после чего, основываясь на данных точек привязки к конкретной карте отобразить точку на карте.
Для экспериментов (выбрал пока самый простой вариант):
1. взял из Ozi готовую карту (перевел в формат .bmp) с точками привязки по углам (в градусах), система координат WGS84, проекция, как я предполагаю – UTM.
2. дальше, следуя моей же логике, используя некое преобразование, нужно иметь возможность переводить геодезические координаты в плоские прямоугольные координаты проекции. При этом координаты (в градусах) углов карты должны отобразиться в вершины !прямоугольника! плоской проекции (- здесь я не ошибаюсь?..) – это, в свою очередь даст возможность любую точку лежащую внутри прямоугольной проекции переносить на прямоугольный “рисунок” – мой исходный bmp файл, используя простую пропорцию (предполагается что растровая карта без искажений и никаких сложных полиномиальных преобразований (второго порядка и выше) не требуется).

Вопрос 1: моя логика верна?
Вопрос 2: какие формулы прямого и обратного преобразования (WGS84-> UTM и UTM->WGS84) нужно использовать?

(в ГОСТ 51794 указаны формулы типа
X = N * CosB * CosL
Y = N * CosB * SinL , (в 2D проекции)
но трудно понять что за величины X и Y получаются – какого это типа проекция? где учитывается номер зоны и что будет если середина зоны проходит по середине карты (или вообще – на карте несколько зон)? )

P.S. Я не специалист по GIS, но такими темпами :)… Интересная задача – ОЧЕНЬ хочется разобраться.

geologic
Гуру
Сообщения: 852
Зарегистрирован: 15 сен 2005, 13:19
Репутация: 6
Откуда: москва
Контактная информация:

Сообщение geologic » 26 фев 2007, 20:04

Зачем, почитайте FAQ, всё делается автоматически
http://gis-lab.info/qa/gps.html и дискусссия по нему
Все формулы пересчета можно найти на POSC.org

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9129
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 748
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Сообщение Максим Дубинин » 27 фев 2007, 00:26

И еще несколько ссылок:
Формулы: http://gis-lab.info/qa/wgs84-sk42-wgs84-formula.html
Можно также использовать готовые конвертеры, типа Proj
пристегивайтесь, турбулентность прямо по курсу

Никита
Новоприбывший
Сообщения: 3
Зарегистрирован: 24 фев 2007, 14:03
Репутация: 0

Сообщение Никита » 27 фев 2007, 13:09

Дело в том, что:
1. У меня простой приёмник в автомобильном исполнении Global Sat BR305 - таблетка на крышу автомобиля, которую я собираюсь подключать к покету, соответственно никаких настроек там нет. На входе уменя только NMEA, который я собственно и парсю - т.е. имею десятичные градусы в системе WGS84
2. Необходимости перевода координат из системы в систему (СК42 - WGS84), как я понимаю, у меня нет - нужно просто пересчитать географические координаты в координаты прямоугольной плоской проекции.
3. Формул, к сожалению, на POCS.org не нашел - честно говоря даже не понял в какую сторону копать... В какой-нибудь спецификации?

geologic
Гуру
Сообщения: 852
Зарегистрирован: 15 сен 2005, 13:19
Репутация: 6
Откуда: москва
Контактная информация:

Сообщение geologic » 28 фев 2007, 13:48

Копать, например, вот отсюда.
viewtopic.php?t=965
Ваша задача называется не "Просто пересчет", а проекционное преобразование. Кроме формул вам надо будет учесть датум ( параметры СК - эллипсоид, центр координат итп.

Всё это уже встроено в MapSource, например. Есть наверно, готовые решения и для вашего случая, зайдите на ближайший GPS-форум.

Никита
Новоприбывший
Сообщения: 3
Зарегистрирован: 24 фев 2007, 14:03
Репутация: 0

Сообщение Никита » 01 мар 2007, 19:53

Возник конкректный вопрос:

Здесь http://www.posc.org/Epicentre.2_2/DataM ... _cs35.html в п.3.5.2.1 приведены формулы преобазования вида
X = N * CosB * CosL
Y = N * CosB * SinL
.....
Преобразуются геодезические координаты (в системе WGS84 с соответствующим элипсоидом). Чего не могу понять - проекции какого типа получаются вследствие такого преобразования? Никакого учета зон нет - просто геометрическое преобразование.
Как с этим соотносится UTM прекция с её зонами (если соотносится вообще)?

Это, по моему, ключевое место моего непонимания. Надеюсь что кто-нибудь сможет разъяснить. Спасибо.

geologic
Гуру
Сообщения: 852
Зарегистрирован: 15 сен 2005, 13:19
Репутация: 6
Откуда: москва
Контактная информация:

Сообщение geologic » 02 мар 2007, 11:21

Вы не туда влезли. Там читать надо ВСЁ и по порядку разбираться, а вы сразу к формулам, притом не к тем - это геоцентрика.

Собственно про Transverse Mercator вот
http://www.posc.org/Epicentre.2_2/DataM ... cs34h.html
Но если вы в этом собираетесь плавать, лучше не браться, наломаете дров (в смысле софта :) ) Я делал пересчет меркатора в широту-долготу, но обычного - и то недели две разбирался по шагам, хотя географ с рождения. А ведь это лишь начало, далее вам нужно будет и датум учесть, если вы с российскими картами будете работать.

Для покета ведь тоже не так сложно с готовым софтом, задача типовая. Ставится Ozi либо Pусса (знаю), возможно mapSource есть для Pocket или ArcPad. Во всех этих программах проекции есть, UTM уж точно присутствует.

Да, и скачайте обязательно тот учебник, который MichaelP ссоветовал - там более четко изложено, и картинки более внятные.

Ответить

Вернуться в «Координаты и привязка»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя