Advancing/retarding of position lines due to vessel motion

This sample problem created by Greg Rudzinski provides a nice illustration of the importance of accounting for vessel motion in order to obtain the best attainable accuracy for the many-body fix.  The first plot shows the three LOPs computed and plotted at their respective times (i.e., ignoring vessel motion) forming a small triangle (“cocked hat”):



In the second plot these LOPs were adjusted for vessel motion, i.e., the were advanced/retarded as needed to a common moment in time).  As a result, the previously plotted cocked hat tightens to a pinwheel:



There are several methods to advance or retard LOPs in time (see, for example, running fix). In this plot the LOPs were shifted by recalculating their intercepts with the formula presented by Gary LaPook ( change ~ time × cosine( azimuth – course ) ) and implemented in spreadsheet alt_move.xls.

In the following illustrative calculation of Ho adjustment, the distance traveled is DR = 1 mile, the course and azimuth differ by 60º, therefore the Ho (and, in the end, the intercept and LOP location) changes by 0.5′ ( = 1 mile × cos 60º ).




(first published on July 6, 2013)

Many-body celestial fix for a moving vessel

In a recent NavList posting Jeremy provided a set of high-quality real-life observations that can be reduced to a celestial fix for his vessel at a specified moment in time.  The application of Navigation Spreadsheets to this data set results in a very good fix, both by direct computation as well as by plotting.

The following table shows the computed ephemeridescorrected sextant altitudes, line-of position (LOP) characteristics for two choices of an assumed position (AP), and the accounting of vessel motion through dead reckoning (where the mini-spreadsheet time.xls was used to express the time intervals in decimal hours).


The fix at 19:00:00 local time (= 11:00:00 UT, since ZD = -8) is computed to be:
Latitude: N 8º 49.0′
Longitude: E 109º 45.2′

from the many_body_fix.xls spreadsheet:


This location is marked by a black square on the two subsequent plots.

The first plot uses the VSOP plotting sheet (scale 20 nautical miles per inch) with AP at N 9º and E 110º.  The LOPs were drawn with a T-Plotter.  The LOPs in this plot are not shifted by DR.



The second plot “zooms in” with the scale of 1 NM per centimeter to get a more accurate look.  The reference AP is N 8º 50′ and E 109º 40′, which has been individually shifted for each observed celestial body along the vessel’s track (037) in order to account for the motion of the vessel.



The results are excellent, with all LOPs running within a mile of the computed fix.

In the above procedures all LOPs were treated as equally valid.  The fact that there are pairs of LOPs that run nearly parallel to each other complicates matters somewhat.  The GPS fix given by Jeremy:

Latitude: N 8º 48.4′
Longitude: 109º 45.0′

is recovered almost exactly (both by computation and by plotting) if only Jupiter, Rigel, and Fomalhaut LOPs are used.

For comparison, Jeremy’s position is marked by the square in Google Earth at the top of this post.


(first published on March 8, 2013)

Celestial line of position with the T-Plotter

The recent addition of a protractor to the T-Plotter makes it a fully self-contained tool for plotting of celestial LOPs, as is shown in this demonstration video.  It is important to note, that the use of the T-Plotter is not limited to the scale of 20 nautical miles per inch printed on the instrument.  It is always possible to read off the equivalent number of tics from the latitude scale of any chart according to the picture below.



(first published on December 20, 2012)

LOP plotting using metric graph paper

Some time ago Antoine “Kermit” Couëtte kindly responded to my question about chart scales by stating that he used 1 cm per nautical mile.  In this post I show how that can be achieved using metric graph paper.  As an illustration I pick the Antares line of position (LOP) from the “many-body fix” example (vessel motion is ignored in this post).

Here we really need to “zoom in” in order to use this scale, so I changed the latitude of the assumed position AP by half a degree to N 31º 30′.  The AP longitude stayed the same at W 15º.


The spreadsheet intercept.xls calculates several characteristics of this LOP.  Besides the usual intercept and azimuth, it also gives its intersections with the AP’s parallel (cell F12) and meridian (cell F15).  This information allows the quick plotting of the LOP simply by marking and connecting these two points.  This technique will not work for LOPs that run close to the cardinal directions, but I believe that it is a good option to have available nonetheless.


After the two points F12 and F15 were connected thus forming the LOP, several measurements were made on the chart to show internal consistency of all the other data computed by the intercept.xls spreadsheet.  The intercept is indeed AWAY (cell E6) with azimuth (cell F6) 152º and it is 3.4 nm (cell D6, allowing about 1 mm for plotting imperfections that only translate to 0.1 nm, which does not degrade the precision achievable in celestial navigation).

intercept: 3.4 nm away from the geographical position (GP) of the observed body

azimuth: 152º toward the GP

LOP direction: 242º and 62º – both perpendicular to the azimuth

This last piece of information allows for yet another way of plotting this LOP using parallel rules on a chart or a plotting sheet with a preprinted compass rose, as it is shown here.


(first published on November 16, 2012)

Horizontal sextant angles

The sextant is a device for measuring angles between two lines of sight.  As such, its use is not limited to observations of celestial bodies.  For instance, the angle between two landmarks can be observed, which (via the central angle theorem), confines the vessel to a circular line of position.  In two separate NavList postings Greg Rudzinski recently published his technique of using the T-Plotter in constructing such an LOP. (post 1post 2)


(first published on July 7, 2012)

T-Plotter Blank

The “Blank” version of the T-Plotter facilitates the plotting of LOPs on charts of any scale.

Distances are marked directly on the plotter with a dry-erase marker (not included).  For more information click here and view the demo video here.

(first published on March 25, 2012)

T-Plotter Basic

According to the intercept method of Marcq St. Hilaire a celestial line of position (LOP) is plotted on a chart as the line perpendicular to the azimuth line at the intercept distance toward or away the geographical position (GP) from the assumed position (AP).  This can be accomplished with the T-Plotter®- a device consisting of two mutually perpendicular arms: the azimuth arm that is lined along the azimuth line, and the plotting arm along which you can plot the LOP.  The use of the T-Plotter reduces the clutter on the chart by eliminating the need to also plot the intermediate (and usually not needed) azimuth line.

The T-Plotter Basic model is imprinted with a grid that fits the VP-OS (Universal) Plotting Sheets, on which 20 nautical miles are represented by 1 inch.  Click here to view a demonstration video of how T-Plotter Basic can be used to plot celestial LOPs. For additional specification and ordering information, visit:

(first published on January 28, 2012)

Two-body fix (Santa Barbara, 16 July 2011)

A recent trip to Santa Barbara, California, presented me with an opportunity to do some sights and calculations. In the following example I took a series of Sun sights in the morning and a single sight in the afternoon.  The four morning sights were averaged to produce a single effective data point, whose LOP was then crossed with the LOP from the afternoon sight to obtain a fix.

Observation point:
Google Earth coordinates: Santa Barbara Sailing Club beach
N    34º 24.18′    i.e.    34.403
W 119º 41.64′    i.e. -119.694

These coordinates were used as the “assumed position” (AP) in the subsequent calculations of intercepts and azimuths.

Sun semidiameter (SD) = 15.7′

Sextant: Davis Mark 15

16 July 2011 (Sun: morning):  T=25 ºC,  P=1011 mb,  Index Correction=+8.0′,  Height of eye=6 ft
UT               Hs               Ho               GHA            Declination   Intercept    Azimuth
17:42:30      55° 48.2′     56° 08.9′      84° 06.4′      N 21° 19.9′       0.4A         103.3
17:45:20      56° 23.4′     56° 44.1′      84° 48.9′      N 21° 19.8′       0.8T         103.9
17:47:50      56° 51.6′     57° 12.3′      85° 26.4′      N 21° 19.8′       1.0A         104.4
17:50:30      57° 22.4′     57° 43.1′      86° 06.4′      N 21° 19.8′       2.1A         105.0

The spreadsheet average2.xls results in a simple average of these four observed altitudes:


that is:
UT               Hs               Ho               GHA            Declination   Intercept    Azimuth
17:46:32       —               56° 57.1′      85° 06.9′      N 21° 19.8′       0.6A         104.1

The single afternoon sight was (this time the sextant’s mirrors were adjusted to eliminate index error):
16 July 2011 (Sun: afternoon):  T=26 ºC,  P=1010 mb,  Index Correction=0.0′,  Height of eye=6 ft
UT               Hs               Ho               GHA            Declination   Intercept    Azimuth
21:18:20      69° 00.6′     69° 13.6′     138° 03.7′     N 21° 18.4′       1.6T          235.8

The two LOP intersections can be computed either with spreadsheet lops.xls or two_body_fix.xls.


Solution #1 is relevant in our case:

N    34º 22.8′
W 119º 42.8′

This fix is only 1.7 nm bearing 215 from the Google Earth coordinates, as seen both from:


and a Google Earth measurement:

Overall I think I can be reasonably happy with these results and the intercepts I got. Considering the difficulties I had with the index error determination I was in fact a bit worried before I started the calculations. The error of fix and the standard deviation of intercepts are interestingly similar at about 2 nm. Using this value as the “Scatter” parameter in the weighted least-squares fitting procedure (average2.xls: fitted, not precomputed slope), all weights came out equal, so this procedure resulted in calculating the simple average of UT’s and Ho’s.

(first published on September 1, 2011)

Greenwich Hour Angle of stars

A “sight” in celestial navigation consists of measuring the body’s altitude with a sextant and marking the time of that observation using a chronometer.  The celestial “line of position” (LOP), along which the observer is located, is a circle whose radius (called “zenith distance”) is deduced from the sextant altitude measurement.  The instant of the observation, expressed in Universal Time (UT), specifies the body’s “geographical position” (GP) which is the center of this LOP.  A crossing of this LOP with at least one other such LOP results in a celestial fix on the observer’s position.

The GP is a set of two numbers: the declination (counterpart to latitude), and the Greenwich Hour Angle (GHA) which is analogous to longitude.  The declination is an angle ranging from -90º (South Pole), through 0º (Equator) to +90º (North Pole).  The GHA increases westward starting from 0º at the Prime (Greenwich) Meridian and ending at 360º upon reaching the Prime Meridian again after one full round-trip around the Earth.  The GP coordinates for the main navigation bodies are precomputed and published in almanacs for future use.

Stars differ from the bodies of the Solar System in that they have almost negligible proper motion relative to the Earth.  As a result, their declinations are nearly constant and their GHA evolution with UT is almost entirely due to Earth’s rotation alone.  In other words, the stars are practically “fixed” to their very nearly constant positions on the celestial sphere.  This allows almanac publishers to save a lot of space using the following scheme.

Instead of tabulating the GHA of each navigation star in some increments of UT (like it is done for Sun, Moon, and planets), this value is computed by adding two numbers:

GHA_Star = GHA_Aries + SHA_Star

“Aries” (i.e. the point of vernal equinox) represents the chosen “Prime Meridian” on the celestial sphere and SHA (Sidereal Hour Angle) is the star’s constant westward position relative to Aries.  Since SHA does not change with UT, almanacs can be made much more compact by tabulating each star’s SHA just once and placing all UT dependence into the single column of GHA_Aries.  This arrangement is also used in our aries_stars.xls spreadsheet, as shown in the example below (all numbers are in degrees decimal):

For UT of January 1, 2012, 12h 00m 00s, we have GHA_Aries (280.56).

To get GHA_Acamar we add its SHA (315.31) to GHA_Aries (280.56), resulting in 595.87.  From this value we subtract 360.00 to bring the GHA to its conventional range and obtain GHA_Acamar (235.87).

To get GHA_Achernar we add its SHA (335.45) to the same GHA_Aries as above (280.56), resulting in 616.01.  From this value we subtract 360.00 to bring the GHA to its conventional range and obtain GHA_Achernar (256.01).



(first published on June 18, 2011)

Sight reduction of a Moon observation

The data for the following example are from John Karl’s “Celestial navigation in the GPS age” (First Edition, 2007), pp. 63-65.  With three spreadsheets we reproduce the computations for the sight reduction of the Moon observation presented in Figure 6.4 on p. 64.  Given the dead-reckoning (DR) position and the recorded time of observation (UT), the Moon sextant altitude (lower-limb) is reduced to intercept distance and azimuth needed to plot the associated line of position (LOP) according to the intercept method of Marcq St. Hilaire.

Input data:
: Moon, lower limb
Date: 11 May 2005
UT: 02h 19m 14s
Hs: 25º 21.6′
Sextant index correction: -3.3′
Height of eye: 9 feet
assuming standard atmospheric conditions
DR position: S 34º 13′, E 161º 43′


Date: 11 May 2005
UT: 02h 19m 14s
In cells A2-F2 entered: 2005 5 11 2 19 14

GP (row 5)
GHA: 182º 25.4′ (same as 181º 85.4′ in the book)
Dec: N 27º 42.9′ (difference of only 0.1′)

Semidiameter (SD, cell A8): 15.0′
Horizontal parallax (HP, cell C8): 55.1′

Note that there is no need for increments and corrections (v or d Corrn).



Height of eye (cells E1, F1): 9 ft
Using standard conditions for temperature and pressure:
Pressure (cell E2): 1010 mb
Temperature (cells E3, F3): 10 degrees Celsius
HP (in arcminutes from moon.xls cell C8): 55.1 entered in cell E6

Sextant altitude (Hs): 25º 21.6′, entered as 25 216/600 in cell B1
Index correction: -3.3′, entered as – 33/600 in cell B2
Artificial horizon was not used: entered N in cell B4
SD (in degrees from moon.xls cell A8): entered (+)15/60 (positive for lower limb observations) in cell B11

Observed altitude (Ho) in cells B12-B14: 26º 18.2′ (difference of only 0.1′)

Note the intermediate result for apparent altitude (Ha) in cells B6-B8: 25º 15.4′ (same as in the book)



Assumed position (AP) is taken to be the dead-reckoning (DR) position:
Latitude: S 34º 13′, entered as -34 13/60 in cell A2
Longitude: E 161º 43′, entered as (+) 161 43/60 in cell B2

GP of Moon from row 5 of moon.xls:
GHA: 182 254/600 entered in cell C2
Dec: (+) 27 429/600 entered in cell D2

Ho from alt_corr.xls cells B13, B14: 26 182/600 entered in cell E2

Intermediate results:
LHA (cells F2, F3): 344º 08.4′ (same as in the book)
Computed altitude (Hc in cells A6-C6): 26º 16.4′ (difference of only 0.1′)

Main results:
Intercept (cells D6, E6): 1.8 Toward (difference of only 0.2′)
Azimuth (cell F6): 15.7 agrees with 16 from the book after rounding



The data from this example are summarized in the worksheet below; input data are marked as green, and spreadsheet results (some of which are relayed as input for subsequent calculations) are blue.


(first published on August 17, 2010)