My "problem" is that, as a chemist, I am used to international commissions like IUPAC, IUPAP or CODATA, which periodically revise atomic weights, fundamental constants, etc. I suppose Astrophysics works differently.
The central repository for solar-system-object orbital elements is the IAU Minor Planet Center at the Smithsonian Astrophysical Observatory. Their main web page is at:
http://www.minorplanetcenter.net/iau/mpc.html
If you want complete sets of orbital elements, that’s the place to get them. If you want apparent positions of objects for a particular epoch or range of epochs, JPL’s Horizons is definitely a very good place to go.
It should be borne in mind that the vast majority of solar-system objects have highly perturbed orbits, so that the Keplerian orbital elements change significantly with time. JPL Horizons takes this into account for you. If you want a complete set of all elements, the Minor Planet Center is the place to get them, but I am not personally familiar with how they handle the epoch issue. On their main web page near the bottom there is a section named “Large Data Sets” with links to files; probably the MPCAT link is what you want.
I recently retired, but at the time I did, the number of objects was approaching half a million. Back in the early 80s it was just 4000. Today a complete set of elements will involve a file size on the order of 100 MB. To use these elements, you will need a computer program that implements the standard solution of Kepler’s equation and does the appropriate coordinate transformations. The orbits are represented as “osculating ellipses”, basically time-dependent Keplerian orbits in a plane that precesses.
Where I worked for many years, the Caltech IPAC, we have done a number of all-sky infrared surveys, and we need to predict the appearance of all solar-system bodies in our images in order to distinguish them from inertial infrared sources, A description of how this was done is at:
If you want a single point in time, a table of positions for a single body over a time duration, or a manual iteration that will converge quickly, then JPL Horizons is your best bet.
If you want to access these things programmatically (from Matlab, IDL, Java, C, FORTRAN, Python, etc) and make calculations (e.g. find the time of a closest approach, where one ephemeris lookup will affect the next lookup), then you should look into the NAIF/SPICE toolkit (http://naif.jpl.nasa.gov/). The learning curve is steep, but if you need to use this information regularly, dumping a JPL Horizons table into a spreadsheet is not going to be a satisfactory solution. And once you have NAIF in your toolbox you will never look back.
You can generate the ephemeris of any orbital body following the following:
1) http://ssd.jpl.nasa.gov/
2) Ephemerides
3) Web-interface
4) After setting up your planetary object (planet, comet, asteroid...); time span, etc. you can generate your own personalized ephemeris table with orbital elements (eg. cartesian, Keplerian), time evolution, etc.