Геоцентрические координаты точки, в которую смотрит наблюдатель
-
- Новоприбывший
- Сообщения: 4
- Зарегистрирован: 13 авг 2020, 09:47
- Репутация: 0
- Откуда: Москва
Геоцентрические координаты точки, в которую смотрит наблюдатель
Доброго времени суток.
Может кто подскажет, как решить такую задачу.
Есть у наблюдатель (будь то на сфере или эллипсоиде). Координаты наблюдателя - B L H (широта, долгота, высота). Он смотрит в некоторую точку горизонта с заданным азимутом Az, под некоторым углом места Alfa и расстоянием до данной точки D.
Нужно найти геоцентрические координаты (X Y Z), в которую смотрит наблюдатель.
Есть ли варианты решения данной задачи?
Может кто подскажет, как решить такую задачу.
Есть у наблюдатель (будь то на сфере или эллипсоиде). Координаты наблюдателя - B L H (широта, долгота, высота). Он смотрит в некоторую точку горизонта с заданным азимутом Az, под некоторым углом места Alfa и расстоянием до данной точки D.
Нужно найти геоцентрические координаты (X Y Z), в которую смотрит наблюдатель.
Есть ли варианты решения данной задачи?
-
- Гуру
- Сообщения: 4064
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1061
- Ваше звание: программист
- Откуда: Казань
Re: Геоцентрические координаты точки, в которую смотрит наблюдатель
несомненно есть - переходите от BLH к XYZ, и прибавляете к этой точке вектор направления взгляда в той же системе. Осталось отложить дальность. Как то так ...
-
- Завсегдатай
- Сообщения: 318
- Зарегистрирован: 24 мар 2022, 05:54
- Репутация: 137
- Ваше звание: хм, сам не знал
- Откуда: Томск
Re: Геоцентрические координаты точки, в которую смотрит наблюдатель
Здравствуйте. Варианты есть. Можно наводящие вопросы? В какой программной среде, в ГИС? В какой из них? Дистанции (расстояния) до точки D в каком диапазоне, метры, километры, сотни километров? Азимуты и углы в градусах или радианах? Широты долготы в WGS84? Геоцентрическая система какая, ITRF, WGS, PZ?
-
- Новоприбывший
- Сообщения: 4
- Зарегистрирован: 13 авг 2020, 09:47
- Репутация: 0
- Откуда: Москва
Re: Геоцентрические координаты точки, в которую смотрит наблюдатель
Здравствуйте.
- QGIS. Пишу свое ПО на QGis API C++.В какой программной среде, в ГИС?
- километрыДистанции (расстояния) до точки D в каком диапазоне
- в градусах (можно и в радианы перевести)Азимуты и углы в градусах или радианах?
- ДаШироты долготы в WGS84?
- WGSГеоцентрическая система какая, ITRF, WGS, PZ?
-
- Завсегдатай
- Сообщения: 318
- Зарегистрирован: 24 мар 2022, 05:54
- Репутация: 137
- Ваше звание: хм, сам не знал
- Откуда: Томск
Re: Геоцентрические координаты точки, в которую смотрит наблюдатель
Грусть.
В QGIS рассчитать новые координаты точки по дистанции, азимуту, наклону можно следующим выражением:
project( #вычисление координат новой точки по дистанции, азимуту, углу наклона
transform($geometry,'EPSG:4326', 'EPSG:32645'), #для начала точку слоя из wgs в utm45 (я на долготе 85гр)
1000, #дистанция в м
radians(30), #азимут в градусах против часовой
radians(95) #наклон в градусах, от оси в верх! т.е. наклон -5 градусов - значение 95 градусов.
)
А дальше засада - функция transform() при пересчете в геоцентрическую СК (например EPSG:4328) возвращает какие то XY, а Z вообще отдает не геоцетрическую, а исходную геодезическую H.
В QGIS рассчитать новые координаты точки по дистанции, азимуту, наклону можно следующим выражением:
project( #вычисление координат новой точки по дистанции, азимуту, углу наклона
transform($geometry,'EPSG:4326', 'EPSG:32645'), #для начала точку слоя из wgs в utm45 (я на долготе 85гр)
1000, #дистанция в м
radians(30), #азимут в градусах против часовой
radians(95) #наклон в градусах, от оси в верх! т.е. наклон -5 градусов - значение 95 градусов.
)
А дальше засада - функция transform() при пересчете в геоцентрическую СК (например EPSG:4328) возвращает какие то XY, а Z вообще отдает не геоцетрическую, а исходную геодезическую H.
Последний раз редактировалось AlexRomantsov 09 июн 2022, 13:59, всего редактировалось 5 раз.
-
- Завсегдатай
- Сообщения: 318
- Зарегистрирован: 24 мар 2022, 05:54
- Репутация: 137
- Ваше звание: хм, сам не знал
- Откуда: Томск
Re: Геоцентрические координаты точки, в которую смотрит наблюдатель
ну и project похоже не умеет на элипсоиде считать, только на плоской прямоугольной. А это ограничивает его использование на дистанциях не более 10-20км (в зависимости от требуемой точности). Ну разве прикрутить к формуле расчета поправку к H на кривизну земли.
Последний раз редактировалось AlexRomantsov 09 июн 2022, 13:41, всего редактировалось 2 раза.
-
- Завсегдатай
- Сообщения: 318
- Зарегистрирован: 24 мар 2022, 05:54
- Репутация: 137
- Ваше звание: хм, сам не знал
- Откуда: Томск
Re: Геоцентрические координаты точки, в которую смотрит наблюдатель
Через transform() не получилось вычислить геоцентрические, даже из WGS в WGS geocent
-
- Гуру
- Сообщения: 4064
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1061
- Ваше звание: программист
- Откуда: Казань
Re: Геоцентрические координаты точки, в которую смотрит наблюдатель
в R c transform такая же проблема, он игнорирует глобус. И есть другая функция в пакете sp, которая глобус учитывает. Насколько я помню, это разные функции gdal. По крайней мере, когда мы считали на С++ через gdal, выбрав правильную функцию, все получалось.
-
- Завсегдатай
- Сообщения: 318
- Зарегистрирован: 24 мар 2022, 05:54
- Репутация: 137
- Ваше звание: хм, сам не знал
- Откуда: Томск
Re: Геоцентрические координаты точки, в которую смотрит наблюдатель
В библиотеках PROJ (https://proj.org/) возможно есть готовые функции на C++ для расчета геоцентрических координат
-
- Новоприбывший
- Сообщения: 4
- Зарегистрирован: 13 авг 2020, 09:47
- Репутация: 0
- Откуда: Москва
Re: Геоцентрические координаты точки, в которую смотрит наблюдатель
Я так понял сама задача сводится к трассировке лучей (Raycasting).
В 3D библиотеках есть соответствующий API (для нахождения точек, в которые смотрит (условный) наблюдатель).
В 3D библиотеках есть соответствующий API (для нахождения точек, в которые смотрит (условный) наблюдатель).
Может ли кто-нибудь написать формулы для нахождения вектора взгляда?gamm писал(а): ↑09 июн 2022, 09:26несомненно есть - переходите от BLH к XYZ, и прибавляете к этой точке вектор направления взгляда в той же системе. Осталось отложить дальность. Как то так ...
- Игорь Белов
- Гуру
- Сообщения: 2232
- Зарегистрирован: 04 янв 2011, 22:00
- Репутация: 1506
- Откуда: Казань
Re: Геоцентрические координаты точки, в которую смотрит наблюдатель
Морозов В. П., Курс сфероидической геодезии, М., Недра, 1979.
§ 36. Решение главных геодезических задач между точками в пространстве.
§ 36. Решение главных геодезических задач между точками в пространстве.
The purpose of computing is insight, not numbers
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость