Live data from Hacker News

JPL Horizons on-line solar system data and ephemeris computation service

ssd.jpl.nasa.gov

11–20 of 26 posts

Re: JPL Horizons on-line solar system data and ephemeris computation service

#11
post #2

This group at JPL is the canonical source for solar system ephemeris, including planets and small bodies. The underlying models are numerically integrated equations of motion that I’m sure include all kinds of corrections, especially for bodies of great interest — such as Mars, or moons being considered for science visits. I used to use the python package “jplephem” to support ephemeris queries, but I understand that…

Indeed, I've met many of them and worked with some of them. One of the main devs for this webapi project, who is a delight to work with, was just laid off sadly. Just for some additional context, the main library used by all these packages is SPICE, a C library written and maintained by JPL. https://naif.jpl.nasa.gov/naif/aboutspice.html It dates back to 1982, IIRC. And yeah, as mentioned you can still telnet in and…

> used by a ton of missions and spacecraft for determining sun up/down times, pointing angles for heavenly bodies, time and precise keeping, etc etc.

Yes. My use case was/is determining pointing angles between a telescope at L2 and various nearby stars, to be sure it's not pointing anywhere near a bright body like a planet (around Sol) when it's expected to be observing exoplanets.

There are a lot of diverse use cases!

Re: JPL Horizons on-line solar system data and ephemeris computation service

#12
post #8

Earlier quoted context omitted.

Indeed, I've met many of them and worked with some of them. One of the main devs for this webapi project, who is a delight to work with, was just laid off sadly. Just for some additional context, the main library used by all these packages is SPICE, a C library written and maintained by JPL. https://naif.jpl.nasa.gov/naif/aboutspice.html It dates back to 1982, IIRC. And yeah, as mentioned you can still telnet in and…

Totally sentimental view on my part, but I consider the JPL ephemeris files one of the crowning achievements of humankind. On par with other things like a modern microprocessor, the pyramids, or the electric grid. You of course know this, saying it for others: The files themselves are relatively unassuming, moderate sized (~3.1 GB the largest of them) binary files which contain the distilled best knowledge of where t…

it's not sentimentality. They represent a truly amazing effort to gather both the raw data and the underlying mathematical models to make unbelievably accurate predictions.

Re: JPL Horizons on-line solar system data and ephemeris computation service

#14
post #2

This group at JPL is the canonical source for solar system ephemeris, including planets and small bodies. The underlying models are numerically integrated equations of motion that I’m sure include all kinds of corrections, especially for bodies of great interest — such as Mars, or moons being considered for science visits. I used to use the python package “jplephem” to support ephemeris queries, but I understand that…

There are also access points to Horizons via astroquery (https://astroquery.readthedocs.io/en/latest/jplhorizons/jplh...) and l'horizon (https://github.com/millionconcepts/lhorizon).

Whether you want to use SPICE or Horizons will depend on what you are trying to accomplish.

Re: JPL Horizons on-line solar system data and ephemeris computation service

#15
Im a developer for the upcoming space telescope NEO Surveyor (Near Earth Object Surveyor). I actually work quite a bit with a number of people on the team up at JPL, Horizons is the canonical source for ephemeris information. Another vital part of the chain is the Minor Planet Center (MPC), which is where all observations of asteroids and comets are sent by the community. The MPC is the international authority for these observations, which JPL ingests and computes orbits for (though the MPC also has to compute orbits as a part of their work).

As a part of my work I have written a rust/python package[1] to compute the position of asteroids accurately using the ephemeris data provided by these two excellent sources. For the people who use SPICE kernels (a rather old binary format for storing orbital ephemeris), I have also written a custom implementation of spice kernel reading which is natively parallel.

[1] https://github.com/Caltech-IPAC/kete

Re: JPL Horizons on-line solar system data and ephemeris computation service

#16
post #2

This group at JPL is the canonical source for solar system ephemeris, including planets and small bodies. The underlying models are numerically integrated equations of motion that I’m sure include all kinds of corrections, especially for bodies of great interest — such as Mars, or moons being considered for science visits. I used to use the python package “jplephem” to support ephemeris queries, but I understand that…

oh hey, I'm the developer of SpiceyPy. IIRC jplephem implements their own parsing of spk files and isn't a full implementation of the SPICE API. SpiceyPy simply wraps SPICE (via CSPICE).

Re: JPL Horizons on-line solar system data and ephemeris computation service

#17
post #5
post #2

This group at JPL is the canonical source for solar system ephemeris, including planets and small bodies. The underlying models are numerically integrated equations of motion that I’m sure include all kinds of corrections, especially for bodies of great interest — such as Mars, or moons being considered for science visits. I used to use the python package “jplephem” to support ephemeris queries, but I understand that…

I would recommend the Skyfield library: https://rhodesmill.org/skyfield/ It does the same thing, uses the spk files to compute planetary positions, but it does so with a beautifull API which is a pleasure to use.

Seconding this. Skyfield is a great tool maintained by a great guy, Brandon Rhodes. I've built many a production tool for spacecraft with it.

Re: JPL Horizons on-line solar system data and ephemeris computation service

#19
post #15

Im a developer for the upcoming space telescope NEO Surveyor (Near Earth Object Surveyor). I actually work quite a bit with a number of people on the team up at JPL, Horizons is the canonical source for ephemeris information. Another vital part of the chain is the Minor Planet Center (MPC), which is where all observations of asteroids and comets are sent by the community. The MPC is the international authority for th…

Do you know -- is the SPICE API or HORIZONS API available for public use (i.e. within an app)? And if so where can I read about getting an API key / usage limitations (rate limits etc)

Re: JPL Horizons on-line solar system data and ephemeris computation service

#20
post #15

Im a developer for the upcoming space telescope NEO Surveyor (Near Earth Object Surveyor). I actually work quite a bit with a number of people on the team up at JPL, Horizons is the canonical source for ephemeris information. Another vital part of the chain is the Minor Planet Center (MPC), which is where all observations of asteroids and comets are sent by the community. The MPC is the international authority for th…

Do you know -- is the SPICE API or HORIZONS API available for public use (i.e. within an app)? And if so where can I read about getting an API key / usage limitations (rate limits etc)

SPICE itself is a C package with a number of wrappers in other languages. JPL use it, along with numerical integrator and orbit determination code to generate SPICE "kernels", IE: binary files. The Horizons API allow you to use their numerical integrators to calculate the position of asteroids and comets. This works great for single objects, or a handful, but struggles when you want to look at the entire solar system at a time. This is where my code comes in, it enables similar calculations to what Horizon's provides, but you can do them locally on all known asteroids/comets.

The C SPICE library is available online, but it dates back decades, and was not really built with multi-core support in mind. My code enables reading of SPICE kernel files with native multi-core support. Though I would argue the bigger benefit that my code provides is the numerical integrator which can be used on the entire asteroid belt at once.

JPL Horizons API is open to anyone, if you hammer it enough they may rate limit you, but I don't believe they have limits. As far as I am aware they don't have any API keys or usernames. See: https://ssd-api.jpl.nasa.gov/doc/horizons.html

Post reply on HN