I'm a software developer and I'm trying to move towards astrophysics. I wanted to create an accurate solar system model using real-time accurate data. I've found the NASA data site, however I can only find data for small bodies, nothing for the planets and their moons.

Has anyone come across such a data set before?


For integration into software, I would recommend the SPICE toolkit, available with interfaces for C, Fortran, IDL, and MATLAB, and the many SPK kernels that can be loaded into SPICE containing the most accurate ephemerides available for the planets and their satellites. For specific small bodies you can use the HORIZONS system to generate SPK kernels, or you can use a generic SPK from the previous link with 300 small bodies at lower accuracy.


The quickest way to get your feet wet is to use the python package Skyfield which can load and read ephemerides for you and give you both (x, y, z) positions in space and relative apparent positions (altitude, azimuth) observed from a point on earth, corrected for the finite speed of light. But if you want to get in deeper, the SPICE toolkit mentioned in the other answers may be more what you want. Just for example, the answers to this question may be worth reading.

The actual ephemerides can be found here. These are produced by fitting to a large body of observational data - mostly optical, radar, and telemetry from exploration satellites where available, and then integrating equations of motion with high precision and attention to detail, forwards and backwards in time (future and past). They contain positions at fixed time intervals, and coefficients so you can interpolate positions to any point in time between to the same level of accuracy.

FREE: Yes!

ACCURATE: In a word, Yes, but it really depends what you mean by "accurate", and which body in which ephemeride. For practical purposes - "where are the planets right now, and where were they and where will they be?" they are all good, and you can choose one that is not too large and covers the time span and list of bodies you need. If you are navigating a satellite close fly-by of a planet or moon, or predicting a planetary occultation of a star seen from a point on earth, then you should look deeper into the various accuracies.

UPDATED: These are not updated, they are fixed, published tables, that apply to any time within their range. If something happens in the solar system - for example a previously undiscovered comet visits and hits a small moon of a planet and changes its orbit, the existing ephemerides will not be updated to reflect that. Of course a revision may be published as a new ephemeride at some point - or some method or "patch" to handle those moons may be issued - that's another question altogether.

For artificial satellites, it's a whole different story. They are frequently observed and their orbits are best described using the most recently published set of two-line elements, which is accurate for a short period of time.

  • $\begingroup$ Wondering if this "ephemerides" FTP is the same things as the HORIZONS telnet data. $\endgroup$ – Lance Pollard Nov 21 '18 at 7:20

Your Answer

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

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