Getting the location of the planets

How to get the position of planetary bodies im the solar system using astropy’s solar system ephemeris information and SunPy.

import matplotlib.pyplot as plt

from astropy.time import Time

from sunpy.coordinates import get_body_heliographic_stonyhurst

Lets grab the positions of each of the planets in Heliographic Stonyhurst coordinates.

obstime = Time('2014-05-15T07:54:00.005')
planet_list = ['earth', 'venus', 'mars', 'mercury', 'jupiter', 'neptune', 'uranus', 'sun']
planet_coord = [get_body_heliographic_stonyhurst(this_planet, time=obstime) for this_planet in planet_list]

Let’s plot the results. Remember the Sun is at the center of this coordinate system.

ax = plt.subplot(projection='polar')
for this_planet, this_coord in zip(planet_list, planet_coord):
    plt.polar(this_coord.lon.to('rad'), this_coord.radius, 'o', label=this_planet)
plt.legend()
plt.show()
../../../_images/sphx_glr_planet_locations_001.png

Total running time of the script: ( 0 minutes 0.317 seconds)

Gallery generated by Sphinx-Gallery