GPS从入门到放弃(二十二) --- 站点位移

GPS从入门到放弃(二十二) — 站点位移

站点位移(Site Displacements)是固定在地球上的站点因为地球潮汐等因素影响跟随地球表面一起运动而造成的站点在地固坐标系(可参考坐标系一文)中的位移。虽然我们一般把地球看着一个固体,但它却不是一个刚体,而是也存在着形变。这个形变造成的站点位移我们一般可以忽略,在差分定位中可以基本消除,但在单点精密定位(PPP)中,则必须要考虑,因为站点位移的值在垂直方向上可以达到几十厘米的幅度。

引起站点位移的因素有很多,下面列举了5种:

  1. 因固体潮(solid Earth tides)引起的位移
  2. 因海潮负荷(ocean tide loading)引起的位移
  3. 因极点运动(polar motion)引起的位移
  4. 因大气压力负荷(atmospheric pressure loading)引起的位移
  5. 因海极潮负荷(ocean pole tide loading)引起的位移

在单点精密定位中,我们一般只考虑前三种。三者之中,又以固体潮对站点位移造成的影响最大。下面分别讲述。

固体潮

固体潮是在日、月引潮力的作用下,固体地球产生的周期性形变的现象。固体潮使大地水准面的形状发生周期性的变化,用精密仪器可以测到陆地表面的升降幅度因此可达几十厘米。固体潮也使得大地水准面局部发生倾斜,但变动幅度不大;相应的面上的重力值也会发生变化。地球的地核因为自转的离心力而发生摆动,也会产生潮汐性的形变。这些影响合在一起形成了固体潮。

固体潮可用球面谐波(spherical harmonic)来描述,模型中用两个数 Love number h n m h_{nm} 和 Shida number l n m l_{nm} 来描述,n、m分别是球面谐波的度数(degree)和次数(order)。这两个数取决于站点的纬度和潮频率。

具体的算法 IERS(International Earth Rotation and Reference Systems Service 国际地球自转服务)给出来了,如下图所示:
solid-earth-tide-correction当然这个不容易看懂,不过也没关系,基本上就是按照这些公式去套就可以了,对照 RTKLIB 中的 tide_solid 和 tide_pl 函数再看就比较容易了。完整版的公式及一些讲解可以参考 IERS Technical Note,第7章,还有第6章也讲了一些相关原理,但是此处高能,非专业人士请远离。有兴趣的同学可以去 IERS 的网站下载 Technical Note 完整版。地址是:https://www.iers.org/IERS/EN/Publications/TechnicalNotes/TechnicalNotes.html。IERS 也提供了一些计算的参考代码,不过是用 FORTRAN 语言写的,也可以在它的网站上下载。

值得一提的是上述模型描述中有一个与时间无关的部分,即永久形变(permanent deformation)。若想考虑它,IERS 也给出了计算公式,RTKLIB 中的 tide_solid 函数就考虑了这一点,当然,RTKLIB 用的公式是 IERS 比较早的版本,新版的公式略有差异。

海潮负荷

海潮负荷是地球对海潮的响应。海潮中的水来回流动,这些质量再分配导致海底周期性的负荷。由于地球不是完全刚性的,它在这种载荷下变形,这被称为海洋潮汐负荷,简称海潮负荷。

在沿海地区海潮负荷潮非常显著,负荷潮的幅度可能接近或者超过固体潮。

海潮是由月亮和太阳的引力产生的,由于它们的轨道因偏心率、视界和地段而有一个以上的周期,海潮可以描述为多个海潮的总和,每个海潮都有自己的周期。一般用振幅最大的11个周期来计算海潮负荷。

描述海潮负荷的模型很多,最古老的是 Schwiderski 模型。IERS 提供了用这个模型计算的参考代码 ARG2.F,可以从其网站上下载。RTKLIB 中的 tide_oload 函数即是由此代码改写而来。

海潮负荷数据可以从http://holt.oso.chalmers.se/loading/下载,支持 BLQ 格式和 HARPOS 格式。

极潮

极潮(polar tides)是因为地球极点相对惯性空间的运动而产生的,它是地壳对地球自转轴指向偏移的弹性响应。极潮对定位的影响可达到厘米级。

极潮的模型相对简单,在 IERS Technical Note 第7章有介绍,分三步:

  1. 计算 IERS 平均极点位移 x ˉ p \bar{x}_p y ˉ p \bar{y}_p

x ˉ p ( t ) = i = 0 3 ( t t 0 ) i × x ˉ p i \bar{x}_p(t) = \sum_{i=0}^{3}(t-t_0)^i \times \bar{x}_p^i

y ˉ p ( t ) = i = 0 3 ( t t 0 ) i × y ˉ p i \bar{y}_p(t) = \sum_{i=0}^{3}(t-t_0)^i \times \bar{y}_p^i

其中 t 0 t_0 是2000年1月1日0时, x ˉ p i \bar{x}_p^i y ˉ p i \bar{y}_p^i 可由 IERS 提供的下表查得:
在这里插入图片描述要注意这里参数分为2010年之前和之后,两者不一样。

  1. 计算瞬时极点位移与平均极点位移的偏差 m 1 m_1 m 2 m_2 ,此偏差与时间相关:

m 1 = x p x ˉ p m_1 = x_p - \bar{x}_p

m 2 = y p y ˉ p m_2 = y_p - \bar{y}_p

其中 x p x_p y p y_p 可由地球自转参数得到。

  1. 计算三个方向的位移偏差校正值:

S r = 33 sin 2 θ ( m 1 cos λ + m 2 sin λ ) S_r= -33\sin2\theta(m_1\cos\lambda + m_2\sin\lambda)

S θ = 9 cos 2 θ ( m 1 cos λ + m 2 sin λ ) S_{\theta}= -9\cos2\theta(m_1\cos\lambda + m_2\sin\lambda)

S λ = 9 cos θ ( m 1 sin λ m 2 cos λ ) S_{\lambda}= 9\cos\theta(m_1\sin\lambda - m_2\cos\lambda)

其中 θ λ \theta、\lambda 分别是纬度和经度。

RTKLIB 中的 tide_pole 函数就是按照这个步骤来计算的,其中第一步调用了 iers_mean_pole 函数。有兴趣的同学可以自己去对照。

发布了76 篇原创文章 · 获赞 49 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/tyst08/article/details/104874024