Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Geographic location determination

  1. Nov 29, 2009 #1
    Hello guys. I was trying to determine the geographic location of the observer by measuring the elevation of two distinct stars at a certain time. Well, I am not very skilled in programming and I found this script for Octave and tried to use it.

    My data:
    Star A: Arcturus(α Boo)
    Right ascension: 14h 15 m 39.7s
    Declination: +19° 10' 56"
    Time: 19:31:11 UT
    Elevation: (100-89.9)*0.9= 9.09°
    Elevation after the refraction correction: 9.0°
    JD1 = 2455097.31332

    Star B: Mirfak (α Per)
    Right ascension: 03h 24m 19.4s
    Declination: +49° 51′ 40″
    Time: 20:05:29 UT
    Elevation: (100-61.5)*0.9= 34.65°
    Elevation after the refraction correction: 34.62°
    JD2= 2455097.33714

    # 1 rad
    # 90degrees-elevation
    r1 = 81
    r2 = 55.38
    # coordinates of the first star
    # Arcturus, a1 = a1 - ts
    a1 = 213.92 - 15*(19+(38/60)+(20.2/3600))
    d1 = 19.18
    # coordinates of the second star
    # Mirfak
    a2 = 51.081 - 15*(20+(12/60)+(43.9/3600))
    d2 = 49.86
    # their distance
    rad*acos(sin(d1/rad)*sin(d2/rad) +
    # first estimate of the geographical location
    a = 16
    d = 50
    for i = 1:3
    p = [ rad*acos(t1) - r1,
    rad*acos(t2) - r2]
    # susbstitution
    u = -1/sqrt(1 - t1**2)
    v = -1/sqrt(1 - t2**2)
    # derivation matrix
    m = [ -u*sin((a-a1)/rad)*cos(d1/rad)*cos(d/rad),\
    u*(sin(d1/rad)*cos(d/rad) - \
    v*(sin(d2/rad)*cos(d/rad) - \
    # inverse matrix
    [im,c] = inv(m)
    # linear equations
    x = -(im*p)
    # and addition to the initial estimates
    a = a + x(1)
    d = d + x(2)

    ts is apparently the sidereal time a and r1, r2 are 90 degrees minus elevation

    The observer should be around 16.6 degrees east and 49.2 degrees north but I am getting very imprecise values. Even some parts of the script do not seem to e doing anything. Is there some error there or maybe is there a more elegant way to do the computation?
    Thanks for any help.
  2. jcsd
  3. Nov 29, 2009 #2


    User Avatar
    Homework Helper

    I'm not an astrophysicist and don't know why matrices are being used in the program, but here's what I would do.

    First, find the equivalent latitudes and longitudes of the two stars. By "equivalent latitude and longitude", I mean the position that a line going from Earth's center to the star would pass through. Then, calculate what the second star's longitude would have been at the time the first star was observed. This should be trivial: Earth takes 23 hours, 56 minutes to rotate once.

    If you imagine drawing a circle of radius 90-alt with the first star at the center, and doing the same for the second, the observer's location would be at one of the intersections of the circles. Written out explicitly:

    cos theta1=sin(A)sin(o)+cos(A)cos(o)cos(lonA-lonO)
    cos theta2=sin(A2)sin(o)+cos(A2)cos(o)cos(lonA2-lonO)

    The two theta's are equal to 90-alt; A, lonA, A2, lonA2 are the stars' positions while o,lonO is the observer's position. These equations are just the spherical law of cosines for the angular distance between Earth's center and the two stars. I don't know if it's possible to solve these equations analytically for o and lonO, but if it's not, naively trying out every integer for o and every integer for lonO, picking the most accurate combination, then reducing the step size to 0.1 degrees will quickly give you an answer.
  4. Nov 29, 2009 #3


    User Avatar
    Science Advisor
    Gold Member

    Remember you are taking measurements from a curved surface. Inputing curvature should considerably improve the precision - note, ideasrule has outlined how to do this.
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook