Estoy tratando de crear una escena 3D en JS/React donde puedo trazar la órbita de la ISS alrededor de la tierra, actualmente he bifurcado este repositorio https://github.com/dsuarezv/satellite-tracker
Me di cuenta de que esto solo parece mostrar órbitas con seguimiento terrestre, lo que quiero hacer es mostrar una órbita completa que no tenga seguimiento terrestre, es decir, es un círculo y el inicio y el final se encuentran. Con esto también rotaré la tierra a una velocidad adecuada para replicar la precisión en tiempo real. Todos los datos para la ruta se generan a partir de un archivo tle utilizando la función de propagación de satellite.js para mostrar las coordenadas xyz.
¿Cómo convertiría una órbita que se muestra como una trayectoria terrestre en una órbita completa con un globo giratorio?
De esto:
A esto:
No estoy familiarizado con satellite.js, pero el problema que tiene es que desea dibujar la órbita en un marco Inercial centrado en la Tierra (ECI) y no Fijo centrado en la Tierra (ECF). Cada vez que obtenga la posición del satélite, debe obtenerlo en un marco ECI como J2000 o ICRF. Si está propagando un TLE para la ISS, la salida del propagador SGP4 es TEME de fecha, también un marco inercial. Dibuje sus puntos/líneas usando las coordenadas ECI y debería estar listo para comenzar.
El punto es que necesita la posición de la ISS en el marco de referencia ECF. La órbita de su primera imagen es correcta y muestra la posición de la ISS en el momento correspondiente.
El truco consiste en propagar la órbita usando el tiempo de órbita previsto pero convertirlo a ECF usando el tiempo actual de la escena (usando el mismo tiempo gsmt para toda la órbita). De esta forma, obtendrá un plano orbital giratorio en lugar de una predicción de las posiciones de la ISS.
Tenga en cuenta que esta órbita NO muestra la ruta correcta de la nave espacial a menos que la Tierra esté girando. Es por eso que la órbita cambia con cada movimiento del SC.