Учитывая следующее:
- Время, т
- Набор эфемеридных данных IS-200 спутника GPS, соответствующих времени t
- Положение спутника GPS в ECEF, P = (x, y, z), полученное из времени и эфемерид (t, E).
- Предположим, что земля - это только эллипсоид WGS-84.
- Все точки на WGS-84 имеют угол маски, м.
Найдите следующее:
- кольцо покрытия R на спутнике GPS WGS-84. т.е. граница, которая различает, какие точки WGS-84 находятся в поле зрения спутника в точке P = (x, y, z), а какие точки WGS-84 не видны
Приемлемые решения:
- Сплайн над WGS-84, который приближается к R.
- Многоугольник над WGS-84, который приближается к R.
- Или формула (ы), которая дает мне R.
Что я уже пробовал:
- Пусть е ^ 2 = 0,0066943799901264; эксцентриситет в квадрате
У нас есть положение ECEF WGS-84 по геодезической широте и долготе лямбда:
r = 1 / (sqrt (1-e ^ 2 sin ^ 2 (phi))) * (cos (phi) * cos (лямбда), cos (phi) * sin (лямбда), (1-e ^ 2) * грех (фи))
Затем я конвертирую ECEF в географический фрейм восток-север вверх (ENU) с помощью фи и лямбда, используя матрицу:
(-sin(lambda) cos(lambda) 0 )
C= (-cos(lambda)*sin(phi) -sin(lambda)*sin(phi) cos(phi))
( cos(lambda)*cos(phi) sin(lambda)*cos(phi) sin(phi))
- Пусть G = C (P - r)
- Возьмем z-компонент G. Если z-компонент G больше, чем sin (m), тогда я знаю, что точка r имеет в виду. Но этого недостаточно, чтобы получить решение, которое я ищу. Я мог бы просто найти несколько точек зрения и взять выпуклую оболочку этих точек, но это совсем не эффективно.
Ответы:
Решение для эллипсоида довольно грязное - это неправильная форма, а не круг - и его лучше вычислять численно, чем с формулой.
На карте мира разница между решением WGS84 и чисто сферическим решением будет едва заметна (это примерно один пиксель на экране). Такое же различие будет создаваться путем изменения угла маски примерно на 0,2 градуса или использования полигонального приближения. Если эти ошибки приемлемо малы, вы можете использовать симметрию сферы для получения простой формулы.
На этой карте (с использованием равноугольной проекции) показано покрытие спутника в 22 164 километрах (от центра Земли) с углом маски m = 15 градусов на сфероиде WGS84. Повторное вычисление покрытия для сферы явно не меняет эту карту.
На сфере покрытие действительно будет кругом с центром в местоположении спутника, поэтому нам нужно только выяснить его радиус, который является углом. Назовите это т . В поперечном сечении есть треугольник OSP, образованный центром земли (O), спутником (S) и любой точкой (P) на окружности:
Сторона ОП радиус Земли, R .
Боковая ОС - это высота спутника (над центром Земли). Назовите это ч .
Угол ОПС составляет 90 + м .
Угол SOP равен t , который мы хотим найти.
Поскольку три угла треугольника составляют 180 градусов, третий угол OSP должен быть равен 90 - ( m + t ).
Решение теперь является вопросом элементарной тригонометрии. (Планарный) закон синусов утверждает, что
Решение
В качестве проверки рассмотрим некоторые крайние случаи:
Когда m = 0, t = ArcCos (r / h), что можно проверить с помощью элементарной евклидовой геометрии.
Когда h = r (спутник не запущен), t = ArcCos (cos (m) / 1) - m = m - m = 0.
Когда m = 90 градусов, t = ArcCos (0) - 90 = 90 - 90 = 0, как и должно быть.
Это сводит проблему к рисованию круга на сфере, что может быть решено разными способами. Например, вы можете буферизовать местоположение спутника с помощью t * R * pi / 180, используя эквидистантную проекцию с центром на спутнике. Методы для работы с кругами на сфере непосредственно иллюстрированы в /gis//a/53323/664 .
редактировать
FWIW, для спутников GPS и малых углов маски (менее 20 градусов или около того) это нетригонометрическое приближение является точным (с точностью до нескольких десятых градуса и менее нескольких сотых градуса, когда угол маски меньше 10 градусов ):
Например, при угле маски m = 10 градусов и спутнике в 26 559,7 км над центром Земли (что является номинальным расстоянием спутника GPS ), это приближение дает 66,32159 ..., тогда как значение (правильное для сферы ) 66,32023 ...
(Приближение основано на разложении в ряд Тейлора около m = 0, r / h = 1/4.)
источник