На этой веб- странице НАСА описывается сближение астероида 2013 TX68 5 марта 2016 года и показано распределение вероятности точки наибольшего сближения на основе единственных доступных на данный момент данных — измерений за три или четыре дня в октябре 2013 года.
Скриншот (5 февраля 2016 г.) с сайта [ http://ssd.jpl.nasa.gov/sbdb.cgi?sstr=2013%20TX68;orb=1] , который я нашел здесь .
Я попытался загрузить DE431 в Skyfield из любопытства, чтобы посмотреть, смогу ли я научиться использовать такие решения (которые иногда могут включать значительную неопределенность), но меня немедленно остановила ошибка, показанная ниже.
Вопрос: Как справиться с этой ошибкой? И, шире, как начать использовать орбитальные решения астероидов в Skyfield?
>>> data421 = load('de421.bsp') # this worked
>>> data431 = load('de431.bsp') # few seconds delay, and then:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/yournamehere/anaconda2/anaconda/envs/myenv/lib/python2.7/site-packages/skyfield/iokit.py", line 43, in load
download(url, path, verbose=verbose)
File "/Users/yournamehere/anaconda2/anaconda/envs/myenv/lib/python2.7/site-packages/skyfield/iokit.py", line 74, in download
raise IOError('cannot get {1} because {2}'.format(url, e))
IndexError: tuple index out of range
Астероид TX 68 2013 пролетит рядом с Землей 5 марта 2016 года.
Ошибка IndexError: tuple index out of range
просто потому, что я неправильно набрал два индекса в сообщении об ошибке в этом исходном файле. Python имеет нулевые индексы, поэтому я должен был ввести:
IOError('cannot get {0} because {1}'.format(url, e))
Вместо этого, как вы можете видеть, я, кажется, произвел совершенно неправильное:
IOError('cannot get {1} because {2}'.format(url, e))
Это исправление будет в следующей версии Skyfield (и спасибо, что указали на проблему, с которой вы столкнулись!). На данный момент вы можете отредактировать исходный файл вручную, если хотите увидеть сообщение об ошибке, которое пытается напечатать ваш код, а именно:
OSError: cannot get ftp://ssd.jpl.nasa.gov/pub/eph/planets/bsp/de431.bsp ...
Проблема в том, что de431.bsp
в этом каталоге нет:
ftp://ssd.jpl.nasa.gov/pub/eph/planets/bsp/
Может быть, вы хотели дать имя de431t.bsp
файлу? (В этом случае у вас должно быть больше свободного места на диске, чем у меня — его размер составляет 3,4 ГБ!)
Учитывая, что сближение с астероидом произошло в 2016 году, вы можете использовать гораздо меньшие эфемериды DE430. И если вы не пытаетесь предсказать его местоположение с точностью, скажем, до 1 метра, вы без проблем сможете использовать гораздо меньшие эфемериды DE421 или DE405.
У вас есть источник эфемерид для астероида? Или вы захотите создать его из орбитальных элементов?
tx68.at(jd).position.km
координаты (x, y, z) tx68 в BCRS, или here.at(jd).observe(tx68).apparent().altaz()
чтобы получить видимое положение в небе.
Гоббс
ооо
пользователь7073
ооо
пользователь7073
ооо