据科普中国消息,“地有多厚 天有多高/地有多厚 天有多高/星星眨着眼/月儿划问号/彗星拖着长长的尾巴/彩虹来架桥……”

还有人记得这首《蓝猫淘气三千问》的主题曲吗?是不是暴露年龄了~小时候的你,有没有好奇过“天有多高、地有多厚”呢?

如果你平常有戴着运动手表爬山的习惯,可能还会发现,在爬山途中,手表似乎总会知道现在有多高,这是怎么做到的?

01物理思路 vs 几何思路

测量高度有物理和几何两种思路。我们先说物理思路:

如果你站在两个地方,测到的重力不同,那就是这两个地方距离地心(质心)的远近不同,即高度不同。

这种物理的思路听着有点浪漫,但对于普通百姓,实用值约等于零。

几何的思路,从古到今一直被广泛使用。选择一个或多个观测点,测量各种角度、边长距离的数据,然后构建合适的三角形,就能算出高度。即使现在有卫星定位系统(也是几何思路),我们仍会采用这种方法来测山的高度,哪怕是珠穆朗玛峰。

运动手表测海拔的原理是什么意思(运动手表是怎么知道你的海拔高度的)(1)

珠峰测量。图片来源:可视化星球《我们究竟是如何测量珠峰的?》

02有卫星 vs 没有卫星

随着人们知道了地球是个球,而且测量的尺度越来越大,情况就发生了改变,测得的数据要按地面的弯曲做出调整,同时,空气密度不同引起的光线折射偏差也得考虑。更麻烦的是,有些地方根本就测不了,比如,想测一个海岛,站太远,岛被淹没在地平线以下,想靠近点,又没陆地。

后来,人类的天空变得更高,卫星能帮我们看清大地的全貌,也让我们的运动手表能知道所处的位置有多高。

与传统观的地面测量不同,卫星定位系统需要一个空间直角坐标系,这样,空间内的任何位置都能用坐标来表示。在这个坐标系里,原点是地心,Z轴是地球的自转轴(地轴的运动取均值),X轴指向子午线,Y轴按数学老师教的右手方法确定(如下图所示)。所以,只要测得与4颗不同卫星的距离,就能算出你所在位置的坐标,进而推算出其他有用的数据。

运动手表测海拔的原理是什么意思(运动手表是怎么知道你的海拔高度的)(2)

制图:徐静中

这么一来,卫星定位系统确实解决了原来的曲面和远距离问题,但新问题又随之产生,如何知道卫星在空间的准确位置?又如何精确地测出你与卫星之间的距离呢?

想要精确,地面和卫星使用的时间得先一致,现在具体是几点几分,以及每一秒应该有多长,必须相同,但我们地面的时间是以地球自转为基础,而卫星使用原子时,这就得协调一致。还有,卫星离我们那么远,飞那么快,时间流逝的速度和地表是不同的,所以要按照爱因斯坦的相对论做修正。然后,卫星的轨道你得算精准,这里又涉及很多物理参数。再然后,空气密度不同对电磁波的影响仍然存在,测距时要考虑。还有,卫星信号的接收机本身可能受到电磁干扰、软件计算上的问题也会造成误差。

其实,卫星定位系统测量的精度未必高于传统的地面测量。所以,那些要求高的测量,需要空中网络(卫星系统)与地面网络(地面辅助定位的基站)相结合,两种数据互相矫正。

03卫星定位与地图

为了实际应用,我们需要把空间坐标的数值换算成地图上的位置,也就是让每个点都有对应的经度、纬度、高度。

运动手表测海拔的原理是什么意思(运动手表是怎么知道你的海拔高度的)(3)

制图:徐静中

要给球面上的点确定经纬度不难(如上图所示),但确定高度就不那么简单了。因为,高度的起点在哪就是个问题。

我们很容易想到用海平面作为高度的起点,然后把这个基准高度延伸到整个地球。可以,我国就是长期观察黄海的涨落,算了一个海平面的平均值作为零海拔,这是测高的起点。

但地球不是一个正球,它有点扁,基准海平面应该按最贴近地球的形状去延伸,而这个形状又必须能用数学来表达。思来想去,人类选择了椭球体。

运动手表测海拔的原理是什么意思(运动手表是怎么知道你的海拔高度的)(4)

去除海洋的干货地球

我国的北斗系统使用2000国家大地坐标系,其中默认的地球椭球体长半轴为6378137米,短半轴为6356752.31414米。那么,现在确定经纬度也要改用这个椭球体,它比正球体复杂一点点,如下图所示。

运动手表测海拔的原理是什么意思(运动手表是怎么知道你的海拔高度的)(5)

制图:徐静中

好啦,咱们只要把黄海高程延伸到整个椭球体,然后,你所在位置垂直到这个椭球面的距离就是高度。那运动手表里真是这样算的吗?还不是,因为卫星定位系统不使用这个黄海高程延伸的椭球体。

04海平面不平

请你想一想,为什么要用海平面作为高度起点?因为水面能代表一个重力相等的面。

我们知道,地球的重力分布并不均匀,所以全球的海平面(学名:大地水准面)在重力影响下有高有低,不是一个规则的球体。如果你要知道最正确的海拔高度,就应该是该点垂直到海平面的距离。可是,凹凸不平的大地水准面无法用数学表达,卫星定位系统更不会采用。

运动手表测海拔的原理是什么意思(运动手表是怎么知道你的海拔高度的)(6)

图片来源:《地图制图基础总结归纳——地图的控制基础》

那卫星定位系统用什么做高度起点呢?上文提到过北斗系统使用的2000国家大地坐标系,里面具体设定的那个椭球体(学名:基准椭球体),它就是全球算高度的起点。

运动手表测海拔的原理是什么意思(运动手表是怎么知道你的海拔高度的)(7)

制图:徐静中

之所以设定这样的椭球体,是因为经过多年研究测算,它与地球几何最吻合,可以代表全球平均的水准面。很显然,它不等于我国的黄海高程延伸面。

运动手表测海拔的原理是什么意思(运动手表是怎么知道你的海拔高度的)(8)

卫星定位系统测量与纯正的海拔高度区别对比。制图:徐静中

现在知道了,我们通过卫星定位系统测量的高度,比如运动手表上的读数,是上图左侧的椭球高。至于上图右侧的正高,也就是纯正的海拔高度,你必须知道真实的大地水准面在哪里,海面部分它与水面吻合,但陆地部分(尤其在山地),这个面既看不见又难以定位,所以,我国把黄海高程延伸到整个陆地,当作高度0,形成一个近似的大地水准面,你日常看到的地图、地理标志上的高度都是以此为起点的近似海拔高度。

参考文献:

[1]GPS原理与接收机设计谢钢 电子工业出版社 2017.1

作者:徐静中 范琪

审核:刘松川 中国科学院空天信息创新研究院高级工程师

,