Как найти кольцо покрытия GPS Satellite на эллипсоиде WGS-84?

14

Учитывая следующее:

  1. Время, т
  2. Набор эфемеридных данных IS-200 спутника GPS, соответствующих времени t
  3. Положение спутника GPS в ECEF, P = (x, y, z), полученное из времени и эфемерид (t, E).
  4. Предположим, что земля - ​​это только эллипсоид WGS-84.
  5. Все точки на WGS-84 имеют угол маски, м.

Найдите следующее:

  1. кольцо покрытия R на спутнике GPS WGS-84. т.е. граница, которая различает, какие точки WGS-84 находятся в поле зрения спутника в точке P = (x, y, z), а какие точки WGS-84 не видны

Концептуальная иллюстрация проблемы.  P - красная точка, PRN12;  и черное кольцо является «кольцом покрытия»

Приемлемые решения:

  1. Сплайн над WGS-84, который приближается к R.
  2. Многоугольник над WGS-84, который приближается к R.
  3. Или формула (ы), которая дает мне 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 имеет в виду. Но этого недостаточно, чтобы получить решение, которое я ищу. Я мог бы просто найти несколько точек зрения и взять выпуклую оболочку этих точек, но это совсем не эффективно.
torrho
источник
1
Привет @torrho, добро пожаловать в GIS.stackexchange. Вы с большей вероятностью получите помощь, если покажете свою работу - что вы уже пробовали и что (особенно!) Доставляет вам неприятности.
Симбамангу
@Simbamangu Как использовать разметку латекса в GIS.stackexchange? могу я просто сказать $$ \ pi $$?
Торро
1
@tomfumb Нет, это не домашняя работа. Я подумал, что не единственный, кто столкнулся с этой проблемой, поэтому я решил спросить сообщество, которое может иметь.
Торро
1
Я вижу, что кто-то на [ meta.gis.stackexchange.com/questions/3423/…) считает, что это домашняя работа. Это не домашняя работа, я исчерпывающе погуглил эту тему и ничего не нашел по ней.
Торро
К сожалению, я не могу найти способ использовать LaTeX на этом сайте! Вы можете поместить уравнения в текст как можно лучше, или сделать ссылку на скриншоты уравнений LaTeX в другом месте (например, в папку Dropbox; вы не можете добавлять изображения, пока у вас нет более высокой репутации). Скажите нам контекст этой проблемы (почему вы это делаете) и какой конкретный компонент ГИС доставляет вам проблемы, и какие другие исследования или ресурсы вы использовали.
Симбамангу

Ответы:

17

Решение для эллипсоида довольно грязное - это неправильная форма, а не круг - и его лучше вычислять численно, чем с формулой.

На карте мира разница между решением WGS84 и чисто сферическим решением будет едва заметна (это примерно один пиксель на экране). Такое же различие будет создаваться путем изменения угла маски примерно на 0,2 градуса или использования полигонального приближения. Если эти ошибки приемлемо малы, вы можете использовать симметрию сферы для получения простой формулы.

фигура

На этой карте (с использованием равноугольной проекции) показано покрытие спутника в 22 164 километрах (от центра Земли) с углом маски m = 15 градусов на сфероиде WGS84. Повторное вычисление покрытия для сферы явно не меняет эту карту.

На сфере покрытие действительно будет кругом с центром в местоположении спутника, поэтому нам нужно только выяснить его радиус, который является углом. Назовите это т . В поперечном сечении есть треугольник OSP, образованный центром земли (O), спутником (S) и любой точкой (P) на окружности:

  • Сторона ОП радиус Земли, R .

  • Боковая ОС - это высота спутника (над центром Земли). Назовите это ч .

  • Угол ОПС составляет 90 + м .

  • Угол SOP равен t , который мы хотим найти.

  • Поскольку три угла треугольника составляют 180 градусов, третий угол OSP должен быть равен 90 - ( m + t ).

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

sin(90 - (m+t)) / r = sin(90 + m) / h.

Решение

t = ArcCos(cos(m) / (h/r)) - m.

В качестве проверки рассмотрим некоторые крайние случаи:

  1. Когда m = 0, t = ArcCos (r / h), что можно проверить с помощью элементарной евклидовой геометрии.

  2. Когда h = r (спутник не запущен), t = ArcCos (cos (m) / 1) - m = m - m = 0.

  3. Когда m = 90 градусов, t = ArcCos (0) - 90 = 90 - 90 = 0, как и должно быть.

Это сводит проблему к рисованию круга на сфере, что может быть решено разными способами. Например, вы можете буферизовать местоположение спутника с помощью t * R * pi / 180, используя эквидистантную проекцию с центром на спутнике. Методы для работы с кругами на сфере непосредственно иллюстрированы в /gis//a/53323/664 .


редактировать

FWIW, для спутников GPS и малых углов маски (менее 20 градусов или около того) это нетригонометрическое приближение является точным (с точностью до нескольких десятых градуса и менее нескольких сотых градуса, когда угол маски меньше 10 градусов ):

t (degrees) = -0.0000152198628163333 * (-5.93410042925107*10^6 + 
              3.88800000000000*10^6 r/h + 65703.6145507725 m + 
              9.86960440108936 m^2 - 631.654681669719 r/h m^2)

Например, при угле маски m = 10 градусов и спутнике в 26 559,7 км над центром Земли (что является номинальным расстоянием спутника GPS ), это приближение дает 66,32159 ..., тогда как значение (правильное для сферы ) 66,32023 ...

(Приближение основано на разложении в ряд Тейлора около m = 0, r / h = 1/4.)

Whuber
источник