六分仪与航海天文历:三个世纪的天文航海
从十字测天仪到六分仪,从经度竞赛到今天的航海天文历:航海者怎样学会用天空确定船位,以及怎样查阅我们的《太阳与月亮星历表 2027—2035》。
三个世纪里,航海者靠一件黄铜仪器、一块表和一本数字表确定船位。六分仪测量天体在地平线以上的高度;航海天文历给出这个天体在任一时刻的位置;剩下的交给一点三角学。GPS 让这种方法在日常航行中不再必要,却没有让它过时:它不依赖任何卫星,也不依赖任何电池,至今仍是天文学最漂亮的应用之一。
本文先讲仪器和天文历的历史,再说明怎样查阅我们的《太阳与月亮星历表 2027—2035》。
六分仪之前:测量纬度
从古代起,测定纬度就不难:北极星在地平线以上的高度大致等于当地的纬度;知道了当天太阳的赤纬,正午太阳的高度也能给出纬度。只需要测一个角度。
15 世纪末,葡萄牙航海者为此带上了航海星盘(一个吊起来瞄太阳的沉重铜盘)和象限仪。16 世纪,十字测天仪(又称雅各布杆)取而代之。天文学家吉尔松尼德(Levi ben Gerson)早在 14 世纪就描述过它:一根带刻度的长杆,上面套着一根可以滑动的横杆,用眼睛在地平线和天体之间瞄准。观测时必须直视太阳。1594 年,英国航海家约翰·戴维斯发明了反向高度仪,背对太阳,借一块挡板的影子测量太阳高度。
这些测量都是在摇晃的船上进行的,要同时瞄准两个方向。精度很少好于半度,也就是约 30 海里。
双反射:先有八分仪,后有六分仪
突破来自光学:用两面镜子,就能在同一具望远镜里看到地平线和天体重叠在一起。船再怎么摇,两个像也一起移动。艾萨克·牛顿曾提出这一原理,但他交给埃德蒙·哈雷的论文直到 1742 年才被发现。在此期间,1731 年,约翰·哈德利向英国皇家学会展示了他的八分仪;美国人托马斯·戈弗雷也在费城独立设计出了一具。
由于双反射,八分之一圆(45°)的弧能测量最大 90° 的角度。1757 年,约翰·坎贝尔船长提议把弧加长到六分之一圆(60°),可测到 120°。这就是六分仪,此后它的形状几乎没有变过。加长并非小事:求经度需要测量月球和恒星之间的大角度。
18 世纪末,杰西·拉姆斯登的刻度机能刻出精确到几角秒的刻度。配上游标,后来又配上测微鼓,一架好的六分仪能读到 0.1 角分。
经度难题
经度却迟迟无解。地球每小时转 15°,所以知道经度,就是要知道同一时刻当地时间(由太阳给出)和参考子午线上的时间之差。海上没有可靠的时钟,这就无从谈起。海难接连发生,1714 年英国议会通过了《经度法案》(Longitude Act),悬赏 2 万英镑,奖给找到实用方法的人。
两种方案相互竞争。
- 航海天文钟。 钟表匠约翰·哈里森倾注毕生心血,制作一台不受海浪颠簸和温度变化影响、能保持准时的钟。他的第四台 H4 是一块大怀表,1761—1762 年往返牙买加的航行中只慢了几秒。詹姆斯·库克在第二次远航(1772—1775 年)中带了一台仿制品 K1,称它是可靠的向导。但航海天文钟在很长时间里仍然稀少而昂贵。
- 月距法。 月球相对恒星每小时大约移动自身直径那么远:这是一座在任何地方都能读的天上时钟。用六分仪测出它和一颗恒星之间的角距离,再查表就能得到对应的格林尼治时间。这种方法需要非常精确的月球表,由德国天文学家托比亚斯·迈尔提供,还需要几个小时的计算。
1766 年,皇家天文学家内维尔·马斯基林出版了第一部《航海天文历》(Nautical Almanac),供 1767 年使用,书中每三小时计算一次月距。在法国,1679 年由让·皮卡尔神父创办的《时间知识》(Connaissance des temps)也刊载月距;它如今是连续出版历史最悠久的星历表。1795 年成立的法国经度局接管了它。直到 19 世纪,航海天文钟才便宜到每条船都能配备,月距法也就不再需要了。
天文船位线
有了六分仪和航海天文钟,航海者能测出天体的高度,也知道格林尼治时间。剩下的是用好这个测量结果。当时的做法是假定纬度已知,用它来推算经度:纬度错了,经度也跟着错。1837年12月17日,在大雾中航行数日后接近圣乔治海峡时,美国船长托马斯·萨姆纳对自己的纬度产生了怀疑。他用三个不同的纬度重新计算:三个位置连成一条直线,这条线正好穿过斯莫尔斯灯塔。他沿着这条线航行,灯塔果然出现在眼前。一次太阳高度观测给出的不是一个点,而是你所在的一条线,两条线的交点就是你的位置。
1875 年,法国海军军官阿道夫·马克·德·布隆·德·圣伊莱尔发表了高度差法,至今各地仍在教授。任一时刻,每个天体都正好位于地球上某一点的天顶,这个点就是它的星下点。测出它的高度,就知道你位于以该点为圆心的一个圆上。这个圆极大,但在你的推算船位附近,可以用一条直线代替它。从推算船位算出天体应有的高度,即计算高度;它与真高度之差(以角分计)就是天文船位线离推算船位的距离(以海里计)。我们的天文船位工具做的正是这件事。
这个计算属于球面三角学。天极、观测者的天顶和天体在天球上构成一个三角形,即天文三角形。它的三条边分别是 90° 减纬度、90° 减赤纬和 90° 减高度,它在天极处的角是地方时角。韦达公式(球面三角的边的余弦公式)以法国数学家弗朗索瓦·韦达的名字命名,他在 1593 年发表了它(在他之前已有等价的形式),它把一条边和另外两条边及其夹角联系起来。用在这个三角形上,就能直接得到计算高度:sin hc = sin φ · sin δ + cos φ · cos δ · cos LHA。另一个相关公式给出天体的方位角,它决定了天文船位线的方向。两个公式都在我们的公式卡上,还有通用的韦达公式:输入除一个之外的所有数值,公式卡就会算出最后一个。
20 世纪,现成的观测归算表和《航空天文历》(Air Almanac)让这种方法快到足以供空中领航员使用,他们用的是气泡六分仪。后来 GPS 把它降为备用手段。不过在 21 世纪 10 年代,包括美国海军在内的几国海军又把它重新纳入军官培训:六分仪是无法被干扰的。
航海天文历里有什么
对航海者来说,天体就像地球上的一个地点那样定位:
- 它的赤纬(Dec)是它星下点的纬度,向北为正;
- 它的格林时角(GHA)是星下点的经度,从 0° 到 360° 向西计量。
太阳的格林时角每小时约增加 15°,月球的约增加 14°,具体每天略多或略少。航海天文历给出每个世界时(UTC)整点的这两个值,以及它们的每小时变化量(我们的星历表中为 Δ′/h 一列):v 是格林时角每小时变化超出 15°(太阳)或 14°(月球)的部分,d 是赤纬的变化,单位都是角分每小时。如果观测时刻在两个整点之间,就从前一个整点的值出发,按经过的分钟数成比例地加上变化量。
航海天文历还给出修正测得高度所需的数据:太阳或月球的视半径(SD),因为你瞄准的是它们的边缘而不是中心;以及月球的地平视差(HP),因为月球离我们太近,它的方向取决于从哪里看它。
我们的星历表
我们提供一本可以打印装订的小册子,《太阳与月亮星历表 2027—2035》:每个月先是“太阳”页,然后是“月亮”页。
小册子开头是“使用方法”,附一个逐步示例,然后是把六分仪高度 hs(读数减去指标差 i)换算成真高度 ht 的各张表:表 1 眼高差,按眼高查,得到视高度 ha;表 2 和表 3,太阳和月亮的总改正量,综合了蒙气差、视差和视半径;表 4 GHA 内插,按分和秒查;表 5,v 和 d 的内插。它们和我们的天文船位工具用的是同一套公式。
太阳每天占两行(“日”一栏写星期和日期:“日11”即 11 日星期日):第 1 行是 GHA(格林时角),第 2 行是 Dec(赤纬,负号表示南),覆盖视正午前后的 12 个小时:太平洋版以 180° 子午线为准(0 时至 5 时,再接 18 时至 23 时,每行仍是一个 UTC 日),大西洋至印度洋版以格林尼治子午线(0°)为准(6 时至 17 时)。最后一列 Δ′/h 在第 1 行给出 v,在第 2 行给出 d。当月的视半径 SD 印在表格下方。
月亮的格式相同,覆盖以其中天时刻为中心的 11 个小时。月亮每天过子午圈的时间约推迟 50 分钟,所以这个时间窗每天后移一小时。要找到某次观测所在的列,按页面下方的提示“列号 = (UTC 小时 − 日期) mod 24”:12 日 UTC 10 时,查标为 22h 的那一列(10 − 12 = −2,即 22)。SD/HP 一列在第 1 行给出视半径 SD,在第 2 行给出地平视差 HP;一个小符号标出月相的日期,月相的时刻印在表格下方:朔、上弦、望、下弦。
太阳位置用 PyEphem 库计算,月亮位置用 Skyfield 和喷气推进实验室的 DE421 星历计算。数值取到 0.1 角分,也就是六分仪读数的精度。
这些星历表采用知识共享 BY-NC-SA 4.0(Creative Commons BY-NC-SA 4.0)许可协议发布:可以打印、分享、带上船,但须注明出处、不得用于商业目的,并以相同的许可协议发布任何改编作品。
算例
2027年4月11日,在嵊泗列岛以东约 30 海里处,海岸已经看不见了。在 UTC 05:30:52,即北京时间 13:30:52,你测量太阳下边的高度:六分仪读数为 57°04.3′,指标差 i 为 +1.4′,眼高 2.5 m。
高度。 六分仪高度 hs = 读数 − i = 57°04.3′ − 1.4′ = 57°02.9′。眼高差(表 1,眼高 2.5 m)为 −2.8′:视高度 ha = 57°00.1′。太阳总改正量(表 2,“4月至9月”下的“下边”一列)加上 15.3′:真高度 ht = 57°15.4′。
太阳的位置。 在“太阳”“4 月 2027”那一页,“日11”那一行、5h 那一列,查得:
| 5h | Δ′/h | |
|---|---|---|
| 第 1 行:GHA | 254°42.2′ | +0.2 |
| 第 2 行:Dec | 8°13.9′ | +0.9 |
此后经过的 30 分 52 秒,表 4(“太阳”一列)给出 7°30.0′ + 13.0′ = 7°43.0′,表 5 再为 v = +0.2 加上 0.1′:GHA 为 262°25.3′。表 5 还为 d = +0.9 给出 +0.5′:Dec 为 北 8°14.4′。GHA 大于 180°,太阳正下方那一点的经度是东经 360° − 262°25.3′ = 97°34.7′:太阳正位于北纬 8°14.4′、东经 97°34.7′ 的上空,在安达曼海。
剩下的就是把这些数值和你的推算船位输入天文船位工具,由它画出天文船位线。工具里自带的示例是在地中海波克罗勒岛附近观测太阳和月球,下面的图就是它的结果。
确定船位
一条天文船位线不能确定船位:需要两条,方位角明显不同,最好互相垂直。上午和下午各观测一次太阳(计入其间航行的距离),或者在白天太阳和月球同时在天上时各观测一次,都可以。
在陆地上,可以用人工地平练习:一盘水或油,从中瞄准天体的倒影;这时测得的角度是高度的两倍。
下载
太阳与月亮星历表 2027—2035
逐月的太阳和月亮数据,附改正表
- 3.9 MB
- 223 页
- CC BY-NC-SA 4.0