Модераторы: maxim1000
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Преобразование координат 
:(
    Опции темы
gpepsi
Дата 30.5.2012, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 14.3.2010

Репутация: нет
Всего: нет



Есть географические координаты точки.
Известно направление и расстояние.

Как определить новые географические координаты ? 
PM MAIL   Вверх
W4FhLF
Дата 30.5.2012, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 5
Всего: 121



Перевести их в прямоугольные, прибавить приращение по каждой из осей (приращение вычисляется с пом. синусов и косинусов), полученные прямоугольные координаты перевести обратно в географические. 


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
ksnk
Дата 30.5.2012, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6824
Регистрация: 13.4.2007
Где: СПб

Репутация: 7
Всего: 383



Это в случае, если перемещение не слишком большое ;) Земля, она, все таки, круглая... В первом приближении...


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
W4FhLF
Дата 30.5.2012, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 5
Всего: 121



ksnk, преобразование из географических в прямоугольные и обратно производится с учётом кривизны земли.

http://en.wikipedia.org/wiki/Universal_Tra...ordinate_system



--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
ksnk
Дата 30.5.2012, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6824
Регистрация: 13.4.2007
Где: СПб

Репутация: 7
Всего: 383



Цитата(W4FhLF @  30.5.2012,  17:02 Найти цитируемый пост)
приращение вычисляется с пом. синусов и косинусов

Sorry, не заметил :(


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
gpepsi
Дата 31.5.2012, 06:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 14.3.2010

Репутация: нет
Всего: нет



Цитата(W4FhLF @  30.5.2012,  18:01 Найти цитируемый пост)
ksnk, преобразование из географических в прямоугольные и обратно производится с учётом кривизны земли.

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


Цитата(W4FhLF @  30.5.2012,  17:02 Найти цитируемый пост)
Перевести их в прямоугольные, прибавить приращение по каждой из осей (приращение вычисляется с пом. синусов и косинусов), полученные прямоугольные координаты перевести обратно в географические.  

а sin и cos учтет направление. я имею ввиду положительное и отрицательное приращение. 
PM MAIL   Вверх
W4FhLF
Дата 31.5.2012, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 5
Всего: 121



Цитата(gpepsi @  31.5.2012,  06:43 Найти цитируемый пост)
расстояние маленькие - несколько километров. может для этого проще есть преобразования ?


Ничего сложного в этих преобразованиях нет. На каком языке вы пишете? Для С++ могу выложить свой класс. Для других языков реализация легко гуглится по запросу: utm to lat long

Цитата(gpepsi @  31.5.2012,  06:43 Найти цитируемый пост)
а sin и cos учтет направление. я имею ввиду положительное и отрицательное приращение.  


Ну если направление задано углом, то оно учтётся. 



--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
gpepsi
Дата 31.5.2012, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 14.3.2010

Репутация: нет
Всего: нет



Цитата(W4FhLF @  31.5.2012,  10:17 Найти цитируемый пост)
Ничего сложного в этих преобразованиях нет. На каком языке вы пишете? Для С++ могу выложить свой класс. 

c++

я так понимаю что задача сводится к "прямая геодезическая задача в географических координатах"

P.S. Если выложите класс - буду благодарен...
PM MAIL   Вверх
gpepsi
Дата 31.5.2012, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 14.3.2010

Репутация: нет
Всего: нет



Цитата(W4FhLF @  31.5.2012,  10:17 Найти цитируемый пост)
Для других языков реализация легко гуглится по запросу: utm to lat long

а причем тут UTM - у меня координаты уже в Decimal degrees
PM MAIL   Вверх
W4FhLF
Дата 31.5.2012, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 5
Всего: 121



Я тоже этот класс где-то скачал в своё время.

Использовать где-то так:

GeoProjectionConverter geoprj;
geoprj.set_coordinates_in_meter();
geoprj.set_reference_ellipsoid(23); // set ellipsoid to WGS84

И потом два этих метода:

    bool UTMtoLL(const double UTMEastingMeter, const double UTMNorthingMeter, double& LatDegree,  double& LongDegree);
    bool LLtoUTM(const double LatDegree, const double LongDegree, double &UTMEastingMeter, double &UTMNorthingMeter, TCHAR* UTMZone);

UTM зону можно посмотреть по ссылке на википедию, что я давал выше.

Добавлено @ 12:44
Цитата(gpepsi @  31.5.2012,  12:34 Найти цитируемый пост)
а причем тут UTM - у меня координаты уже в Decimal degrees 


Decimal degrees -- это более удобный способ (для расчётов) представления географических координат. Их и надо использовать для работы с классом.
UTM -- прямоугольные координаты заданные в метрах, к которым необходимо прибавлять ваше расстояние (заданное тоже в метрах, насколько я понимаю).

Это сообщение отредактировал(а) W4FhLF - 31.5.2012, 13:10

Присоединённый файл ( Кол-во скачиваний: 44 )
Присоединённый файл  geoprojectionconverter.rar 8,78 Kb


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
gpepsi
Дата 5.6.2012, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 14.3.2010

Репутация: нет
Всего: нет



W4FhLF, что какая-то ерунда при обратном преобразовании

Это сообщение отредактировал(а) gpepsi - 5.6.2012, 11:28
PM MAIL   Вверх
W4FhLF
Дата 5.6.2012, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 5
Всего: 121



Мне это о многом говорит, безусловно. smile


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Google
  Дата 21.1.2020, 02:18 (ссылка)  





  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0734 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.