Моделирование проекций орбит ИСЗ на поверхность Земли на Python с использованием модели SGP4 и API space-track.org: различия между версиями
Нет описания правки |
Нет описания правки |
||
Строка 96: | Строка 96: | ||
Результат вы получаете мгновенно. Примечательно, что сразу же при выдаче ответа сервис выводит команду API, соответствующую вашему запросу - это позволяет очень быстро разобраться в том, как оно организовано и как с ним работать. | Результат вы получаете мгновенно. Примечательно, что сразу же при выдаче ответа сервис выводит команду API, соответствующую вашему запросу - это позволяет очень быстро разобраться в том, как оно организовано и как с ним работать. | ||
<pre> | |||
https://www.space-track.org/basicspacedata/query/class/tle/EPOCH/2012-05-11--2012-05-12/NORAD_CAT_ID/27424/orderby/TLE_LINE1 ASC/format/tle | |||
</pre> | |||
== Источники == | == Источники == |
Версия от 01:00, 20 декабря 2016
Определение положения ИСЗ по орбитальным данным на заданное время по модели SGP4. Автоматизированное получение орбитальных данных с помощью API сервиса space-track.org. Пример реализации на языке Python.
Задачу определения положения того или иного искусственного спутника Земли в заданный момент времени (в прошлом или недалёком будущем) приходится решать для самых разнообразных целей, в том числе связанных с дистанционным зондированием Земли из космоса. Часть данных (например, многие продукты MODIS) распространяется без строгой географической привязки, а лишь с указанием времени непосредственного наблюдения территории для каждой сцены, — и для автоматизации поиска и загрузки таких данных требуется вычислять время пролёта спутника над исследуемыми объектами. Часто возникает и потребность определить время зондирования заданной территории в будущем - чаще всего для проведения подспутниковых наблюдений (в целях верификации, атмосферной коррекции и пр.).
В статье описывается подход к моделированию проекций орбит ИСЗ на поверхность Земли с использованием доступных средств: библиотек языка Python и API сервиса space-track.org.
Входные параметры модели SGP4
Наиболее распространенной моделью для определения положения спутников на орбите является SGP (Simplified General Perturbations), различные модификации которой используются в оперативной работе по всему миру начиная с 70-х годов. Главная задача модели - вычислить скорость и геоцентрические координаты ИСЗ (X, Y, Z) на заданный момент времени, которые нетрудно пересчитать на поверхность эллипсоида, получив географические координаты проекции положения ИСЗ (широта, долгота). Сама модель достаточно сложна, хотя и сводится к линейным расчётам и удобна для алгоритмизации. Её описание и оригинальный FORTRAN-код можно найти в соответствующих документах [1,2].
В качестве входных параметров SGP использует данные телеметрии спутников в формате TLE (two-line element sets): это две линии по 69 символов, описывающие основные метаданные спутника и параметры телеметрии [3]. Содержание первой линии:
Номер | Положение | Содержание | Пример |
---|---|---|---|
1 | 01-01 | Номер строки | 1 |
2 | 03-07 | Номер спутника в базе данных NORAD | 25994 |
3 | 08-08 | Классификация (U=Unclassified — не секретный) | U |
4 | 10-11 | Международное обозначение (последние две цифры года запуска) | 99 |
5 | 12-14 | Международное обозначение (номер запуска в этом году) | 068 |
6 | 15-17 | Международное обозначение (часть запуска) | A |
7 | 19-20 | Год эпохи (последние две цифры) | 16 |
8 | 21-32 | Время эпохи (целая часть — номер дня в году, дробная — часть дня) | 052.07623983 |
9 | 34-43 | Первая производная от среднего движения (ускорение), деленная на два [виток/день^2] | .00001336 |
10 | 45-52 | Вторая производная от среднего движения, деленная на шесть (подразумевается, что число начинается с десятичного разделителя) [виток/день^3] | 00000-0 |
11 | 54-61 | Коэффициент торможения B* (подразумевается, что число начинается с десятичного разделителя) | 30635-3 |
12 | 63-63 | Изначально — типы эфемерид, сейчас — всегда число 0 | 0 |
13 | 65-68 | Номер (версия) элемента | 999 |
14 | 69-69 | Контрольная сумма по модулю 10 | 6 |
Собранный пример: 1 25994U 99068A 16052.07623983 .00001336 00000-0 30635-3 0 9996
Содержание второй линии:
Номер | Положение | Содержание | Пример |
---|---|---|---|
1 | 01-01 | Номер строки | 1 |
2 | 03-07 | Номер спутника в базе данных NORAD | 25994 |
3 | 09-16 | Наклонение в градусах | 98.1986 |
4 | 18-25 | Долгота восходящего узла в градусах | 128.0087 |
5 | 27-33 | Эксцентриситет (подразумевается, что число начинается с десятичного разделителя) | 0001485 |
6 | 35-42 | Аргумент перицентра в градусах | 109.3968 |
7 | 44-51 | Средняя аномалия в градусах | 250.7393 |
8 | 53-63 | Частота обращения (оборотов в день) (среднее движение) [виток/день] | 14.57136668 |
9 | 64-68 | Номер витка на момент эпохи | 86046 |
10 | 69-69 | Контрольная сумма по модулю 10 | 2 |
Собранный пример: 2 25994 98.1986 128.0087 0001485 109.3968 250.7393 14.57136668860462
Важно понимать, что такие эфемериды описывают мгновенное состояние ИСЗ, и, хотя описывают его поведение с довольно высокой точностью, при увеличении дальности прогноза (относительно данной эпохи) будут давать всё большую и большую ошибку.
Получение данных TLE
Данные TLE сегодня публикуются многими поставщиками (например, последние данные TLE по ряду спутников ДЗЗ на сайте ScanEx), но нам нужно получать не только свежие данные, но и архивные, для моделирования положений спутников в прошлом.
Одним из лучших в сети ресурсов представляется портал space-track.org, предоставляющий доступ к обширной информации о спутниках различного назначения. Очень важно, что space-track имеет REST API, позволяющее получать нужные данные максимально удобно. Требуется авторизация (и для доступа к интерфейсу, и для программного обращения к API), регистрация при этом бесплатная и открытая.
Непосредственно в интерфейсе сайта можно запрашивать данные TLE (в разделе Retrieve TLE Data by Satellite Catalog Number), заполнив небольшую форму с указанием названия или идентификатора спутника, а также интересующего вас периода времени. Для примера запросим данные TLE для спутника AQUA на середину мая 2012 года:
Результат вы получаете мгновенно. Примечательно, что сразу же при выдаче ответа сервис выводит команду API, соответствующую вашему запросу - это позволяет очень быстро разобраться в том, как оно организовано и как с ним работать.
https://www.space-track.org/basicspacedata/query/class/tle/EPOCH/2012-05-11--2012-05-12/NORAD_CAT_ID/27424/orderby/TLE_LINE1 ASC/format/tle
Источники
2. David A. Vallado, Paul Crawford. SGP4 Orbit Determination