Professional Documents
Culture Documents
planet. Further down the page it is explained how you can calculate the approximate position of the Moon as seen from the Earth.
the length a of the semimajor axis of the orbit, which indicates the size of the orbit. a should be measured in Astronomical Units (AU). Sometimes the perihelion distance q is given instead of a. Then you can calculate a as follows: (Eq. 1) a = q/(1 e)
the eccentricity e of the orbit, which indicates the shape of the orbit. the argument [omega] of the perihelion, which indicates how far the perihelion lies beyond the ascending node of the orbit. Warning: The symbol is also sometimes used for the sum of "our" and . The symbol is also sometimes used for that sum, and that symbol resembles . We use = + for that sum. the ecliptic longitude [large omega] of the ascending node of the orbit. the inclination i of the orbit, which indicates how far the orbit is tilted compared to the ecliptic. the mean anomaly M0 at a specific date d0, which indicates the position of the planet in its orbit at that date. Sometimes L0 = M0 + + is given instead of M0, and sometimes a date dperihelion is given instead when the object was in its perihelion (where M is equal to 0). Here are the transformation formulas: (Eq. 2) M0 = L0 (Eq. 3) M0 = n (d0 dperihelion)
the obliquity [epsilon] of the ecliptic your geographical longitude l (measured westward from Greenwich) and latitude [phi] (measured northward from the equator) your time zone tz, measured as the number of hours that you have to add to your local clock time t to get Universal Time (UTC)
All in all, you need (besides the desired date and time) 16 separate numbers: 6 to describe the orbit and position of the planet in space, 6 to describe the orbit and position of the Earth in space, and 4 that describe the orientation of the Earth and your position on Earth. If you only want to calculate the heliocentric position, then you need fewer numbers. The orbital elements of the planets (at noon UTC on 1 January 2000, at Julian Day 2451545) are listed in the following table (with a measured in AU, and i, , , and M0 in degrees relative to the equinox of that date). Table 1: Planets: Orbital Elements
a e i M0
Mercury 0.38710 0.20563 7.005 29.125 48.331 174.795 Venus 0.72333 0.00677 3.395 54.884 76.680 50.416 Earth 1.00000 0.01671 0.000 288.064 174.873 357.529 Mars 1.52368 0.09340 1.850 286.502 49.558 19.373 Jupiter 5.20260 0.04849 1.303 273.867 100.464 20.020 Saturn 9.55491 0.05551 2.489 339.391 113.666 317.021 Uranus 19.21845 0.04630 0.773 98.999 74.006 141.050 Neptune 30.11039 0.00899 1.770 276.340 131.784 256.225 Pluto 39.543 0.2490 17.140 113.768 110.307 14.882 For the Sun, a is equal to 0, so also xSun = ySun = zSun = 0 so you can skip steps 1 through 4 below. The inclination of the orbit of the Earth relative to the equinox of the date is zero by definition, so that orbit has no nodes and the value of the ecliptic longitude of the ascending node is immaterial. The value of that I provide for the Earth in the table is the average of the values that you find a few years before and after 1 January 2000, when the inclination (compared to the equinox of J2000.0) is different from zero. If you multiply the inclination i by 1, add 180 degrees to , and suitably adjust the argument of the perihelion, then you still have the same orbit (but with the roles of ascending and descending nodes exchanged). For the other planets than the Earth, the inclination is very different from zero, so you can always choose it to be positive (by applying the factor of 1 when needed). Only for the orbit of the Earth can be inclination be positive or negative, and one source can choose to take the future inclination to be positive while another source can take the past inclination to be positive. When the inclination is very small, then the length of the ascending node is not determined very accurately, so the values that different sources give for the length of the ascending node of the Earth can differ by many degrees (even if you take a possible sign difference for the inclination into account) but this does not make much difference to the position of the Earth that you calculate using that value, because the ecliptic latitude cannot be greater (in absolute sense) than the inclination.
Here is a table with some more handy numbers for each planet that depend only on the orbital elements. n is measured in degrees per day, a(1e2) in AU, and in degrees. These numbers are explained later. Table 2: Planets: Other Orbital Numbers
n a(1e2)
Mercury 4.092317 0.37073 77.456 Venus 1.602136 0.72330 131.564 Earth 0.985608 0.99972 102.937 Mars 0.524039 1.51039 336.060 Jupiter 0.083056 5.19037 14.331 Saturn 0.033371 9.52547 93.057 Uranus 0.011698 19.17725 173.005 Neptune 0.005965 30.10796 48.124 Pluto 0.003964 37.09129 224.075 The steps you must follow to calculate the position of a planet as seen from Earth at date d are then: Calculate the mean anomaly M from d, M0, d0 and a. Calculate the true anomaly [nu] from M and e. Calculate the distance r to the Sun, from a, e and . Calculate the rectangular (= cartesian) heliocentric ecliptic coordinates (xplanet, yplanet, zplanet) from , r, , and i. 5. Calculate the rectangular geocentric ecliptic coordinates (x, y, z) from (xplanet, yplanet, zplanet) and (xearth, yearth, zearth). 6. Calculate the geocentric ecliptic longitude [lambda] and latitude [beta] from (x, y, z). 7. Calculate the right ascension [alpha] and declination [delta] from , and the obliquity [epsilon] of the ecliptic. 8. Calculate the sidereal time [theta] from t, your geographical longitude l and your time zone tz. 9. Calculate the hour angle H from and . 10. Calculate the height h and the azimuth A from H, and your geographical latitude [phi]. 11. You can calculate the elongation [psi] of the planet from the geocentric ecliptic coordinates (cartesian or polar) of the Sun and the planet. 1. 2. 3. 4. If you want to calculate the heliocentric position of a planet, then you should take (xplanet, yplanet, zplanet) for (x, y, z) in step 5. These steps are explained in more detail below. As an example, we'll calculate the position of Jupiter at 01:00 hours Central European Standard Time (0:00 hours UTC) on 1 January 2004 from 52 north latitude and 5 east longitude (which is near Utrecht in the Netherlands).
The section about approximations details approximations that provide less accurate results with less calculations. WARNING: These calculations are based on the assumption that the planets orbit around the Sun in elliptical orbits that never change. In reality these orbits do change, but slowly and not by much. These formulas are very suitable to determine whether a particular planet will be visible at a certain time, or what star it will be close to in the sky, but not (for example) to calculate whether a particular planet will eclipse a particular star. The accuracy of the results of these formulas is discussed later. WARNING 2: Make sure that you use the right units for the trigonometric functions such as sin and arctan. In computer programs those functions commonly work with radians. Many calculators can be configured to work with degrees or radians. Calculate sin(1) with your calculator or computer program. If the result is approximately 0.8415, then the unit is the radian. If the result is approximately 0.01745, then the unit is the degree. To transform from degrees to radians, multiply the number of degrees by /180 0.01745329.
If you have done steps 1 through 4 for the planet and also for the Earth, then you have calculated xplanet, yplanet, zplanet, xEarth, yEarth, zEarth. Then we can calculate the coordinates of the planet relative to the Earth, measured in AU: (Eq. 10) x = xplanet xEarth (Eq. 11) y = yplanet yEarth (Eq. 12) z = zplanet zEarth For the rectangular geocentric coordinates of Jupiter, measured in AU, we find x = 5.04289 (0.16811) = 4.87477 , y = 1.93965 0.96884 = 0.97081 , and z = 0.10478
0.00000 = 0.10478
(Eq. 19) 0 = arctan(y/x) If sin 0 has the same sign (plus or minus) as y and cos the same sign as x, then = 0. Otherwise, = 0 + 180. We find = ((4.87477)2 + 0.970812 + 0.104782) = 4.97161, = arctan(0.97081, 4.87477) = 168.737 , and = arcsin(0.104784.97161) = 1.208.
If you calculate the right ascension, declination, and distance for the Sun and all planets from the table, then you find Table 3: Planet Positions on 1-1-2004
right ascension declination distance degrees time degrees AU Sun 280.710 18h42m50s -23.074 0.98331 Mercury 268.693 17h54m46s -20.296 0.70403 Venus 316.189 21h04m45s -18.614 1.3061 Mars 8.335 0h33m20s +3.660 1.1115 Jupiter 170.120 11h20m29s +5.567 4.9716 Saturn 100.256 6h41m01s +22.420 8.0443 Uranus 333.148 22h12m36s -11.868 20.654 Neptune 313.525 20h54m06s -17.459 30.973 Pluto 260.277 17h21m07s -14.497 31.700
Name
The hour angle H indicates how far the celestial body has passed beyond the celestial meridian. If the hour angle is zero, then the body transits and is highest in the sky, on the celestial meridian. The hour angle is often written as a time rather than an angle, just like for the sidereal time and the right ascension. That time is approximately equal to how long ago the body was highest in the sky. (Eq. 27) H = For Jupiter, we find H = 104.946 170.120 = 65.174 = 6h59m47s 11h20m29s = 4h20m42s so Jupiter will be highest in the sky about 4 hours later.
1.12. Accuracy
How accurate are the results that these formulas yield? I compared those results for every day from 1 January 1980 through 1 January 2020 with the results that you get if you do the calculations using a truncated version of the VSOP theory according to the book "Astronomical Algorithms" by J. Meeus, who includes the effects of the mutual gravitational attraction of the planets, of abberation, nutation, the travel time of light, and the difference between UTC and TDT. The greatest differences are shown in the next table.
Table 4: Planets: Position Calculation Accuracy Name degrees degrees AU Sun 0.03 0.01 0.0000 Mercury 0.09 0.04 0.0013 Venus 0.17 0.05 0.0008 Mars 0.26 0.07 0.0018 Jupiter 0.32 0.12 0.0093 Saturn 1.08 0.43 0.049 Uranus 1.00 0.35 0.047 Neptune 0.68 0.2 0.072
1.13. Application
1.13.1. Culmination or Transit The culmination or transit of a celestial body is the moment at which the body passes through the celestial meridian and is highest in the sky. The hour angle H of the body is then 0. From this it follows that (Eq. 39) transit = so (Eq. 40) ttransit = ( + l MEarth Earth)/15 tz if you measure the angles in degrees and the times in hours. With the values from the first table, this becomes (Eq. 41) ttransit = ( + l MEarth)/15 + 17h8m15s if you measure ttransit in Universal Time (UTC). For Central European Standard Time (which is valid in winter in most of western Europe, including the Netherlands and Belgium) you should add 1 hour, but for Daylight Savings Time 2 hours. For Jupiter on 1 January 2004 we found in step 7 that is equal to 170.120, and for the Earth we found in step 1 that MEarth is equal to 357.009. For 5 east longitude (l = 5) we then find ttransit = (170.120 + (5) 357.009)/15 + 17h8m15s = 4h20m42s so Jupiter culminates (is highest in the sky) at 04:21 hours Universal Time, which is equivalent to 05:21 hours Central European Standard Time. 1.13.2. Rise and Set
When the celestial body rises or sets, then it has a particular height h as calculated for an observer on a smooth spherical Earth without an atmosphere and for a celestial body that looks like a point. The Earth does in fact have an atmosphere, and the other conditions need not be met, either, so h need not be equal to 0 when the celestial body rises or sets. We therefore define that the rise or set happens when h is equal to some fixed value h0. This yields: (Eq. 42) Hhorizon = arccos((sin h0 sin sin )/(cos cos )) so (Eq. 43) trise = ttransit Hhorizon/15 (Eq. 44) tset = ttransit + Hhorizon/15 if you measure the times in hours and the hour angle in degrees. For Jupiter we found, in step 7, that is equal to 5.567. For 52 north latitude ( = 52) and with h0 = 0 we then find Hhorizon = arccos(tan(52) * tan(5.567)) = 97.167 = 6h28m40s , trise = ttransit Hhorizon/15 = 5h20m42s 6h28m40s = 1h7m58s = 22h52m2s , and tset = ttransit + Hhorizon/15 = 5h20m42s + 6h28m40s = 11h49m22s . I added 24 hours to get the final result for trise, so that time is one on the previous day. All in all, Jupiter is above the horizon from 22h52m to 11h49m CET. There is no point in quoting these times more precise than to the nearest minute.
1.14. Approximations
There are several approximations that one can make to simplify the calculations:
approximate the elliptical orbit by a circular one (i.e., set e equal to 0). Then = M and r = a so steps 2 and 3 have become very simple. assume that the orbit is nearly a circle, so e is much smaller than 1. Then, approximately, (Eq. 45) M + 2 e sin M + (54) e2 sin 2M and then step 2 has become simpler.
ignore the angle between the plane of the orbit and the plane of the orbit of the Earth (i.e., set i equal to 0). Then step 4 becomes much simpler, namely (Eq. 46) xplanet = r cos( + + ) (Eq. 47) yplanet = r sin( + + ) (Eq. 48) zplanet = 0 where = + and the value of for the planets is displayed in the second table.
This held for the Earth anyway (according to our model), so then we also have equal to 0, and then step 7 becomes (Eq. 49) = arctan(sin cos , cos ) (Eq. 50) = arcsin(sin sin )
approximate sines and cosines of with polynomials. That only yields short formulas if you also assume that i is equal to 0 (which holds, for example, for the Sun as seen from Earth). Then, approximately, (Eq. 51) () 2 sin 2 (Eq. 52) sin
assume that h0 is much smaller than 10. Then, approximately, (Eq. 53) Hhorizon arccos(tan tan ) h0/((cos )2 (sin )2)
The next table shows the largest differences between the results that you get using some of these approximations and the results if you use the complete formulas mentioned before the section about approximations. The approximations of which the errors are shown here are (1) assume that the orbit is almost a circle, (2) ignore the angle between the orbit of the planet and the orbit of the Earth, and (3) approximate the sines and cosines of with polynomials. In general, approximation 1 yields the greatest reduction in the calculation time. Table 5: Planets: Position Approximation Accuracy [] (degrees) [] (degrees) [] (AU) 1+2+3 1+2 1 none 1+2+3 1+2 1 none 1+2+3 1+2 1 none Sun 0.14 0.032 0.032 0.032 0.26 0.011 0.011 0.011 0.0001 0.0001 0.0001 0.0001 Mercury 2.3 2.3 0.45 0.088 5.0 4.9 0.23 0.045 0.0084 0.0084 0.0056 0.0013 Venus 3.4 3.4 0.17 0.17 8.2 7.9 0.05 0.05 0.0045 0.0045 0.00078 0.00077 Mars 2.6 2.6 0.41 0.26 6.3 6.5 0.14 0.074 0.0028 0.0028 0.0026 0.0017 Jupiter 0.87 0.86 0.32 0.32 1.8 1.6 0.12 0.12 0.0095 0.0095 0.0094 0.0093 Saturn 1.2 1.2 1.1 1.1 3.2 3.0 0.44 0.43 0.049 0.049 0.049 0.049 Uranus 1.1 0.99 1.0 1.0 1.1 1.1 0.35 0.35 0.047 0.047 0.047 0.047 Neptune 1.1 1.1 0.68 0.68 1.4 1.4 0.27 0.27 0.072 0.072 0.072 0.072 For example: if you calculate the declination of Mecury without approximations 1 - 3 (but with the approximation that its orbit is a fixed ellipse, which is assumed everywhere on this page), then the greatest difference relative to the results of the VSOP theory is 0.045. If you use only approximation 1, then it becomes 0.23. If you use approximations 1 and 2, then it becomes 4.9. If you use approximations 1 - 3 then the greatest difference is 5.0.
218.316 13.176396 M 134.963 13.064993 F 93.272 13.229350 Now calculate the geocentric ecliptic coordinates (longitude), (latitude), and (distance), with the angles in degrees and the distance in kilometers: (Eq. 54) = L + 6.289 sin M (Eq. 55) = 5.128 sin F (Eq. 56) = 385001 20905 cos M You can now use step 7 and later ones from the method for the planets to calculate the right ascension and declination or the height and azimuth. We calculate the position of the Moon for 0:00 UTC on 1 January 2004, which is 1460.5 days after d0. Then L = 218.316 + 13.176396 * 1460.5 = 19462.44 = 22.44, M = 134.963 + 13.064993 * 1460.5 = 19216.39 = 136.39 and F = 93.272 + 13.229350 * 1460.5 = 19414.74 = 334.74. This yields = 22.44 + 6.289 * sin(136.39) = 26.78, = 5.128 * sin(334.74) = 2.19 and = 385001 20905 * cos(136.39) = 400136 km. I calculated the position of the Moon (, , ) for every day between 1950 and 2050 according to the above method and also according to a much more accurate method (of which the above method includes only the very largest terms). The largest error in was 2.57 degrees (standard deviation 1.04 degrees), that in 0.81 degrees (standard deviation 0.31 degrees), and that in 7645 km (standard deviation 3388 km).