get_body_barycentric#

astropy.coordinates.get_body_barycentric(body, time, ephemeris=None)[source]#

Calculate the barycentric position of a solar system body.

Parameters:
bodystr or list of tuple

The solar system body for which to calculate positions. Can also be a kernel specifier (list of 2-tuples) if the ephemeris is a JPL kernel.

timeTime

Time of observation.

ephemerisstr, optional

Ephemeris to use. By default, use the one set with astropy.coordinates.solar_system_ephemeris.set

Returns:
positionCartesianRepresentation

Barycentric (ICRS) position of the body in cartesian coordinates

See also

get_body_barycentric_posvel

to calculate both position and velocity.

Notes

You can either give an explicit ephemeris or use a default, which is normally a built-in ephemeris that does not require ephemeris files. To change the default to be the JPL ephemeris:

>>> from astropy.coordinates import solar_system_ephemeris
>>> solar_system_ephemeris.set('jpl')  

Use of any JPL ephemeris requires the jplephem package (https://pypi.org/project/jplephem/). If needed, the ephemeris file will be downloaded (and cached).

One can check which bodies are covered by a given ephemeris using:

>>> solar_system_ephemeris.bodies
('earth', 'sun', 'moon', 'mercury', 'venus', 'earth-moon-barycenter', 'mars', 'jupiter', 'saturn', 'uranus', 'neptune')