The two-sight fix
1. Description of the method
The Van Allen Method — sometimes referred to in the literature as “Direct Sight Reduction” or “two-sight analytical method” — yields the ship’s position (fix) directly from two true altitudes of celestial bodies, without resorting to the graphical plotting of the Marcq Saint-Hilaire lines of position. It is an analytical–iterative procedure that returns the latitude and longitude of the observed position in a few steps.
The underlying geometry is classical: every observation of the true altitude Hv of a celestial body defines, on the terrestrial sphere, a circle of equal altitude centred on the body’s sub-astral point (GP, Geographical Position) and with radius equal to the zenith distance z = 90° − Hv. Two nearly simultaneous sights therefore provide two altitude circles intersecting at two points: the true fix is the one closest to the dead reckoning (DR) position.
Van Allen’s method formalises this intersection through spherical trigonometry and solves it iteratively. Compared with the traditional graphical intercept fix, it offers two practical advantages: (a) it eliminates plotting errors on the chart or worksheet, (b) it converges rapidly even when the DR position is affected by a substantial error (of the order of tens of nautical miles).
1.1 When to use it
- Offshore navigation with a sextant, when a computed fix with metric precision is required directly from the observations.
- Cross-check of the results obtained with the traditional intercept method.
- Sight reduction to be recorded in the deck log with a resolution of a tenth of a minute of arc.
- Development of algorithms for programmable calculators (TI-84, HP, etc.) or dedicated spreadsheets.
2. How it works
At the core of the method lies the spherical triangle of position, whose three vertices are the Celestial North Pole (PN), the observer’s Zenith (Z) and the projection of the celestial body on the celestial sphere (T). The three sides of the triangle correspond to as many fundamental quantities:
- Z–T = zenith distance z = 90° − Hv (depends on the sextant observation);
- PN–T = polar distance p = 90° − δ (body declination, from the Nautical Almanac);
- PN–Z = co-latitude c = 90° − φ (depends on observer’s position).

Figure 1 — The spherical triangle of position with the three fundamental sides and the hour angle at the pole t.
The hour angle at the pole t (also called Local Hour Angle, LHA) is related to the Greenwich Hour Angle of the body (GHA) and to the observer’s longitude λ by:
t = GHA + λ
With the convention: λ positive East of Greenwich, negative West. For every sight, the fundamental formula of computed altitude applies:
sin Hc = sin φ · sin δ + cos φ · cos δ · cos t
2.1 The fix as intersection of the altitude circles
In the Van Allen Method, one starts from the DR position with coordinates (φ_DR, λ_DR) and compares the computed altitudes Hc₁, Hc₂ with the true observed altitudes Hv₁, Hv₂. If the observer were exactly at the DR, Hc and Hv would coincide. In general, a difference of altitude (intercept) arises for each body:
Δh₁ = Hv₁ − Hc₁ Δh₂ = Hv₂ − Hc₂
Geometrically, in a local projection around the DR, each intercept represents the displacement one should make along the body’s azimuth direction to bring the DR onto the correct circle of altitude. The fix is therefore the point that simultaneously nulls both intercepts — that is, the intersection of the two altitude circles.

Figure 2 — The traditional graphical procedure: every line of position is the perpendicular to the azimuth drawn through the tip of the intercept; the intersection of the two lines is the fix.

Figure 3 — Overall view of the Van Allen Method: the fix is one of the two intersections of the altitude circles; the DR position is used to disambiguate the solution.
3. Formulae of the method
3.1 Input data
- φ_DR, λ_DR : dead reckoning latitude and longitude;
- Hv₁, Hv₂ : true observed altitudes (corrected for index error, height of eye/dip, refraction, parallax, semi-diameter);
- δ₁, δ₂ : declinations of the bodies at the time of the observations;
- GHA₁, GHA₂ : Greenwich hour angles at the time of the observations.
Declinations and hour angles are extracted from the Nautical Almanac with the standard hourly interpolation. If the two bodies have been observed at different instants, the first altitude must be advanced to the time of the second by applying the ship’s course and speed (running fix).
3.2 Computed altitude and azimuth
For each body, compute the hour angle at the pole:
tᵢ = GHAᵢ + λ_DR (i = 1, 2)
Then the computed altitude:
sin Hcᵢ = sin φ_DR · sin δᵢ + cos φ_DR · cos δᵢ · cos tᵢ
And the azimuth (measured from North, clockwise, 0°–360°):
tan Zᵢ = sin tᵢ / ( sin φ_DR · cos tᵢ − cos φ_DR · tan δᵢ )
In practice, the azimuth is computed with the two-argument arctangent (ATAN2) in order to get the correct quadrant directly, or with the ABC tables, or with an equivalent formula. The choice does not change the substance of the method.
3.3 Intercepts and system of equations
The two intercepts, expressed in minutes of arc (i.e. nautical miles), are:
Δh₁ = (Hv₁ − Hc₁) · 60 Δh₂ = (Hv₂ − Hc₂) · 60
Projecting each intercept onto the North (Δφ) and East (Δλ·cos φ_DR) axes, two linear equations are obtained in the unknowns Δφ (variation of latitude) and Δλ (variation of longitude):

Figure 4 — Decomposition of each intercept onto the North and East components in the local coordinate system centred at the DR.
Δφ · cos Z₁ + Δλ · cos φ_DR · sin Z₁ = Δh₁
Δφ · cos Z₂ + Δλ · cos φ_DR · sin Z₂ = Δh₂
Solving the 2×2 system with Cramer’s rule:
D = cos Z₁ · sin Z₂ − cos Z₂ · sin Z₁ = sin(Z₂ − Z₁)
Δφ = (Δh₁ · sin Z₂ − Δh₂ · sin Z₁) / D
Δλ · cos φ_DR = (Δh₂ · cos Z₁ − Δh₁ · cos Z₂) / D
The unknowns Δφ and Δλ·cos φ_DR come out in minutes of arc (nautical miles). The determinant D = sin(Z₂ − Z₁) is larger the more the two azimuths differ from 0° and 180°: this explains the practical rule according to which the two bodies should preferably have an azimuth difference between 60° and 120°, in order to ensure a geometrically robust fix.
3.4 Updating the coordinates
The new estimated coordinates become:
φ_DR’ = φ_DR + Δφ / 60 λ_DR’ = λ_DR + (Δλ·cos φ_DR) / (60 · cos φ_DR)
The procedure is then iterated (recompute t, Hc, Z, Δh with the new φ_DR, λ_DR) until the corrections Δφ and Δλ drop below a predefined threshold — typically 0.1′ or less. Convergence is very fast: with a DR within 30–40 NM of the true fix, 2–3 iterations are sufficient.
3.5 Step-by-step summary
- Take the initial DR position (φ_DR, λ_DR).
- For each body, compute tᵢ = GHAᵢ + λ_DR, the computed altitude Hcᵢ and the azimuth Zᵢ.
- Compute the intercepts Δhᵢ = (Hvᵢ − Hcᵢ) · 60, in nautical miles.
- Solve the 2×2 system for Δφ and Δλ·cos φ_DR.
- Update the coordinates: φ_DR ← φ_DR + Δφ/60, λ_DR ← λ_DR + (Δλ·cos φ_DR)/(60·cos φ_DR).
- Check convergence; if |Δφ| or |Δλ·cos φ_DR| > 0.1′, go back to step 2.
- The last φ_DR, λ_DR are the fix coordinates.
4. Worked example
Consider a nautical twilight observation on two stars, reduced to the same instant. The starting data are:
| 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′ |
Starting DR position: φ_DR = 38° 00.0′ N λ_DR = 10° 00.0′ E
4.1 First iteration
Hour angles at the pole:
t₁ = 152° 22.5′ + 10° 00.0′ = 162° 22.5′
t₂ = 210° 46.7′ + 10° 00.0′ = 220° 46.7′ (equivalent to −139° 13.3′)
Computed altitudes (with φ_DR = 38° 00.0′):
Hc₁ = 28° 21.6′ Hc₂ = 42° 15.9′
Azimuths:
Z₁ ≈ 258.4° Z₂ ≈ 302.1°
Intercepts (in nautical miles):
Δh₁ = (28° 15.4′ − 28° 21.6′) · 60 = −6.2 NM
Δh₂ = (42° 08.2′ − 42° 15.9′) · 60 = −7.7 NM
Determinant and solution:
D = sin(302.1° − 258.4°) = sin 43.7° = 0.691
Δφ = (−6.2 · sin 302.1° − (−7.7) · sin 258.4°) / 0.691 ≈ −3.3 NM
Δλ · cos φ_DR = (−7.7 · cos 258.4° − (−6.2) · cos 302.1°) / 0.691 ≈ +6.4 NM
New coordinates:
φ_DR’ = 38° 00.0′ − 3.3′ = 37° 56.7′ N
λ_DR’ = 10° 00.0′ + 6.4′ / cos 38° = 10° 08.1′ E
4.2 Second iteration
Repeating the cycle with the new coordinates, the intercepts drop to fractions of a mile and the further corrections are of the order of a few tenths of a minute. A third iteration brings |Δφ| and |Δλ·cos φ_DR| below the 0.1′ threshold and the procedure is complete.
Final FIX: φ = 37° 56.5′ N λ = 10° 08.3′ E
The numerical value of the example is illustrative: the actual declinations and GHAs depend on the instant of observation and must always be read from the Nautical Almanac with appropriate interpolation.
5. Practical notes
- Choice of bodies — azimuth difference between 60° and 120° to optimise the crossing of the altitude circles; avoid bodies nearly on the same vertical or diametrically opposite.
- Simultaneity of the observations — if the times differ, advance the first altitude to the time of the second using the running fix formulae (ship’s movement during Δt).
- Sextant altitude corrections — always apply index error, dip (height of eye), atmospheric refraction, parallax and semi-diameter before entering the method.
- Ambiguous solution — the two altitude circles intersect at two points; the correct one is always the closer to the DR. If the DR is very inaccurate, the method may converge on the wrong intersection — in this case, the result is recognisable because it lies hundreds of miles away.
- Convergence check — the 0.1′ threshold is a good compromise between precision and number of iterations. If after 5 iteration,s convergence is not reached, the problem lies almost certainly in the input data (time error, GHA/δ read incorrectly, index error not applied).
- Calculator implementation — the method lends itself perfectly to a routine on a TI-84 or a programmable HP; all formulae use only sine, cosine, tangent and two-argument arctangent.
Symbols and conventions
| φ | Latitude (positive North, negative South). |
| λ | Longitude (positive East of Greenwich, negative West). |
| δ | Body declination (from the Nautical Almanac). |
| GHA | Greenwich Hour Angle of the body. |
| t | Hour angle at the pole = LHA; in general t = GHA + λ. |
| Hv | True altitude of the body (observed and corrected). |
| Hc | Altitude computed from the DR position. |
| z | Zenith distance = 90° − Hv. |
| Z | True azimuth of the body, 0°–360° from North clockwise. |
| Δh | Intercept = Hv − Hc (in arc minutes, hence nautical miles). |
| GP | Geographical Position (sub-astral point) of the body. |
| DR | Dead Reckoning — starting position for the iterations. |
0 commenti