The Math Forum

Ask Dr. Math - Questions and Answers from our Archives
Associated Topics || Dr. Math Home || Search Dr. Math

Finding Where Planets are Rising/Setting

Date: 03/12/2002 at 01:15:56
From: Robert
Subject: How to find where (long/lat) planets are rising/setting

Dear Dr. Math,

I'm trying to come up with a formula to calculate where (in longitude 
and latitude) the different celestial bodies are on the horizon, 
either setting or rising. 

I want to be able to plot a line (with increments of 5 degrees or so) 
on an equidistant world map, showing where the rising and setting is 
taking place on earth.

I have two possible approaches:

Approach 1:
Using the equitorial coordinates for the planets (right ascension/ 
declination), I need a formula to plot where on earth at a frozen 
moment these coordinates are on the horizon.

Approach 2:
I can calculate where on earth the planet is on the zenith (in a 90 
degree angle to Earth's surface) by taking the meridian longitude of 
the planet and its declination (which corresponds to the earth 
latitude). This means that if I plot a circle (in longitude and 
latitude) 90 degrees away from that zenith point, I should come up 
with the planet's position on the Earth's horizon.

I hope you can answer either or both of these problems. If you see a 
third solution, it would be welcome.

Best regards,

Date: 03/12/2002 at 09:00:55
From: Doctor Rick
Subject: Re: How to find where (long/lat) planets are rising/setting

Hi, Robert.

Your second approach seems best to me.

Let's establish a cartesian coordinate system such that the longitude 
where the planet is at the zenith is in the x-z plane, on the 
positive-x side. Then we consider the plane perpendicular to the line 
from the center of the earth to the planet. At points on the earth 
that are in this plane, the planet is on the horizon.

The projection of this plane into the x-z plane is a line inclined 
from the vertical by an angle equal to the declination of the planet. 
Thus, in this plane,

  z/x = -1/tan(dec)

The cartesian coordinates of a point on the earth's surface are 
related to its latitude and longitude as follows:

  x = R*cos(lat)*cos(lon-plon)
  y = R*cos(lat)*sin(long-plon)
  z = R*sin(lat)

where R is the earth's radius, lat and lon are the latitude and 
longitude of the point, and plon is the longitude of the planet. 
Plugging these formulas into the equation of the plane, we get

  sin(lat)/(cos(lat)*cos(lon-plon)) = -1/tan(dec)

  tan(lat) = -cos(lon-plon)/tan(dec)

  lat = arctan(-cos(lon-plon)/tan(dec))

Using this formula, you can take any longitude and find the latitude 
of the point at this longitude where the planet is on the horizon. 
This should be just what you want; I used the formula to plot the 
curve using a spreadsheet, and it looks reasonable.

Practically speaking, there may be other issues depending on what you 
want to do with this information. Observationally, the planet may 
still appear above the horizon at these locations, because of 
refraction by the atmosphere: light from celestial objects that are 
below the horizon is bent over the horizon so that they appear to be 
above the horizon. I am not competent to calculate this effect.

- Doctor Rick, The Math Forum   

Date: 03/13/2002 at 23:50:04
From: Robert
Subject: How to find where (long/lat) planets are rising/setting

Dear Doctor Rick,

Thank you so much for your help. After putting your formula into code 
I got the desired results.

I am very grateful ...
Best regards,
Associated Topics:
High School Geometry
High School Higher-Dimensional Geometry

Search the Dr. Math Library:

Find items containing (put spaces between keywords):
Click only once for faster results:

[ Choose "whole words" when searching for a word like age.]

all keywords, in any order at least one, that exact phrase
parts of words whole words

Submit your own question to Dr. Math

[Privacy Policy] [Terms of Use]

Math Forum Home || Math Library || Quick Reference || Math Forum Search

Ask Dr. MathTM
© 1994- The Math Forum at NCTM. All rights reserved.