Planet Position Calculator
Calculate the approximate heliocentric ecliptic longitude and distance of a solar system planet for a given date using simplified Keplerian orbital elements (J2000.0 epoch).
Formulas Used
1. Julian Date:
JD = (Unix timestamp in days) + 2440587.5
2. Julian Centuries from J2000.0:
T = (JD − 2451545.0) / 36525
3. Orbital Elements (linearly interpolated):
a(T) = a₀ + ȧ·T | e(T) = e₀ + ė·T | I(T) = I₀ + İ·T
L(T) = L₀ + L̇·T | ϖ(T) = ϖ₀ + ϖ̇·T | Ω(T) = Ω₀ + Ω̇·T
4. Argument of Perihelion:
ω = ϖ − Ω
5. Mean Anomaly:
M = L − ϖ (normalized to [−180°, 180°])
6. Kepler's Equation (Newton-Raphson iteration):
E − e·sin(E) = M
ΔE = (M − E + e·sin(E)) / (1 − e·cos(E)) → E ← E + ΔE (until |ΔE| < 10⁻¹⁰)
7. Heliocentric Coordinates in Orbital Plane:
x' = a·(cos E − e)
y' = a·√(1 − e²)·sin E
8. Heliocentric Distance:
r = √(x'² + y'²)
9. True Anomaly:
ν = atan2(y', x')
10. Heliocentric Ecliptic Coordinates:
xecl = r·[cos Ω·cos(ν+ω) − sin Ω·sin(ν+ω)·cos I]
yecl = r·[sin Ω·cos(ν+ω) + cos Ω·sin(ν+ω)·cos I]
zecl = r·sin(ν+ω)·sin I
11. Ecliptic Longitude & Latitude:
λ = atan2(yecl, xecl) (normalized to [0°, 360°])
β = arcsin(zecl / r)
Assumptions & References
- Orbital elements are from the NASA JPL "Keplerian Elements for Approximate Positions of the Major Planets" table, valid for dates within ~3000 years of J2000.0 (2000-Jan-1.5 TT). Accuracy is typically within ~1–2 arcminutes for inner planets and a few arcminutes for outer planets.
- The epoch is J2000.0 (Julian Date 2451545.0, i.e., 2000 January 1, 12:00 TT).
- Positions are heliocentric ecliptic (referenced to the mean ecliptic and equinox of J2000.0), not geocentric. To get geocentric positions, Earth's position vector must be subtracted.
- Kepler's equation is solved iteratively using Newton-Raphson with convergence threshold 10⁻¹⁰ radians.
- The zodiac sign is determined by dividing the ecliptic longitude into 12 equal 30° sectors starting at 0° Aries — this is the tropical zodiac, not the sidereal zodiac.
- Light travel time uses the speed of light: 1 AU ≈ 499.005 light-seconds.
- This calculator does not account for perturbations from other planets, relativistic effects, or precession beyond the linear element rates.
- Reference: E.M. Standish, "Keplerian Elements for Approximate Positions of the Major Planets," NASA JPL Solar System Dynamics, 1992. ssd.jpl.nasa.gov