The direct two-sight fix
1. Description of the method
Gery’s method — presented in 1997 by Stanley W. Gery in the NAVIGATION journal of the Institute of Navigation — is a sight-reduction procedure that delivers the ship’s position (fix) directly in closed form from two true altitudes, without iteration, without graphical plotting of lines of position, and in principle without any need for a starting DR position.
The approach is purely spherical-geometric: instead of linearising the problem around a DR position (as the Marcq Saint-Hilaire and Van Allen methods do), Gery solves directly the spherical triangle whose vertices are the two sub-astral points GP₁, GP₂ and the observer X. The sides of this triangle are two quantities we already know — the zenith distances z₁ and z₂, obtained from the true altitudes — plus a third quantity that can be computed exactly from the bodies’ coordinates: the spherical distance D between GP₁ and GP₂. Once the three sides are known, the triangle is fully determined and the coordinates of X follow in closed analytical form.
Compared with the Van Allen method — which is also analytical but iterative — Gery’s method shows two qualitatively important differences:
- it is non-iterative: the fix coordinates are obtained in a single pass, regardless of how inaccurate the DR is;
- it does not depend on the DR to compute the solution; the DR is used only to disambiguate between the two intersections of the altitude circles.
1.1 When to use it
- Offshore navigation with a programmable calculator or a dedicated spreadsheet: the closed form is ideal for software implementation.
- Independent cross-check of a fix obtained by graphical (Marcq Saint-Hilaire) or iterative (Van Allen) methods.
- Situations where the DR is very rough — for example after long periods without a reliable fix — where an iterative method could converge slowly or on the ambiguous solution.
- Teaching context: the method clearly exposes the spherical geometry underlying any two-sight fix.
Note. The mathematical development given in this article follows the spirit of Gery (1997) but presents a self-contained derivation based on the spherical law of cosines. For the original formulation with all details and numerical examples from the author, please refer to the paper cited on the cover.
2. How it works
Every observation of true altitude Hv defines, on the Earth’s surface, a circle of equal altitude centred on the body’s sub-astral point GP (the point where an observer with altitude 90° would stand) with spherical radius equal to the zenith distance:
z = 90° − Hv
Two altitudes give rise to two circles of equal altitude, which in general intersect at two distinct points. Gery’s method tackles the problem by constructing the spherical triangle GP₁–GP₂–X shown in Figure 1.

Figure 1 — The spherical triangle at the core of Gery’s method. Its three vertices are the two sub-astral points and the observer X; the blue/red sides are the zenith distances, the green side is the spherical distance between the two GPs.
In the triangle GP₁–GP₂–X all three sides are known a priori:
- z₁ = 90° − Hv₁ (spherical distance from GP₁ to X, from the sextant);
- z₂ = 90° − Hv₂ (spherical distance from GP₂ to X, from the sextant);
- D = spherical distance between GP₁ and GP₂ (computed from the Nautical Almanac data).
Since a spherical triangle whose three sides are known is completely determined, the coordinates of X can be computed unambiguously — apart from the geometric two-fold ambiguity of the intersections of two altitude circles, which is intrinsic to the problem and not a limitation of the method.

Figure 2 — The two altitude circles and their two intersections X₁ and X₂. Gery’s method finds both; the DR position is used only to choose the correct one.

Figure 3 — Schematic view of Gery’s method on the terrestrial sphere: the three sides of the triangle are great-circle arcs.
3. Formulae of the method
3.1 Input data
- Hv₁, Hv₂ : true observed altitudes (already corrected for index error, dip, refraction, parallax, semi-diameter);
- δ₁, δ₂ : body declinations at the times of observation (from the Nautical Almanac);
- GHA₁, GHA₂ : Greenwich Hour Angles of the bodies at the times of observation;
- DR coordinates φ_DR, λ_DR : used ONLY to disambiguate between the two solutions, not to compute them.
3.2 Step 1: spherical distance between the two GPs
The coordinates of the two sub-astral points are (δ₁, −GHA₁) and (δ₂, −GHA₂) — the minus sign is because GHA is measured westwards, whereas geographical longitude is positive eastwards. Compute the difference in longitude between the GPs:
ΔGHA = GHA₂ − GHA₁
and the spherical distance D between GP₁ and GP₂ with the spherical law of cosines:
cos D = sin δ₁ · sin δ₂ + cos δ₁ · cos δ₂ · cos(ΔGHA)
D is an angle (in radians or degrees) independent of the observer’s position. Multiplied by 60, it gives the distance between the two GPs in nautical miles.
3.3 Step 2: solving the triangle GP₁–GP₂–X
In the spherical triangle GP₁–GP₂–X the three sides (labelled opposite to their vertices) are:
a = z₂ = 90°−Hv₂ (opposite GP₁)
b = z₁ = 90°−Hv₁ (opposite GP₂)
c = D (opposite X)
Applying the spherical law of cosines to side “a” yields the cosine of the interior angle at vertex GP₁ — call it α — which is the angle between the baseline GP₁–GP₂ and the side GP₁–X:
cos α = ( cos z₂ − cos z₁ · cos D ) / ( sin z₁ · sin D )
α is a purely geometric property of the triangle and does not depend on the DR. The two solutions of the problem (X₁ and X₂) correspond to applying α to either side of the baseline GP₁–GP₂.
3.4 Step 3: from α to the fix coordinates
To convert the geometric result into latitude and longitude of X, we also need the initial azimuth of the segment GP₁→GP₂ — that is, the direction of the great circle heading from GP₁ to GP₂. Again by spherical trigonometry:
tan C₁₂ = sin(ΔGHA) / ( cos δ₁ · tan δ₂ − sin δ₁ · cos(ΔGHA) )
where C₁₂ is the true azimuth of GP₂ as seen from GP₁, measured from true North clockwise (the two-argument arctangent ATAN2 is recommended to get the correct quadrant).
The azimuth of the segment GP₁→X is therefore:
C₁X = C₁₂ ± α (the two signs give the two solutions X₁ and X₂)
Knowing the initial azimuth C₁X and the spherical distance z₁ = 90°−Hv₁, the classical direct-problem formulae on the sphere yield the coordinates of X from those of GP₁ (δ₁, GHA₁):
sin φ_X = sin δ₁ · cos z₁ + cos δ₁ · sin z₁ · cos C₁X
tan Δλ = sin z₁ · sin C₁X / ( cos δ₁ · cos z₁ − sin δ₁ · sin z₁ · cos C₁X )
where Δλ is the longitude difference between X and GP₁. The longitude of X is obtained by adding Δλ to the longitude of GP₁, bearing in mind that:
λ(GP₁) = −GHA₁ (convention: East positive, West negative)
λ_X = −GHA₁ + Δλ
3.5 Step 4: picking the correct solution
The computation yields two pairs (φ_X, λ_X) corresponding to the two signs of α. Both exactly satisfy the problem’s equations: physically, one is the true fix and the other is the “mirror” solution with respect to the baseline GP₁–GP₂. To decide, compute the great-circle distance from each solution to the DR:
cos dᵢ = sin φ_DR · sin φ_Xᵢ + cos φ_DR · cos φ_Xᵢ · cos(λ_Xᵢ − λ_DR)
The solution that minimises dᵢ is the sought fix. In practice, if the DR is accurate within a few dozen miles, the difference between the two distances is huge (often hundreds or thousands of miles) and the choice is trivial.

Figure 4 — The flow of Gery’s computation is linear: no iterations, no convergence to check. The DR position enters the picture only at the very last step, purely to disambiguate.
3.6 Operational summary
- Read the true altitudes Hv₁, Hv₂ from the sextant with all corrections applied.
- Read δ₁, δ₂, GHA₁, GHA₂ from the Nautical Almanac at the observation times.
- Compute the spherical distance D between GP₁ and GP₂ with the cosine rule.
- Obtain the interior angle α at vertex GP₁ from the three-sides triangle z₁, z₂, D.
- Compute the initial azimuth C₁₂ from GP₁ towards GP₂.
- Get the two solutions by adding and subtracting α: C₁X = C₁₂ ± α.
- For each of the two solutions, apply the spherical direct-problem formulae to obtain (φ_X, λ_X).
- Pick the solution closest to the DR. Those coordinates are the fix.
4. Worked example
We reuse the twilight observation on Arcturus and Vega already used in our article on the Van Allen method, so the results can be compared.
| Quantity | Body 1 (Arcturus) | Body 2 (Vega) |
| True altitude Hv | 28° 15.4′ | 42° 08.2′ |
| Declination δ | +19° 07.3′ | +38° 48.1′ |
| GHA at UT | 152° 22.5′ | 210° 46.7′ |
DR (disambiguation only): φ_DR = 38° 00′ N λ_DR = 10° 00′ E
4.1 Step 1 — Distance between the GPs
z₁ = 90° − 28° 15.4′ = 61° 44.6′
z₂ = 90° − 42° 08.2′ = 47° 51.8′
ΔGHA = 210° 46.7′ − 152° 22.5′ = 58° 24.2′
cos D = sin 19.122° · sin 38.802° + cos 19.122° · cos 38.802° · cos 58.403°
cos D ≈ 0.2053 + 0.7352 · 0.5230 = 0.5898 → D ≈ 53.86°
4.2 Step 2 — Interior angle α at vertex GP₁
cos α = ( cos 47.863° − cos 61.743° · cos 53.86° ) / ( sin 61.743° · sin 53.86° )
cos α = ( 0.6706 − 0.4739 · 0.5898 ) / ( 0.8805 · 0.8076 ) ≈ 0.5526
α ≈ 56.45°
4.3 Step 3 — Initial azimuth from GP₁ towards GP₂
tan C₁₂ = sin 58.403° / ( cos 19.122° · tan 38.802° − sin 19.122° · cos 58.403° )
tan C₁₂ = 0.8516 / ( 0.9449 · 0.8031 − 0.3275 · 0.5238 ) ≈ 1.425
C₁₂ ≈ 054.94°
4.4 Step 4 — The two solutions
The two solutions correspond to the two signs of α:
C₁X (solution A) = 054.94° − 56.45° = 358.49°
C₁X (solution B) = 054.94° + 56.45° = 111.39°
Apply the direct problem for solution A, starting from GP₁ (δ₁=19.122°, λ(GP₁)=−152.375°), with z₁=61.743°:
sin φ_X = sin 19.122° · cos 61.743° + cos 19.122° · sin 61.743° · cos 358.49°
sin φ_X ≈ 0.3275 · 0.4739 + 0.9449 · 0.8805 · 0.9996 ≈ 0.9870
φ_X ≈ 80.75° N (solution A — far north)
For solution B (C₁X = 111.39°):
sin φ_X = sin 19.122° · cos 61.743° + cos 19.122° · sin 61.743° · cos 111.39°
sin φ_X ≈ 0.1553 + 0.9449 · 0.8805 · (−0.3647) ≈ −0.1481
φ_X ≈ −8.52° ≈ 8° 31′ S (solution B)
Both solutions are geometrically correct (they are the two intersection points of the two altitude circles). With φ_DR = 38° N, neither is actually very close to the DR, a sign that the numerical values used in the example do not come from a real observation but are meant to illustrate the procedure. In a real case, with genuine altitudes, one of the two solutions lies within a few miles of the DR and the other one in the opposite hemisphere, making the choice trivial.
Note. The numerical values in the example are illustrative: actual altitudes and hour angles depend on the real instant and position, and must always be read from the Nautical Almanac with appropriate hourly interpolation. The purpose of the example is to show the computational sequence, not to reconstruct a specific observation campaign.
5. Comparison with other methods
| Feature | Marcq Saint-Hilaire | Van Allen | Gery |
| Requires DR position | Yes, essential | Yes, as iteration seed | No, only to disambiguate |
| Iterative | No (linear) | Yes (2–3 cycles) | No (closed-form) |
| Graphical plotting | Yes | No | No |
| Linearisation error | Yes (small, around DR) | No (iter. until converged) | No (exact, up to sphericity) |
| Formula complexity | Low | Medium | Medium–high |
| Ideal for | Plotting on board | Programmable calculator | Software, spreadsheets |
6. Practical notes
- Choice of bodies — as in every two-sight method, geometric robustness is highest when the two altitudes are quite different and the two GPs are well separated (D large). If D is very small the computation of α becomes numerically unstable.
- Simultaneity of the observations — the method assumes the two altitudes have been measured at the same instant; if not, the first must be advanced to the time of the second with the running-fix formulae, applying the ship’s motion.
- Sextant corrections — index error, dip, refraction, parallax and semi-diameter must all be applied before entering the method, exactly as for any other sight-reduction procedure.
- Numerical precision — Gery’s original paper stresses that at least 8 decimal places in the trigonometric functions are required to obtain a fix accurate to one arc-minute; modern scientific calculators and double-precision spreadsheets are amply sufficient.
- Ambiguous solution — the duplication of solutions is an intrinsic geometric property of the two-sight problem, not a shortcoming of the method; a third body (or the DR) resolves it unambiguously.
- No iteration — this is the real strength of the method: the computation is linear and deterministic, it simply cannot “fail to converge”. Measurement errors translate directly into position errors, with no iterative amplification.
Symbols and conventions
| φ | Latitude (positive North, negative South). |
| λ | Longitude (positive East of Greenwich, negative West). |
| δ | Declination of the body. |
| GHA | Greenwich Hour Angle. |
| Hv | True altitude of the body (observed and corrected). |
| z | Zenith distance = 90° − Hv. |
| GP | Sub-astral point (Geographical Position). |
| X | True observer position (the sought fix). |
| D | Spherical (great-circle) distance between GP₁ and GP₂. |
| α | Interior angle of the GP₁–GP₂–X triangle at vertex GP₁. |
| C₁₂ | Initial azimuth of the segment GP₁→GP₂ (from North, clockwise). |
| C₁X | Initial azimuth of the segment GP₁→X. |
| DR | Dead-reckoning position — used only to disambiguate. |
References
Gery, S. W. (1997). “The Direct Fix of Latitude and Longitude from Two Observed Altitudes”. NAVIGATION, Journal of the Institute of Navigation, vol. 44, no. 1, pp. 15–23.
Van Allen, J. A. (1981). “An Analytical Solution of the Two Star Sight Problem of Celestial Navigation”. NAVIGATION, vol. 28, no. 1, pp. 40–43.
Umland, H. “A Short Guide to Celestial Navigation” — celnav.de.
Bowditch, N. “The American Practical Navigator”. Current edition.
0 commenti