Работа с локальной системой координат

Системы координат, проекции, преобразования, привязка
Ответить
drug
Участник
Сообщения: 99
Зарегистрирован: 17 июн 2012, 11:11
Репутация: 1
Откуда: Новосибирск
Контактная информация:

Работа с локальной системой координат

Сообщение drug »

Есть точка с географическими координатами, относительно нее определяются координаты некоторых объектов в локальной полярной системе координат - дальность в метрах, азимут и угол места в градусах. Нужно перевести координаты объектов из данной локальной СК в географическую (программным способом). Нашел как это сделать с помощью [url=http://geographiclib.sourceforge.net/]GeographicLib[/url], вопрос как это можно сделать с помощью proj4? Его все равно gdal использует, и не хочется тащить лишнюю библиотеку. Правильно я понимаю, что нужно копать в сторону функции pj_transform, задавая в качестве исходной свою локальную СК (лучше всего перевести из полярной в декартову), а в качестве получаемой географическую? Как мне тогда задать локальную СК с центром в определенной точке и не пойму как задать направление координатных осей...

Елки-палки, я же могу перевести в геоцентрические координаты, только сейчас сообразил. В принципе, вопрос решен, но если есть в proj4 (более) подходящее решение, чтобы самому математику не трогать, буду признателен за подсказку!
Аватара пользователя
Aleksandr Dezhin
Активный участник
Сообщения: 244
Зарегистрирован: 03 фев 2010, 10:47
Репутация: 14
Откуда: Москва

Re: Работа с локальной системой координат

Сообщение Aleksandr Dezhin »

В составе proj4 идет утилита geod, она как раз умеет ходить из точки по азимуту. Посмотрите раздел примеров в руководстве. Думаю можно в ее исходниках посмотреть как это делается на чистом C.

На питоне через pyproj (биндинг к proj4), делается так:

Код: Выделить всё

>>> from pyproj import Geod
>>> geod = Geod(ellps='WGS84')
>>> geod.fwd(0, 0, 0, 10e6)  # 10 тыс км на север от точки 0, 0
(0.0, 89.98240086429514, 180.0) # пришли почти на северный полюс, 180 - обратный азимут
drug
Участник
Сообщения: 99
Зарегистрирован: 17 июн 2012, 11:11
Репутация: 1
Откуда: Новосибирск
Контактная информация:

Re: Работа с локальной системой координат

Сообщение drug »

Спасибо за ответ. Но как я подозреваю, 10 тыс. км отложены по поверхности эллипсоида? А мне нужно по прямой, т.к. это дальность прямой видимости. Но код сейчас посмотрю.
Аватара пользователя
Aleksandr Dezhin
Активный участник
Сообщения: 244
Зарегистрирован: 03 фев 2010, 10:47
Репутация: 14
Откуда: Москва

Re: Работа с локальной системой координат

Сообщение Aleksandr Dezhin »

Ага, по поверхности. Видимо я не внимательно прочитал вопрос.
Ответить

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

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

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