В который раз преобразование GPS в X Y

Системы координат, проекции, преобразования, привязка
kostyl_kostyl
Новоприбывший
Сообщения: 8
Зарегистрирован: 10 авг 2009, 09:35
Репутация: 0

В который раз преобразование GPS в X Y

Сообщение kostyl_kostyl » 10 авг 2009, 09:49

Добрый день.
Прошу помощи в разъяснении алгоритма преобразования GPS координат в X Y проекцию на плоскости. Я пробовал преобразовывал по формулам, но у меня ничего не получается. Суть в том что у меня есть точка в X, Y координатах (0; 0). Мне надо вычислить координаты X, Y если у меня есть координаты GpsX и GpsY в формате DD.DDDDDD относительно этой точки. Исходя из вышеуказанных формул я сделал допущение относительно отрезков dlat и dlon в том что они тоже начинаются относительно этой точки приравняв их начала нулям. Сответсвенно X = 63781370 *(1 - e ^ 2) * GpsX; Y = 63781370 * GpsY. Но у меня получилась не изогнутая проекция, то есть то же самое, что и взять просто Gps координаты и нарисовать ими на плоскости. Может кто пояснит в чем проблема и скажет как правильно преобразовать?
Заранее благодарю.
(пс. кстати что есть lat а что log если X - вправо на лево, а Y - снизу вверх )

feya
Интересующийся
Сообщения: 25
Зарегистрирован: 08 июл 2009, 11:00
Репутация: 0

Re: В который раз преобразование GPS в X Y

Сообщение feya » 10 авг 2009, 14:31

А вы какую проекцию хотите в итоге получить?

lat - широта т.е. по оси Y
log - долгота т.е. по оси X

kostyl_kostyl
Новоприбывший
Сообщения: 8
Зарегистрирован: 10 авг 2009, 09:35
Репутация: 0

Re: В который раз преобразование GPS в X Y

Сообщение kostyl_kostyl » 10 авг 2009, 14:43

Ну надо чтобы Х был с запада на восток. А У - от экватора на север. Мне надо нарисовать на плоскости объекты с Гугла по их GPS координатам.

feya
Интересующийся
Сообщения: 25
Зарегистрирован: 08 июл 2009, 11:00
Репутация: 0

Re: В который раз преобразование GPS в X Y

Сообщение feya » 10 авг 2009, 16:48

Ну если вам не нужна какаято особая проекция то рисуйте просто:
x:=round([Ширина вашей плоскости]/2+Lon*([Ширина вашей плоскости]/360))
y:=round([Ширина вашей плоскости]/2-Lat*(([Ширина вашей плоскости]/2)/180))

kostyl_kostyl
Новоприбывший
Сообщения: 8
Зарегистрирован: 10 авг 2009, 09:35
Репутация: 0

Re: В который раз преобразование GPS в X Y

Сообщение kostyl_kostyl » 10 авг 2009, 19:54

Не то что бы не нужна особая, - нужна. Мне нужна привязка к системе СИ , к метрам, чтобы я знал координаты всех точек в метрах относительно базовой (0;0) и мог вычислять расстояние между ними уже в метрах по стандартной формуле.

feya
Интересующийся
Сообщения: 25
Зарегистрирован: 08 июл 2009, 11:00
Репутация: 0

Re: В который раз преобразование GPS в X Y

Сообщение feya » 10 авг 2009, 22:01

x:=radiusa*lon/2;
y:=radiusa*Ln(Tan(PI/4+lat/2)*Power((1-exct*Sin(lat))/(1+exct*Sin(lat)),exct/2))/2;

Для гугла:
radiusa=6378137
exct=0

kostyl_kostyl
Новоприбывший
Сообщения: 8
Зарегистрирован: 10 авг 2009, 09:35
Репутация: 0

Re: В который раз преобразование GPS в X Y

Сообщение kostyl_kostyl » 11 авг 2009, 10:07

А в этой формуле надо тангенс ограничивать, а то у меня Y уходит за пределы диапазонов?
И еще, действительно ли это в метрах, почему именно так? Это расстояние в метрах от Гринвича получается?

feya
Интересующийся
Сообщения: 25
Зарегистрирован: 08 июл 2009, 11:00
Репутация: 0

Re: В который раз преобразование GPS в X Y

Сообщение feya » 12 авг 2009, 00:09

А в этой формуле надо тангенс ограничивать, а то у меня Y уходит за пределы диапазонов?
Нет, не надо.
И еще, действительно ли это в метрах
В метрах
почему именно так
Не знаю, не я придумывал)
Это расстояние в метрах от Гринвича получается?
[del]да[/del] Я дурак)

ЗЫ Вы на чем пишете?
Последний раз редактировалось feya 13 авг 2009, 00:43, всего редактировалось 1 раз.

kostyl_kostyl
Новоприбывший
Сообщения: 8
Зарегистрирован: 10 авг 2009, 09:35
Репутация: 0

Re: В который раз преобразование GPS в X Y

Сообщение kostyl_kostyl » 12 авг 2009, 09:39

feya писал(а):ЗЫ Вы на чем пишете?
На Delphi.
Логарифм отрицательного числа дает -NAN
Например lat = 52.626
tan(pi/4 + lat/2) = -2.39953
ln(-2.39953) = - NAN

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: В который раз преобразование GPS в X Y

Сообщение Mavka » 12 авг 2009, 10:06

Виноват, ошибся.
tan(pi/4 + lat/2), т.к. pi/4 то lat нужно в радианах; или pi/4 = 45 градусов
лангольеры под окном жрали время ом-ном-ном

feya
Интересующийся
Сообщения: 25
Зарегистрирован: 08 июл 2009, 11:00
Репутация: 0

Re: В который раз преобразование GPS в X Y

Сообщение feya » 12 авг 2009, 10:57

Да, lon и lat конечно в радианах.

kostyl_kostyl
Новоприбывший
Сообщения: 8
Зарегистрирован: 10 авг 2009, 09:35
Репутация: 0

Re: В который раз преобразование GPS в X Y

Сообщение kostyl_kostyl » 12 авг 2009, 11:56

А как перевести 52.626 в радианы? 52.626 взято из гугла. Я без понятия какие у них единицы, скорее всего DD.DDDDDD.

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: В который раз преобразование GPS в X Y

Сообщение Mavka » 12 авг 2009, 12:03

radian = degree / 360 * (2 * pi)
2pi - полный оборот в радианах, соответствует 360 градусам
лангольеры под окном жрали время ом-ном-ном

kostyl_kostyl
Новоприбывший
Сообщения: 8
Зарегистрирован: 10 авг 2009, 09:35
Репутация: 0

Re: В который раз преобразование GPS в X Y

Сообщение kostyl_kostyl » 12 авг 2009, 12:22

Перевел в радианы - другое дело, все стало на свои места. Спасибо. А Гривнич что гдето в Польше чтоли. Потому как ноль по Х у меня где-то там( ну или на западе Польши точно не разберу)?

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: В который раз преобразование GPS в X Y

Сообщение Mavka » 12 авг 2009, 13:08

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

Ответить

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

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

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