Para un proyecto necesito posiciones satelitales precisas en ICRF. Después de buscar un poco, no pude determinar ningún recurso en línea que proporcione dicha serie temporal. En detalle, estoy interesado en la serie temporal de coordenadas de Grace1 y Grace2 de 2017 y 2018. ¿Están disponibles públicamente en algún lugar?
Hasta ahora he encontrado fuentes para elementos de línea de remolque (TLE) que traté de convertir con pyEmph , pero no he encontrado una forma conveniente de obtener coordenadas ICRF de posiciones astrométicas geocéntricas y también tengo curiosidad por saber si la precisión sería razonable de esta manera. (cf. precisión TLE ), ya que necesito una precisión en el rango de sub-metros.
Skyfield, en http://rhodesmill.org/skyfield (tenga en cuenta la similitud con la ubicación de PyEphem, no una coincidencia) hace exactamente lo que está pidiendo. Le das un TLE y obtienes coordenadas en ICRF (o una variedad de otras opciones).
Sin embargo, no obtendrá mejores que varios kilómetros de TLE, simplemente no son tan precisos para empezar, ni lo es el propagador SGP4 con el que se utilizan. Para obtener "... una precisión en el rango de sub-metros", tendrá que encontrar algunos datos orbitales cuidadosamente reconstruidos (¡y ahora históricos!) de los científicos que trabajan con la nave espacial Grace para eso.
Tracé la posición geocéntrica, pero aquí están los valores numéricos para Geocéntrico, J2000.0 en relación con el Baricentro del sistema solar con referencia al ecuador de la Tierra y a los planos de la eclíptica:
[ -725.97623801 -4703.39226501 4823.26596748 ]
[ -1.37224552e+08 5.15960658e+07 2.23564481e+07]
[ -1.37224552e+08 5.62313492e+07 -1.20962433e+04]
TLE = """1 25544U 98067A 18051.96457625 .00002577 00000-0 46169-4 0 9990
2 25544 51.6416 238.1089 0003437 117.8478 357.3261 15.54125912100440"""
L1, L2 = TLE.splitlines()
import numpy as np
import matplotlib.pyplot as plt
from skyfield.api import Loader, EarthSatellite
load = Loader('~/Documents/fishing/SkyData')
data = load('de421.bsp')
ts = load.timescale()
planets = load('de421.bsp')
earth = planets['earth']
ts = load.timescale()
minutes = np.arange(0, 93, 0.5)
time = ts.utc(2018, 2, 27, 0, minutes)
ISS_Geo = EarthSatellite(L1, L2)
ISS_ICRF = earth + EarthSatellite(L1, L2)
ISS_Geo_pos = ISS_Geo.at(time).position.km
ISS_ICRF_pos = ISS_ICRF.at(time).position.km
ISS_ICRF_eclpos = ISS_ICRF.at(time).ecliptic_position().km
for thing in ISS_Geo_pos, ISS_ICRF_pos, ISS_ICRF_eclpos:
print thing[:, 0]
plt.figure()
for thing in ISS_Geo_pos:
plt.plot(thing)
plt.show()
david hamen
lenx
UH oh
UH oh