Як знайти кільце охоплення GPS-супутника на еліпсоїді WGS-84?


14

З огляду на наступне:

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

Знайдіть таке:

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

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

Прийнятні рішення:

  1. Шпонка над WGS-84, яка наближає R.
  2. Багатокутник над WGS-84, який наближає R.
  3. Або формула (формули), яка дає мені Р.

Що я спробував поки що:

  • Нехай e ^ 2 = 0,0066943799901264; ексцентриситет у квадраті

Ми маємо позицію ECEF WGS-84 за геодезичною широтою phi та довготою лямбда:

r = 1 / (sqrt (1-e ^ 2 sin ^ 2 (phi))) * (cos (phi) * cos (лямбда), cos (phi) * sin (лямбда), (1 -e ^ 2) * гріх (фі)

Потім я перетворюю ECEF на географічний кадр схід-північ вгору (ENU) з phi та лямбда за допомогою матриці:

     (-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 буде більшим за гріх (m), то я знаю, точка, r, є в огляді. Але цього недостатньо, щоб отримати рішення, яке я шукаю. Я міг просто знайти купу очок, які переглядаються, і взяти опуклий корпус цих точок, але це зовсім не ефективно.

1
Привіт @torrho, ласкаво просимо на GIS.stackexchange. Ви з більшою ймовірністю отримаєте допомогу, якщо покажете свою роботу - що ви намагалися до цього часу, і що (конкретно!) Доставляє вам клопоти.
Simbamangu

@Simbamangu Як використовувати розмітку латексу в GIS.stackexchange? чи можу я просто сказати $$ \ pi $$?
torrho

1
@tomfumb Ні, це не домашнє завдання. Я подумав, що я не єдиний, хто стикався з цією проблемою, тому зрозумів, що попрошу спільноту, яка може бути.
torrho

1
Я бачу, що хтось із [ meta.gis.stackexchange.com/questions/3423/… вважає, що це домашнє завдання. Це не домашнє завдання, я вичерпно вивчив цю тему і нічого не знайшов на ній.
torrho

На жаль, я не можу знайти спосіб використання LaTeX на цьому сайті! Ви можете розмістити рівняння в тексті якнайкраще або посилання на скріншоти рівнянь LaTeX в іншому місці (наприклад, папка Dropbox; ви не можете додавати зображення, поки не будете мати більш високу репутацію). Розкажіть нам про контекст цієї проблеми (чому ви це робите) та який конкретний компонент ГІС створює проблеми, а також які інші дослідження чи ресурси ви використовували.
Simbamangu

Відповіді:


17

Рішення для еліпсоїда досить безладне - це неправильної форми, а не кола - і найкраще обчислюється чисельно, а не за формулою.

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

Малюнок

Ця карта (з використанням прямокутної проекції) показує покриття супутника в 22 164 кілометрах (від земного центру) з кутом маски m = 15 градусів на сфероїді WGS84. Перерахування покриття для сфери істотно не змінює цю карту.

Що стосується сфери, то покриття справді буде колом, зосередженим у місці розташування супутника, тому нам потрібно лише з'ясувати його радіус, який є кутом. Назвіть цю т . У поперечному перерізі є трикутник OSP, утворений центром Землі (O), супутником (S) та будь-якою точкою (P) на колі:

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

  • Бічна ОС - це висота супутника (над земним центром). Зателефонуйте до цього h .

  • Кут OPS дорівнює 90 + м .

  • Кут SOP - t , який ми хочемо знайти.

  • Оскільки три кути трикутника дорівнюють 180 градусам, третій кут ОСП повинен дорівнювати 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.)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.