shashwatak / satellite-js

Modular set of functions for SGP4 and SDP4 propagation of TLEs.
MIT License
911 stars 145 forks source link

How can I get the time for when a satellite will be over the antemeridian again? #123

Closed eric-g-97477 closed 1 year ago

eric-g-97477 commented 1 year ago

I have the tie data and the current time. I know the satellite will pass over the antemeridian. It is trivial to get the current position of the satellite. However, I am not sure how to do a reverse operation and ask what time the satellite will pass over the antemeridian after the current time...?

I am assuming there is a way, but my knowledge in this space is limited.

thkruz commented 1 year ago

Brute force in a loop is really the only way. Move forward 5 seconds at a time and check, if not move 5 more, etc. Be sure to save the satrec so that you aren't doing that part in a loop, just the propagation.

Once you have that working you can do some tricks to make it more efficient. Check the distance from your target and if it is outside a threshold then you move 1000 seconds ahead instead of 5 for example. If you know the orbit is 90 minutes then there is no reason to start looking for the first 80 minutes after it is over the target.

eric-g-97477 commented 1 year ago

Thanks for the information. It was helpful.