ITRS/GCRS/J2000坐标系的相互转换

ITRS/GCRS/J2000坐标系的相互转换ITRS GCRS J2000 坐标系的相互转换本文主要阐述了目前国际天文界最新规定的岁差章动模型 IAU2000A B 并根据此模型给出 ITRS GCRS 和 J2000 平赤道地心系相互转换的详细步骤 本文主要依据 IERSConventi IERSTechnica 32 而来 由于文章为英文 且详细叙述了 ITRS GCRS 参考系以及岁差章动等模型 会使

本文主要依据《IERS Conventions 2003》(IERS Technical Note No. 32)而来,由于文章为英文,且详细叙述了ITRS,GCRS参考系以及岁差章动等模型,会使得读者初次阅读(或天文背景知识不够)产生阅读障碍。笔者也是在多次反复阅读的基础上并参考其它书籍和文献才稍微弄清楚,因此本文是笔者关于此文献的一个总结,希望能够对读者有所帮助。

本文不打算对坐标系转换的理论(岁差章动,极移等)进行详细讲解,仅仅给出坐标转换的基本步骤和必要常识,以便读者根据此文能够迅速掌握ITRS,GCRS和J2000平赤道地心系相互转换的基本原理,并能够依据IERS提供的Fortran源程序进行实际编程应用。

前言

名词缩写和解释

ITRS

就是我们常说的地固坐标系,其原点在地球质心(包含大气海洋等质量),坐标系xy平面为地球赤道面,z轴指向北极CIO处,x轴指向格林威治子午线与赤道面交点处。

此坐标系固定在地球上,地面站测控,以及地球引力场系数等都在此坐标系下定义。

J2000.0

常被称为J2000平赤道地心坐标系。其原点也是在地球质心,xy平面为J2000时刻的地球平赤道面,x轴指向J2000时刻的平春分点(J2000时刻平赤道面与平黄道面的一个交点)。

此坐标系常被作为地球卫星的惯性坐标系,卫星运动积分等都在此坐标系计算。

GCRS

J2000地心天球坐标系,其定义与J2000平赤道地心坐标系仅有一个常值偏差矩阵B。目前IAU推荐用此坐标系逐渐取代J2000平赤道地心坐标系。

时间量

UT1=UTC+(UT1UTC)DAT=TAIUTCTAI=UTC+DATTT=TAI+32.184s



给定UTC时刻,可求得其距离J2000的世纪数,即

t=(TT2000Jan1d12hTT)indays/36525


上式中 2000Jan1d12hTT 对应的儒略日(Julian day)为.0天。

坐标转换

Rx(θ)=1000cosθsinθ0sinθcosθRy(θ)=cosθ0sinθ010sinθ0cosθRz(θ)=cosθsinθ0sinθcosθ0001


其旋转方向符合右手螺旋法则,即逆时针旋转为正方向。另外坐标旋转矩阵具备如下性质:

R1(θ)=RT(θ)=R(θ)

背景知识

我们知道,地球的自转轴在惯性空间中不是固定的,而是不断摆动的。此摆动造成地轴绕北黄级顺时针运动,夹角约为23.5度。于此同时,地轴还在做微小的抖动,见下图。前者的运动称为岁差(Precession),后者运动成为章动(Nutation)。岁差章动的原因主要有两个方面。其一是太阳系行星对地球绕日轨道所产生的摄动影响;其二是太阳和月球对地球赤道隆起部分的摄动影响。

关于岁差章动的计算,此前一直采用IAU 1976岁差模型和1980章动模型。随着时间的推移,此模型的精度逐渐跟不上需要。因此,IAU又规定,自2003年1月1日起,采用新的岁差章动模型,即IAU 2000A模型(精度到达0.2mas),或者IAU 2000B模型(精度达到1mas)。

岁差章动模型描述了地球自转轴的运动,另外,由于地球表面的海洋,大气运动以及地核内部液体的运动造成地球自转轴并不是相对地球不动的;相对地球北极CIO点来说有个小范围的运动,此种现象成为极移。

此外,地球的自转也不是均匀的,也很复杂。

ITRS到GCRS的转换矩阵

本文采用IAU 2000A/B 岁差章动模型,在某历元UTC时刻,ITRS到GCRS的转换矩阵可写成:

r⃗ GCRS=Q(t)R(t)W(t)r⃗ ITRS=HGT(t)r⃗ ITRS


其中, r⃗ ITRS r⃗ GCRS 分别对应同一位置向量在ITRS和GCRS坐标系中的坐标。

上式中, W(t) R(t) Q(t) 分别对应极移,自转和岁差章动转换矩阵。

在计算 R(t) Q(t) 的时候,会有两种计算方法,我们分别称为CEO-based转换方法和equinox-based转换方法。其中前者为IAU提出的新的计算方法。

下面分别给出上述三个转换矩阵的求解过程。

极移矩阵 W(t)

W(t)=Rz(s)Ry(xp)Rx(yp)


上式中, s 为:

s=0.047mast


极移量 (xp,yp) 的求解为:

(xp,yp)=(x,y)IERS+(Δx,Δy)tidal+(Δx,Δy)nutation


极移量主要是由IERS根据天文观测给出的 (x,y)IERS ,每周都有新的观测数据,此外,由于地球潮汐和章动的影响,会对极移有微小的修正 (Δx,Δy)tidal (Δx,Δy)nutation

上式中, (x,y)IERS 由IERS给出的观测数据计算求得, (Δx,Δy)tidal+(Δx,Δy)nutation 可由公式计算得到,IERS提供此fortran源程序。

地球自转矩阵 R(t)

R(t)=Rz(θ)


地球自转角 θ 的求解根据转换方法的不同有不同的求解方式(CEO-based或者equinox-based),具体求解IERS给出了fortran源程序。

岁差章动矩阵 Q(t)

前面提到,计算此矩阵有两种方法:

1. CEO-based方法:

Q(t)=1aX2aXYXaXY1aY2YXY1a(X2+Y2)Rz(s)


其中:

a=1/2+1/8(X2+Y2)


上式中:

(X,Y)=(X,Y)IAU2000+(dX+dY)IERS


(X,Y)IAU2000 s 可根据IAU2000A/B岁差章动模型求解出,IERS同样给出求解的fortran源程序,另外,由于IAU2000A/B岁差章动模型没有包含地轴的高频率运动,所以要加上IERS通过观测数据给出的高频率修正项

(dX+dY)IERS

2. Equinox-based方法:

Q(t)=BP(t)N(t)


其中,常值偏差矩阵 B ,岁差矩阵

P(t)
和章动矩阵 N(t) 如下:

BP(t)N(t)=Rz(δα0)Ry(ξ0)Rx(η0)=Rx(ϵ0)Rz(ψA)Rx(ωA)Rz(χA)=Rx(ϵ¯)Rz(Δψ)Rx(ϵ¯+Δϵ)


章动量 (Δψ,Δϵ) 为:

(Δψ,Δϵ)=(Δψ,Δϵ)IAU2000+(δΔψ,δΔϵ)IERS


上式中, =(Δψ,Δϵ)IAU2000 由IERS 2000A章动模型给出。前面提到过,IAU 2000A/B模型提供的岁差章动不包含高频率项,而是由IERS的观测数据提供(上式右端最后一项),但是在IERS给出的观测数据中仅仅给出 (dX,dY)IERS ,我们可以通过IERS提供的fortran源程序将 (dX,dY)IERS 转换为 (δΔψ,δΔϵ)IERS

其余参数皆为岁差参数,可以通过公式求出,此处从略。

值得一提的是常值偏差矩阵 中的参数也是给定的,在CEO-based方法求解中,此偏差是包含在 (X,Y)IAU2000 中的。

利用IERS提供的Fortran源程序进行转换

上节中详细讲述了ITRS到GCRS转换矩阵的求解过程,在实际应用中,如果是自己编写源程序的话是件非常琐碎的事情,因为IERS 2000A/B 章动模型的参数多达1000多项。幸而这些基本子程序IERS都提供了,我们所做的就是如何正确的运用这些源程序,并将它们组合起来。

ftp://maia.usno.navy.mil/conv2000/chapter5/上可下载相关的源程序,子程序列表如下:

子程序名 说明
BPN2000 CEO-based intermediate-to-celestial matrix
CBPN2000 equinox-based true-to-celestial matrix
EE2000 equation of the equinoxes (EE)
EECT2000 EE complementary terms
ERA2000 Earth Rotation Angle
GMST2000 Greenwich Mean Sidereal Time
GST2000 Greenwich (apparent) Sidereal Time
NU2000A nutation, IAU 2000A
NU2000B nutation, IAU 2000B
POM2000 form polar-motion matrix
SP2000 the quantity s’
T2C2000 form terrestrial to celestial matrix
XYS2000A X, Y, s
interp.f Interpolation of IERS polar motion and UT1 time series
uai2000.f IAU 2000 celestial pole offsets conversion (dpsi,deps,dX,dY)

上表最后可从ftp://hpiers.obspm.fr/iers/models上下载得到。

IERS观测数据的处理

前面一再提到IAU 2000A/B章动岁差模型不包含高频率项,因此在完整的坐标转换过程中,必须考虑到IERS提供观测数据的高频率修正项。

根据UTC时刻的儒略日,加上数据列表 MJD,x,y,UT1UTC ,可调用interp.f文件中的interp子程序插值计算出对应UTC时刻的 (xp,yp) (UT1UTC)IERS 。在子程序interp中,先插值计算出IERS的观测数据 (x,y)IERS (UT1UTC)IERS ,然后内部调用子程序PMUT1_OCEANS和PM_GRAVI计算由潮汐和章动引起的高频率修正项 (Δx,Δy)tidal,(Δx,Δy)nutation (UT1UTC)tidal ,然后分别相加,给出最后的 (xp,yp) UT1UTC
另外,根据IERS的观测数据列表 MJD,dX,dY,LOD,DAT ,可插值计算出 (dX,dY)IERS,LOD DAT 。若为equinox-based方法转换,则需要调用uai2000.f文件中的子程序dXdY_dpsideps将 (dX,dY)IERS 转换为 (δΔψ,δΔϵ)IERS

有了 UT1UTC DAT ,则可求得 UT1,TT t 。这些时间量在以后的子程序中都需要。

具体转换步骤

首先调用子程序SP2000求得

s
,再由上面插值求得的 (xp,yp) ,调用子程序POM2000即可求得极移矩阵 W(t)
求地球自转和岁差章动矩阵有两种方法,下面分别叙述:

1. CEO-based transformation

调用ERA2000求得地球自转角 θ
然后调用子程序XYS2000A求得 (X,Y)IAU2000 s ,再加上上面观测数据插值的

(dX,dY)IERS
,则可求得 (X,Y) 。根据 (X,Y,s) ,利用子程序BPN2000即可求得岁差章动转换矩阵 Q(t)

2. Equinox-based transformation

调用子程序NU2000A求得章动量 (Δψ,Δϵ)IAU2000 ,再加上由观测数据插值求得的 (dX,dY)IERS 转换后的 (δΔψ,δΔϵ)IERS ,得到最后的 (Δψ,Δϵ)
Δϵ ,调用GST2000即可求得地球自转角 θ ;
然后再由 (Δψ,Δϵ) 调用子程序CBPN2000,求得岁差章动矩阵 Q(t) 。此处需要对子程序CBPN2000进行简单的说明,其内部进行常值偏差矩阵B和岁差章动矩阵P,N的计算,最后给出矩阵 Q(t)

由上述两种方法之一求得 W(t),θ ,和 Q(t) ,调用子程序T2C2000即可求得ITRS到GCRS的转换矩阵 HGT(t)

若采用方法二时,可以用子程序NU2000B替代NU2000A,其它都不变,此种转换的精度稍低(1mas),但是其计算速度会快很多,在精度要求不是很高的情况下采用此种方法可使计算速度大大提高。

其它的一些说明

r⃗ ITRSr⃗ TIRSV⃗ ITRS=[Q(t)R(t)W(t)]Tr⃗ GCRS=HG(t)r⃗ GCRS=[Q(t)R(t)]Tr⃗ GCRS=WT(t){
RT(t)QT(t)V⃗ GCRSω⃗ e×r⃗ TIRS}



r⃗ GCRSr⃗ TIRSV⃗ GCRS=Q(t)R(t)W(t)r⃗ ITRS=HGT(t)r⃗ ITRS=W(t)r⃗ ITRS=Q(t)R(t){
W(t)V⃗ ITRS+ω⃗ e×r⃗ TIRS}


其中

ωe=7.6979×105{
1LOD/86400}


上式中的LOD由IERS的观测数据插值求得。
注意上述公式中 r⃗ TIRS r⃗ ITRS 的区别, r⃗ TIRS 为地固系ITRS坐标 r⃗ ITRS 经过极移转换矩阵后的坐标。

r⃗ GCRSV⃗ GCRSr⃗ J2000V⃗ J2000=Br⃗ J2000=BV⃗ J2000=BTr⃗ GCRS=BTV⃗ GCRS

3.) 在IERS提供的fortran源程序中,有部分子程序需要调用IAU SOFA软件包中的子程序,有关IAU SOFA软件包的说明和使用请参见我的文档《IAU SOFA软件包介绍》。

4.) IAU SOFA软件包中也包含有关岁差章动和极移等基本子程序,其主要内容和本文介绍的fortran源程序大同小异。但其软件包中还包含以前的岁差章动模型以及最新的IAU2006岁差模型,读者需要的话可参考其文档说明“sofa_pn.pdf”,并有具体例子,强烈建议读者阅读。

参考文献

1. IERS Conventions(2003)
可从IERS网站上下载(http://www.IERS.org)。此文详细叙述了IAU 2003A/B岁差章动模型,以及ITRS和GCRS坐标系的定义和详细转换过程,也是本文档的主要英文依据。在尽可能的情况下,读者可以多阅读几遍。

2. 《Fundamentals of Astrodynnamics and Applications》, Third Edition, Microcosm Press, 2007
此书为David A. Vallado所著,此书中第3章“Coordinate and Systems”详细介绍了时间,坐标系系统,以及详细的ITRS到GCRS的转换过程。

3. ftp://maia.usno.navy.mil/conv2000/chapter5/ftp://hpiers.obspm.fr/iers/models
此两ftp网站上含有IAU 2000岁差章动模型的所有Fortran源程序。也是本文中子程序的来源处。

4. http://www.iau-sofa.rl.ac.uk/
从此网站上可下载IAU SOFA软件包,里面同样包含IAU 2000岁差章动模型的所有Fortran源程序,另外还包括最新的IAU 2006模型,以及儒略日计算,行星历表等常用基本子程序。

5. http://hpiers.obspm.fr/eop-pc/
此网站包含EOP各种类型数据,包含IERS的Bulletin A/B 和C 04,以及一些其它文件的说明。





























版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231829.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • TCP Flags标志位介绍[通俗易懂]

    TCP Flags标志位介绍[通俗易懂]传输控制协议(TransmissionControlProtocol,TCP)是一种传输层协议。TCP使数据包从源到目的地的传输更加顺畅。它是一种面向连接的端到端协议。每个数据包由TCP包裹在一个报头中,该报头由10个强制字段共20个字节和一个0到40字节的可选数据字段组成。如下图所示:来自于https://www.geeksforgeeks.org1.源端口号(SourcePort):16bits,该字段标识发送方应用程序的端口号。2.目…

    2022年7月16日
    18
  • malloc函数实现原理!

    malloc函数实现原理!任何一个用过或学过C的人对malloc都不会陌生。大家都知道malloc可以分配一段连续的内存空间,并且在不再使用时可以通过free释放掉。但是,许多程序员对malloc背后的事情并不熟悉,许多人甚至把malloc当做操作系统所提供的系统调用或C的关键字。实际上,malloc只是C的标准库中提供的一个普通函数,而且实现malloc的基本思想并不复杂,任何一个对C和操作系统有些许了解的程序员都可以很

    2022年5月31日
    42
  • PHP数组详解

    作为一名C++程序员,在转做PHP开发的过程中,对PHP数组产生了一些混淆,与C++数组有相似的地方,也有一些不同,下面就全面地分析一下PHP的数组及其与C++中相应数据类型的区别和联系。数组的分类

    2021年12月27日
    40
  • 解决win10在安装Android-studio时提示HAXM无法安装问题[通俗易懂]

    解决win10在安装Android-studio时提示HAXM无法安装问题[通俗易懂]win10在安装Android-studio时提示HAXM无法安装ThiscomputerdoesnotsupportIntelVirtualizationTechnology(VT-x)oritisbeingexclusivelyusedbyHyper-V.HAXMcannotbeinstalled.PleaseensureHyper-VisdisabledinWindowsFeatures,orrefertotheIntelHAXM

    2022年6月28日
    83
  • layui弹出框php,layui弹出层怎么使用

    layui弹出框php,layui弹出层怎么使用layui弹出层的使用方法:首先引入jQuery1.8以上的任意版本;然后引入laery.js;最后通过“functionshow(){vara=layer.open({…});}”方式使用laery.open弹出层即可。本教程操作环境:Windows7系统、layui2.4&&jquery2.2.1版,DellG3电脑。layer在layui体系中的位置比较特…

    2022年6月9日
    33
  • 史上最全的数字IC后端设计实现培训教程(整理版)

    史上最全的数字IC后端设计实现培训教程(整理版)史上最全的数字IC后端设计实现培训教程(整理版)由于最近比较忙,前几天才把五月份开展活动送的书全部寄出,预计最迟明后天就会送到各位手中,希望各位多多理解!本次活动共送出八本《LowPowerFlow》PhysicalImplementation(BackEnd)纸质书籍,请各位中奖的朋友注意查收!另外本次小编多打印了五六本,有需要的朋友可以按照成本价送出(小编微信ic-backend2018)。鉴于很多小伙伴们经常苦于找各类数字IC后端实现培训教程和培训视频,今天小编特此整理了一份非常全

    2022年7月19日
    25

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号