Esta página web de la NASA describe el acercamiento cercano del asteroide 2013 TX68 el 5 de marzo de 2016 y muestra una distribución de probabilidad del punto de acercamiento más cercano basada en los únicos datos disponibles en este momento: tres o cuatro días de mediciones en octubre de 2013.
Captura de pantalla (5 de febrero de 2016) de [ http://ssd.jpl.nasa.gov/sbdb.cgi?sstr=2013%20TX68;orb=1] que encontré aquí .
Traté de cargar DE431 en Skyfield por curiosidad para ver si puedo aprender a usar este tipo de soluciones (que a veces pueden incluir una incertidumbre sustancial), pero me detuvo de inmediato un error que se muestra a continuación.
Pregunta: ¿Cómo manejar este error? Y, más ampliamente, ¿cómo empezar a utilizar soluciones orbitales de asteroides en 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
El asteroide TX 68 2013 pasará cerca de la tierra el 5 de marzo de 2016
El error IndexError: tuple index out of range
se debe simplemente a que escribí mal los dos índices en el mensaje de error en ese archivo fuente. Python tiene índices cero, por lo que debería haber escrito:
IOError('cannot get {0} because {1}'.format(url, e))
En cambio, como puede ver, parece que he producido el error total:
IOError('cannot get {1} because {2}'.format(url, e))
Esta solución estará en la próxima versión de Skyfield (¡y gracias por señalar el problema que encontró!). Puede editar el archivo fuente a mano por ahora si desea ver el mensaje de error que su código está tratando de imprimir, que es:
OSError: cannot get ftp://ssd.jpl.nasa.gov/pub/eph/planets/bsp/de431.bsp ...
El problema es que no de431.bsp
existe en ese directorio:
ftp://ssd.jpl.nasa.gov/pub/eph/planets/bsp/
¿Quizás tenía la intención de nombrar el de431t.bsp
archivo? (En cuyo caso, debe tener más espacio libre en disco que yo, ¡tiene un tamaño de 3,4 GB!)
Dado que el acercamiento del asteroide es en 2016, puede usar las efemérides DE430 mucho más pequeñas. Y a menos que esté tratando de predecir su ubicación dentro de, digamos, 1 metro, debería poder usar las efemérides DE421 o DE405 mucho más pequeñas sin ningún problema.
¿Tiene una fuente de efemérides para el asteroide? ¿O querrás producir uno a partir de elementos orbitales?
tx68.at(jd).position.km
de las coordenadas (x, y, z) de tx68 en BCRS, o here.at(jd).observe(tx68).apparent().altaz()
para obtener una posición aparente en el cielo.
Hobbes
UH oh
usuario7073
UH oh
usuario7073
UH oh