Physics Stack Exchange is a question and answer site for active researchers, academics and students of physics. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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.

share|cite|improve this question
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. – rob May 4 '14 at 4:03
@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. – James C May 4 '14 at 11:34
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. – rob May 4 '14 at 15:17
@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. – James C May 4 '14 at 16:51
Could you post links to some of the resources that you've already looked at? – rob May 5 '14 at 0:11

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.