I would like to create a simple satellite tracking software, that will compute the position of a satellite at any time, and show its location on a 2D map of Earth.

Let's assume it is possible to find online position of a satellite in the Earth-centered inertial (ECI) coordinate frame ( in form of TLE for example ) and use some method to propagate its state to a moment in future. Then if I want to plot the position on Earth map, I will need to know orientation of Earth at a given moment in relation to the original ECI frame, probably with the help of ECEF (Earth-Centered, Earth-Fixed).

And here come the questions, how do I :

  • transform from ECI to ECEF
  • take in account Earth precession and nutation
  • do the proper time conversion, to also involve leap years, leap seconds, added seconds...


During my online searches, I came across this article. It seems to be describing what I am looking for. However it uses a lot of terminology that I am unfamiliar with. It also doesn't tell a lot about precision of this technique and where the equations come from ( I need to be confident that I am implementing the right procedures ). I would still like to address all of the issues I listed in the question above.

  • $\begingroup$ Sounds like a challenging project! For time conversion you almost certainly want to find an existing high-quality software library and use its functions; that is a tricky problem and all home-brew libraries get it wrong. You can probably neglect precession, at 50" per year, and nutation, which is smaller; in sixty years, when you're off by 1º, you can add that support. That leaves your coordinate transformation for someone to help you with in a proper answer. $\endgroup$ – rob May 4 '14 at 4:03
  • $\begingroup$ @rob - many people have undertaken these kind of projects and developed nice looking software - so I thought heck it can't be that hard. As I thought deeper about time and coordinate transform problems, I see that there are many traps. So I hope someone can help me out with this. In any theoretical work about satellite dynamics precession and nutation are mentioned as well. So I believe there is a certain requirement to include these variations too. $\endgroup$ – James C May 4 '14 at 11:34
  • $\begingroup$ For precession and nutation, the precision you need depends on what you're trying to accomplish. Fifty arcseconds at the earth's surface or in low earth orbit is about a mile. If you want to know where in the sky to look for a satellite based on a position report from a year ago, that's probably fine. If your job is to track and correct that satellite's orbit over its twenty-year useful life, and to ask whether it's in danger of crossing other objects' orbits, accumulating an error of a mile per year is not good enough. I'm trying to encourage you to tackle your biggest problem first. $\endgroup$ – rob May 4 '14 at 15:17
  • $\begingroup$ @rob - I would like to accomplish several things, that also include knowing satellite's position in the sky as well as tracking and predicting orbit. I am sure there are several techniques with different precision properties. But I don't know about them, that's why I posted this question here. I am interested in as high precision as possible, but would like to know about other options as well. I would really appreciate if you could help me out here. If I didn't explain what I need well enough please let me know what is missing. Thank you. $\endgroup$ – James C May 4 '14 at 16:51
  • $\begingroup$ Could you post links to some of the resources that you've already looked at? $\endgroup$ – rob May 5 '14 at 0:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.