Страница 1 из 1
Статья про автоматизированное моделирование треков спутников
Добавлено: 20 дек 2016, 17:17
Эдуард Казаков
Здравствуйте!
Моделирование проекций орбит ИСЗ на поверхность Земли на Python с использованием модели SGP4 и API space-track.org
Старую недописанную статью Максима (
Создание треков пролета спутников) в вики почему-то не найти, поэтому написал
свою с нуля. Тематика такая же, только всё на питоне с автоматическим получением TLE через веб-сервис. Посмотрите, что да как.
Максим, если что-нибудь добавишь или подредактируешь, будет здорово.
P.S. Статья
опубликована
Re: Статья про автоматизированное моделирование треков спутн
Добавлено: 20 дек 2016, 17:53
Denis Rykov
Спасибо за статью!
PS.:
@shapefile будет очень рад, что его не забывают
Best to always write to shapefiles! ©
Re: Статья про автоматизированное моделирование треков спутн
Добавлено: 21 дек 2016, 11:42
Эдуард Казаков
Денис, старик столько для нас сделал
Re: Статья про автоматизированное моделирование треков спутников
Добавлено: 30 окт 2018, 11:27
epsilon911
Добрый день. Спасибо за статью. Очень помогла. Но интересует следующий вопрос. Пакет pyorbital поддерживает только спутники с периодом обращения не более 225 минут. Не подскажете, как обойти эту проблему. Есть ли еще пакеты для прогнозирования высокоорбитальных спутников.
Вероятно необходимо использовать модель SDP-4
Re: Статья про автоматизированное моделирование треков спутников
Добавлено: 28 июн 2023, 09:34
olgatcpip
Спасибо, Эдуард за статью.
Всё отлично... но у меня почему-то выдает ошибку...
Код: Выделить всё
Traceback (most recent call last):
File "space-track.py", line 21, in <module>
st.tle_latest(norad_cat_id=[25544, 41335], ordinal=1, format='tle')
File "/home/aadmin/python-docker/.venv/lib/python3.8/site-packages/spacetrack/base.py", line 542, in generic_request
return self._run_event_generator(
File "/home/aadmin/python-docker/.venv/lib/python3.8/site-packages/spacetrack/base.py", line 322, in _run_event_generator
event = g.send(ret)
File "/home/aadmin/python-docker/.venv/lib/python3.8/site-packages/spacetrack/base.py", line 400, in _generic_request_generator
yield from self._auth_generator()
File "/home/aadmin/python-docker/.venv/lib/python3.8/site-packages/spacetrack/base.py", line 343, in _auth_generator
raise AuthenticationError()
spacetrack.base.AuthenticationError
(.venv) aadmin@WEBServer:~/python-docker$
Не побоюсь показать код. Я Ваш сократила до минимума...
Код: Выделить всё
# Импортируем библиотеки
# Штатная библиотека для работы со временем
from datetime import datetime, date
# Собственно клиент для space-track
# Набор операторов для управления запросами. Отсюда нам понадобится время
import spacetrack.operators as op
# Главный класс для работы с space-track
from spacetrack import SpaceTrackClient
# Имя пользователя и пароль сейчас опишем как константы
USERNAME = "olgatcpip@ya"
PASSWORD = "PWghbdtnbr!1234*"
print("-1-\n")
st = SpaceTrackClient('olgatcpip@ya', 'PWghbdtnbr!1234*')
print("-2-\n")
st.tle_latest(norad_cat_id=[25544, 41335], ordinal=1, format='tle')
На питоне ничего никогда не писала.... НО есть подозрение, что я ввожу логин и пароль от личного кабинета к сайту space-track.org А надо где-то в личном кабинете на сайте может создать отдельные для АПИ?
Не хайте, помогите, пожалуйста.
Re: Статья про автоматизированное моделирование треков спутников
Добавлено: 28 июн 2023, 09:34
olgatcpip
Надеюсь тут есть кто живой
Re: Статья про автоматизированное моделирование треков спутников
Добавлено: 28 июн 2023, 11:25
Эдуард Казаков
Здравствуйте, с кодом всё в порядке, проблема с данными авторизации. Подставил свои, всё работает.
С вашими указанными здесь не смог на сайте авторизоваться.
Re: Статья про автоматизированное моделирование треков спутников
Добавлено: 28 июн 2023, 12:22
olgatcpip
Да, я и уже голову сломала и пароль сменила. Убрала спец символы
И тут до меня дошло!!!! В другом браузере авторизоваться решила. Там нет сохраненного... И!!! ТАДАМ!!!
USERNAME = "olgatcpip@ya" Точка ру забыла!!!!!!! И не замечала, хоть глаз выколи!
Безмерно благодарна!
вот я дура, шапочку забыла
Re: Статья про автоматизированное моделирование треков спутников
Добавлено: 28 июн 2023, 12:48
olgatcpip
Тысячу извинений.
А почему вы пишете print без скобок?
У меня так ругается, поэтому я скобочки пишу.
Код: Выделить всё
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(tle_1, tle_2)?
тогда работает
Re: Статья про автоматизированное моделирование треков спутников
Добавлено: 28 июн 2023, 12:54
gamm
olgatcpip писал(а): ↑28 июн 2023, 12:48
А почему вы пишете print без скобок?
дату посмотрите ... это Python 2
Re: Статья про автоматизированное моделирование треков спутников
Добавлено: 28 июн 2023, 13:14
olgatcpip
Простите. А можно вопрос?
Код: Выделить всё
tle_1, tle_2 = get_spacetrack_tle (53382, date(2016,6,26), date(2016,6,27), USERNAME, PASSWORD)
Время указывать по 0 час поясу? Конечно это очевидно.... но не мне.
И ещё, если нужна сегодняшняя дата 28.06, то надо указать date(2016,6,27), date(2016,6,28) ? и учесть, что в 0 часовом уже наступило 28е?
я тут читаю...
https://spacetrack.readthedocs.io/en/st ... te-limiter как-то не явно пишут.
Придется опытным путем убеждаться и что значит limit параметр, наверное количество записей в рамках времени....
Интуитивно понятно, но я очень неуверенный в себе человек....
удалите сообщения, если я не по теме пишу, намёк пойму.
Re: Статья про автоматизированное моделирование треков спутников
Добавлено: 28 июн 2023, 13:52
olgatcpip
ПРОСТИТЕ за глупые вопросы....
А может знаете, где почитать (python скрипт, конечно) расчета где будет спутник в будущем?
У меня задача узнать когда спутник будет пролетать в будущем над координатами земными
Re: Статья про автоматизированное моделирование треков спутников
Добавлено: 28 июн 2023, 14:47
Эдуард Казаков
Код был написан ещё для Python 2, поэтому есть разница в синтаксисе.
Всё время у space-track в UTC.
В статье в функции create_orbital_track_shapefile_for_day как раз есть возможность расчитывать будущие положения спутника. В таком случае она запрашивает последние существующие эфемериды, и на их основе расчитывается положение на заданный день в будущем (чем дальше в будущее, тем больше погрешность).