¿Alguien sabe si los datos orbitales de Bereshit están disponibles en NASA Horizons?
Algunos cuerpos se enumeran por número de referencia, sin nombre:
Este sitio aparece como no actualizado en tiempo real, pero solo según el cronograma:
https://www.n2yo.com/satellite/?s=44049
También encontré los datos sin procesar utilizados en el simulador oficial, pero tampoco parecen actualizados, solo programados.
Simulador: http://live.spaceil.com
Datos sin procesar:
http://live.spaceil.com/data/data_s1.txt (22/2 - 12/4)
http://live.spaceil.com/data/data_s2.txt (4/4 - 12/4)
http://live.spaceil.com/data/data_m.txt (22/2 - 16/12)
tl;dr: Obtenga los TLE más recientes de Celestrak ahora y siga descargándolos (aquí hay algunos que obtuve de Celestrak recientemente) u obtenga todos los TLE históricos de Space-Track (pero debe registrarse y seguir sus reglas). Use SGP4 para interpretar los TLE, y una manera fácil de hacerlo es usar el paquete Skyfield de Python.
Horizons no se actualiza en tiempo real, las soluciones orbitales se actualizan cada pocos meses. Ahí no es donde buscar datos de tipo "seguimiento".
From Celestrak: https://celestrak.org/satcat/tle.php?CATNR=44049
BERESHEET
1 44049U 19009B 19056.12000000 -.00000410 00000-0 00000+0 0 9999
2 44049 27.0110 11.2380 8290697 180.2020 59.3930 1.03728676 24
BERESHEET
1 44049U 19009B 19057.86922840 -.00000449 00000-0 00000+0 0 9998
2 44049 27.6586 10.3444 8300888 181.1251 352.8363 1.03793705 46
BERESHEET
1 44049U 19009B 19059.41777308 -.00000504 00000-0 00000+0 0 9990
2 44049 27.6559 10.1226 8300930 181.4837 211.4679 1.03800294 67
Puedes entender los números mirando aquí y aquí y aquí .
Recuerdo cuando me di cuenta por primera vez que podía obtener posiciones de satélites que se actualizaban continuamente desde Internet. Diciembre de 2015: ¿Se puede aplicar raspado a esta página que se está recalculando activamente? Era el famoso lanzamiento de Orbcomm por parte de SpaceX y estaba "rastreando los satélites" raspando un sitio web que mostraba las posiciones de los satélites para visualizar cómo los satélites se alejaban lentamente unos de otros durante los próximos días.
Luego descubrí Space Exploration SE y ¡todo mejoró! Una mejor manera de descargar las posiciones de los satélites Orbcomm-2
@PearsonArtPhoto me habló de
donde puede obtener TLE, y
los cuales tienen propagadores SGP4 y por lo tanto pueden convertir TLEs a posiciones y velocidades centradas en la Tierra.
Pregunté cómo PyEphem funcionó PyEphem bajo el capó: ¿cómo calcula la posición de los planetas? .
Luego descubrí que hay un paquete de Python más nuevo llamado Skyfield que realmente es genial.
Skyfield descarga y lee las mismas Epeherides de JPL Development (también ¿Cómo pronunciar "Efemérides"? ) que Horizons usa para las posiciones de los objetos del sistema solar, y puede aceptar TLE manuales o descargarlas de Celestrak para usted.
data_s1.txt
son los vectores de estado para la nave espacial, y data_m.txt` son solo los vectores de posición (pero no la velocidad) para la Luna. Te haré una trama en un rato.Aquí está la gráfica de los datos en data_s1.txt
(nave espacial) y data_m.txt
(Luna). Hay vectores de estado apropiados para la nave espacial.
pero sólo vectores de posición para la Luna.
. ¡También hay otro problema, no se alinean correctamente! ¡La nave espacial no orbita la Luna! @@
Creo que puede haber algo raro con los datos. el error es mucho mayor que 1/81, por lo que es más que solo las coordenadas del baricentro versus el centro de la Tierra. Algo esta mal. De todos modos, ¡aquí está!
Escritura de Python:
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
with open('data_s1.txt', 'r') as infile:
slines = infile.readlines()
slines = [ [float(x) for x in line.strip().split(',')[1:]] for line in slines[1:-1]]
sstates = np.array(zip(*slines))
with open('data_m.txt', 'r') as infile:
mlines = infile.readlines()
mlines = [ [float(x) for x in line.strip().split(',')[1:]] for line in mlines[1:-1]]
mstates = np.array(zip(*mlines))
if True:
fig = plt.figure(figsize=[10, 8]) # [12, 10]
ax = fig.add_subplot(1, 1, 1, projection='3d')
x, y, z = sstates[:3]
ax.plot(x, y, z, '-r')
x, y, z = mstates[:3]
ax.plot(x, y, z, '-b')
ax.set_xlim(-405000, 405000)
ax.set_ylim(-405000, 405000)
ax.set_zlim(-405000, 405000)
plt.show()
UH oh
UH oh