Finding Position from two observed Altitudes
Each measured Altitude of a celestial body yields a Line-of-Position (LoP).
The obtained LoP is a circle on the globe, centred on the Geographical Position (GP)
of the observed body at the time of the measurement and the circle radius (R in degrees) is
directly related to the measured Altitude (R = 90° - Ho).
Consequentially, two measured Altitudes yield two "Circles-of-equal-Altitude",
which will generally intersect in two different points.
Since a careful navigator will always have a reasonable good estimate of his current
position, one of the two intersection points can be discarded due to it's large
distance from the estimated position.
This makes it possible to uniquely determine the current position from only two
Altitude measurements.
In the following section a mathematical method for finding a position from two
observed Altitudes will be described. |
|
Trigonometric Setup for the Position Problem
|
The picture on the left shows the principle situation on the Celestial Sphere
with the positions of the observed bodies (P0, P1) and the - unknown - position
of the observer's Zenith (Z).
These three points together with the Celestial North Pole (CNP) define four (!)
different spherical triangles on the Celestial Sphere.
The following triangle elements are known:
The Positions P0 and P1 with their coordinates on the
Celestial Sphere are known from the Nautical Almanac:
P0 (Dec0, GHA0) and P1 (Dec1, GHA1). This data defines
two sides and one angle of some of the triangles.
The observed Altitudes H0 and H1, which define two more
sides.
|
Trigonometric Solution for the Position Problem
With this setup, the following steps can be performed to solve all the
angles and sides of the spherical triangles solving also the unknown
values for Latitude and Longitude of the unknown position "Z".
|
|
|
1. Calculate the unknown elements D, A0 and A1
of the spherical triangle P0 - CNP - P1:
D = acos(sin(Dec0)*sin(Dec1) + cos(Dec0)*cos(Dec1)*sin(GHA0-GHA1))
A0 = acos((sin(Dec1)-sin(Dec0)*Cos(D))/(cos(Dec0)*Sin(D)))
A1 = acos((sin(Dec0)-sin(Dec1)*Cos(D))/(cos(Dec1)*Sin(D)))
2. Calculate the angles a0, a1 and d in the
spherical triangle P0 - Z - P1:
d = acos((cos(D)-sin(H0)*sin(H1))/(cos(H0)*cos(H1)))
a0 = acos((sin(H0)-sin(H1)*cos(D))/(cos(H1)*sin(D)))
a1 = acos((sin(H1)-sin(H0)*cos(D))/(cos(H0)*sin(D)))
Note 1: to obtain a reasonable accuracy with this method, it is required
that the angle d is in the range of approximately 30° to 150°.
This is the intersection angle of the two circles-of-equal-Altitude (or the LOPs)
and is ideally around 90° for optimal accuracy.
Note 2: there are two valid (a0,a1) pairs: (+a0,+a1) and (-a0,-a1) obtaining
the two intersection points and thus the two valid solutions for the
position (Z).
3. Calculate the angles B0 and B1:
B0 = A0 ± a0
B1 = A1 ± a1
4. Calculate the Latitude of Z from both triangles:
Lat = asin(sin(H1)*sin(Dec1)+cos(H1)*cos(Dec1)*cos(B1))
Lat = asin(sin(H0)*sin(Dec0)+cos(H0)*cos(Dec0)*cos(B0))
Note: the Latitude of Z can be calculated from one of the two triangles,
but the precision of the result can be enhanced by taking the average Latitude value obtained
from both triangles.
5. Calculate the Local Hour Angles of Z (applying the Law of Sines) from both triangles: LHA0 = asin(sin(B0)*cos(H0)/cos(Lat))
LHA1 = asin(sin(B1)*cos(H1)/cos(Lat))
From the Local Hour Angles, the Longitude of Z can be determined by:
Lon = ± GHAx ± LHAx (x=0/1). The correct signs must be obtained from
the geometrical constellation.
|
|
|
The calculation scheme elaborated above is also implemented in an
interactive Javascript application.
|