In the context of a computer simulation of satellites that orbit earth, I am looking for a (accurate) method for converting Keplerian orbital elements directly to Equatorial coordinate system.

The simulation describe the orbit of a satellite by a set of Keplerian orbital elements in order to determine an orbit and move the satellite along it.
However, in order to show the satellite position graphically, the orbital elements are converted into an equatorial coordinate system. This allow a very simple projection of the satellite location on a 2D map.

Currently the orbital elements are converted to equatorial coordinates by (1) converting the orbital elements into Cartesian coordinates (x,y,z) as described in the following link in the Computing Position from Orbital Elements section and than (2) converting the Cartesian coordinates into Equatorial coordinate system. However, the double conversion cause lost of precision.

It "feels" as might be a direct way to convert orbital elements to equatorial coordinate, since both use angles it might be possible to transfer the orbital elements representation into equatorial one, but I am yet to find it.

is it possible to convert this:

Keplerian orbital elements

directly to this:

Equatorial coordinate system




1 Answer 1


This paper by Rene Schwarz could be useful in this regard - it covers the direct conversion from Keplerian Orbital Elements (a, e, i, etc.) to Cartesian State Vectors (R and Rdot, which is actually X/Y/Z and X./Y./Z.)

It can be found here.

The steps are enumerated there as follows, but the equations are substantial and transcribing each here would run a high risk of introducing transcription errors.

  1. Calculate or set M(t)

  2. Solve Kepler’s Equation M(t) = E(t) − e sin E for the eccentric anomaly E(t) with an appropriate method numerically, e.g. the Newton–Raphson method

  3. Obtain the true anomaly ν(t)

  4. Use the eccentric anomaly E(t) to get the distance to the central body

  5. Obtain the position and velocity vector o(t) and o˙(t), respectively, in the orbital frame (z-axis perpendicular to orbital plane, x-axis pointing to periapsis of the orbit)

  6. Transform o(t) and o˙(t) to the inertial frame in bodycentric (in case of the Sun as central body: heliocentric) rectangular coordinates r(t) and r˙(t) with the rotation matrices Rx(φ) and Rz(φ) using the transformation sequence

  • $\begingroup$ @uhoh Actually kind of curious with this paper - would you happen to know if this only works for a two-body system? $\endgroup$
    – jos
    Jul 29, 2020 at 7:49
  • $\begingroup$ Keplerian ↔ 2 body and actually they are reducible to a one-body problem. For anything that involves more than to point-like or spherically symmetric objects, anything with Kepler in it won't work. There are things called "hierarchical" multi-body orbits like a close binary orbiting another single or binary star at a great distance. In those cases you can treat them approximately as separate Kepler orbits, but it's not exact. $\endgroup$
    – uhoh
    Jul 29, 2020 at 10:18
  • $\begingroup$ @jos thanks for the answer. I actually know the paper you linked, and as written in the question, allready implemented orbital elemnts -> cartesian coordinates, and cartesian coordinates -> equatorial coordinates. however I am not happy with it since the double conversion hurt the precision. I was hoping to have a direct method: orbital elemnts -> equatorial coordinates, It seems posibble. If I understand correctlly your answer does not offer such direct conversion? $\endgroup$ Jul 29, 2020 at 16:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.