空间大地测量与GPS导航定位时间系统相互转换,格里高利时通用时儒略日,GPS时,年积日相互转换讲解
- 格式:doc
- 大小:156.50 KB
- 文档页数:14
学院:武汉大学班级学号: 7学生姓名:程卫旗指导教师:黄声享武汉大学摘要GPS( Global Positioning System) 测量具有全天候、快速、经济等诸多优点,但是长期以来,工程应用领域只是利用了GPS 测量中的平面位置信息,浪费掉了高程信息,也就是没有充分利用并开发GPS 资源。
如果GPS 水准方法在一定范围内可替代低等级几何水准测量,不仅可以获得可观的经济效益,而且也为通过GPS 测量确定大地水准面的研究提供了参考。
因此, GPS 测定正常高的研究具有一定的科学价值及现实意义。
GPS观测数据经处理后,可以得到两点间基线向量及高精度大地高差,若已知一点大地高,便可求得全网任一点的大地高。
大地高是以椭球面为基准的高程系统,而我国采用的是以似大地水准面为基准的正常高系统,因此,需将大地高转换为正常高。
关键词:GPS,高程系统转换- 1 -目录1 绪论........................................ 错误!未定义书签。
1.1引言 .................................... 错误!未定义书签。
1.2GPS全球定位系统简介 .................... 错误!未定义书签。
1.3GPS系统发展现状 ........................ 错误!未定义书签。
1.4我国高程系统现状........................ 错误!未定义书签。
1.5GPS高程转换概况 ........................ 错误!未定义书签。
1.6本论文所研究的内容...................... 错误!未定义书签。
2 高程基准起算面及其相互关系.................. 错误!未定义书签。
2.1平均海平面与高程基准面.................. 错误!未定义书签。
2.2大地水准面与似大地水准面................ 错误!未定义书签。
GLONASS与GPS在时间上的统一作者:姬云鹏吴玉斌宗明杰来源:《数字技术与应用》2011年第08期摘要:介绍了两大全球定位系统GLONASS和GPS组合导航时如何在时间上的统一关键词:GLONASS GPS 时间统一中图分类号: P228 文献标识码:A 文章编号:1007-9416(2011)08-0222-011、时间系统卫星定位是指通过接收和处理导航卫星发射的信号,来确定用户接收机(或测站)至卫星间的距离(或距离差),进而确定位置。
因此,准确地测定测站至卫星间的距离,就必须精密地测定信号的传播时间。
如果要求上述距离误差小于1cm,则信号传播时间的测定误差应不超过3×10-11秒。
由于卫星到接收机之间的信号是单向传播,要获得高精度的时间信息,时间基准的精确定义以及卫星与地面接收机的时间同步是至关重要的。
与卫星定位有关的时间系统可分为世界时和原子时两大类,GLONASS与GPS时间系统均属于原子时系统,本文主要对与GPS和GLONASS相关的原子时及其之间的转换关系进行分析与讨论。
2、原子时系统原子时(Atomic Time,简称AT)秒长的定义是:位于海平面上的铯-133原子基态的两个超精细能级间在零磁场下跃迁辐射9192631770周所持续的时间,为一原子时秒,该原子秒被作为国际制秒(SI)的时间单位,这是一种均匀的时间计量系统。
2.1 国际原子时与协调世界时卫星测量学通常采用原子时(AT)作为高精度时间基准。
许多国家都建立了自己的原子时系统,但不同的地方原子时之间存在着必然的差异,为此,为了创建一个统一的原子时系统,国际上大约200座原子钟,产生的原子时,进行加权平均,进而形成了统一的原子时系统,称为国际原子时(TAI)。
1972年,国际原子时成为了建立协调世界时(UTC)的国际标准,协调世界时实际上是世界时和国际原子时之间的一种折中方案,协调时的秒长严格等于SI,采用闰秒(或称跳秒)的办法,使协调时与世界时的时刻相接近。
关于GPS测量中坐标的转换过程论述摘要:GPS是工程测量中不可缺少的仪器,本文介绍将GPS所采集到的坐标转换成工程所需坐标的过程,供同行参考。
关键词:GPS;坐标系统;转换1 概述GPS以测量精度高、操作简便、仪器体积小、便于携带、全天候操作、观测点之间无须通视、测量结果统一在WGS一84坐标下,信息自动接收、存储,减少繁琐的中间处理环节、高效益等显著特点,赢得广大测绘工作者的信赖。
GPS使用的是地心地固坐标系统,而我国绝大多数应用都集中在各种参心坐标系统上,显然必须解决两种不同的空间坐标系的转换才能更好的发挥GPS的作用。
2 我国测绘中常用的坐标系统2.1 1954年北京坐标系归结其要点为:1.1954年北京坐标系的参考椭球是属于克拉索夫斯基椭球常用基本参数如下:长半轴a=6378245m 4±2m,扁率f=1:298.32.1954北京坐标系的大地原点在前苏联的普尔科夫;3.采用多点定位进行了椭球定位;(1)高程基准为1956年青岛验潮站求出的黄海平均海水面;(2)高程异常以前苏联1955年大地水准面重新平差结果为起算数据,按我国天文水准路线推算而得。
我国地形图上的平面坐标位置都是以这个数据为基准推算的。
2.2 1980西安坐标系归结1980西安坐标系的要点为:1.该坐标系大地原点定在我国中部,即陕西省泾阳县永乐镇。
2.采用IAG 1975年推荐的地球椭球参数:长半轴a=6378140m扁率f=1:298.2573.定向明确:1980年国家大地坐标系的椭球短轴平行于地球质心指向地极原点JYD(1968.0)方向,起始大地子午面平行于格林尼治平均天文台的子午面;4.椭球定位参数以我国范围内高程异常值平方和等于最小为条件求定;5.大地点高程以1956年青岛验潮站求出的黄海平均海水面为基准;6.建立两套1980年国家大地坐标系和地心坐标系。
前者是在后者的基础上通过精确求定位坐标变化参数,换算成地心坐标。
如何进行大地测量与坐标系统的转换大地测量与坐标系统的转换是地理信息系统(GIS)中非常重要的一部分。
在现代社会中,人们对地球上的各种地理现象有着越来越多的需求,需要进行准确的测量和坐标系统转换。
这种转换涉及到地球的形状、坐标系统以及测量方法。
本文将探讨如何进行大地测量和坐标系统的转换。
大地测量是测量地球表面地形和地理要素的科学。
在大地测量中,我们使用测量仪器测量地球上的点的水平和垂直位置,以确定它们的坐标。
这些坐标可以表示为经度、纬度和高程。
然而,由于地球并非完全规则的椭球体,其形状存在很多不规则性,因此在测量时需要考虑地球的形状。
这就引出了椭球体模型。
椭球体模型是一种近似地球形状的数学模型,通过确定椭球的参数可以实现对地球形状的准确描述。
在测量中,我们通常使用球面三角学来计算地球上两点之间的距离和方向。
球面三角学基于椭球体模型,它考虑了地球外形的不规则性,以便得到较为准确的测量结果。
然而,由于地球表面的不规则性,我们需要使用一个统一的坐标系统来描述地球上的点。
这就需要进行坐标系统的转换。
坐标系统的转换涉及到将大地测量的结果转换为不同的坐标系统,例如经纬度、UTM(通用横轴墨卡托)等。
在进行坐标系统转换时,我们需要考虑到各个坐标系统之间的差异。
不同的坐标系统可能使用不同的基准面和投影方式,因此我们需要进行相应的转换操作。
常见的大地测量坐标系统转换方法包括七参数法、四参数法等。
这些方法通过计算不同坐标系之间的参数关系,实现了坐标的转换。
此外,我们还需要考虑到坐标系统的精度问题。
坐标系统的转换可能会引入误差,因此我们需要评估和控制误差,以保证转换结果的准确性。
这可以通过测量数据的质量控制和精度评估来实现。
总之,大地测量与坐标系统的转换是地理信息系统中的重要组成部分。
它们为地球上各种地理现象的测量和分析提供了基础。
通过研究地球的形状、使用适当的坐标系统和进行合理的坐标系统转换,我们可以获得准确的测量结果,并在GIS应用中得到更加可靠和准确的地理信息。
《GPS原理及其应用》习题集第一章思考题[1]名词解释:天球;赤经;赤纬;黄道;春分点;岁差;章动;极移;世界时;原子时;协调世界时;儒略日。
[2]简述卫星大地测量的发展历史,并指出其各个发展阶段的特点。
[3]试说明GPS全球定位系统的组成。
[4]为什么说GPS卫星定位测量技术问世是测绘技术发展史上的一场革命?[5]简述GPS、GLONASS与NA VSAT三种卫星导航定位系统工作卫星星座的主要参数。
[6]简述(历元)平天球坐标系、(观测)平天球坐标系以及瞬时极(真)天球坐标系之间的差别。
[7]怎样进行岁差旋转与章动旋转?它们有什么作用?[8]为什么要进行极移旋转?怎样进行极移旋转?[9]简述协议地球坐标系的定义。
[10]试写出由大地坐标到地心空间直角坐标的变换过程。
[11]综述由(历元)平天球坐标系到协议地球坐标系的变换过程。
[12]简述恒星时、真太阳时与平太阳时的定义。
[13]什么是GPS定位测量采用的时间系统?它与协调世界时UTC有什么区别?[14]试述描述GPS卫星正常轨道运动的开普勒三大定律。
[15]试画图并用文字说明开普勒轨道6参数。
[16]简述地球人造卫星轨道运动所受到的各种摄动力。
[17]地球引力场摄动力对卫星的轨道运动有什么影响?[18]日、月引力对卫星的轨道运动有什么影响?[19]简述太阳光压产生的摄动力加速度,并说明它对卫星轨道运动有何影响?[20]综述考虑摄动力影响的GPS卫星轨道参数。
[21]试写出计算GPS卫星瞬时位置的步骤。
第二章思考题[1]名词解释:码;码元(比特);数码率;自相关系数;信号调制;信号解调;SA技术。
[2]试说明什么是随机噪声码?什么是伪随机噪声码?[3]C/A码和P码是怎样产生的?[4]试述C/A码和P码的特点。
[5]试述伪随机噪声码测距原理。
[6]试述导航电文的组成格式。
[7]名词解释:遥测字;交接字;数据龄期;时延差改正;传输参数。
[8]简述导航电文数据块Ⅱ的主要内容。
进行空间大地测量所需时间系统的相互转换1.时间标示法从古至今,世界各国曾出现过多种历法,如罗马历、儒略日、格里高利以及我国的农历等,目前世界上广泛采用的历法是格里高利历。
1.1.格里高利时(通用时)格里高利历也称公历,现被世界各国广泛采用。
格里高利历是一个由146097天所组成的400年周期为基础,1年的平均长度为365.2425天。
根据格里高利历1年被划分为12个月。
其标示时间时采用年、月、日、时、分、秒的方法。
这种计时反映季节变化,与日常生活密切相关,但非连续,不利于数学表达和科学计算1.2.儒略日儒略日是一种不涉及年、月等概念的长期连续的记日法,在天文学、空间大地测量和卫星导航定位中经常使用。
这种方法是由Scaliger于1583年提出的,为纪念他的父亲儒略而命名为儒略日。
儒略日的起点订在公元前4713年(天文学上记为-4712 年)1月1日格林威治时间平午(世界时12:00),即JD 0 指定为4713 B.C. 1月1日12:00 UT到4713 B.C. 1月2日12:00 UT的24小时。
每一天赋予了一个唯一的数字。
由于儒略日数字位数太多,国际天文学联合会于1973年采用简化儒略日(MJD),其定义为MJD = JD - 2400000.5。
MJD相应的起点是1858年11月17日世界时0时。
例如1979年10月1日零时儒略日数为2,444,147.5。
1.3.GPS时GPS系统内部所采用的时间系统是GPS时间,GPS时以1980年1月6日子夜为起点,用周数(一个星期七天)和周内的秒数来表示1.4.年积日所谓年积日就是指的是从每年的1月1日起开始累计的天数,计数从1开始(即每年1月1日的年积日为1),如2004年5月1日的年积日为122。
用他可以方便的求出一年内两个时刻T1和T2间的时间间隔。
2.各个时间系统的相互转换各个时间系统都有严格的转换公式,其转换的主要思想是把通用时、GPS 时间、和年积日分别转换为儒略日,然后以儒略日为媒介,实现任意两个时间系统的相互转换,如下图所示:转换思想2.1通用时与儒略日间的相互转换2.1.1由通用时转换到儒略日(CommonTimeToJulianDay( pct, pjd))其中如果M ≤2,则y=Y-1,m=M+12如果M>2,则y=Y ,m=MJD 为儒略日,Y 为年,M 为月,D 为日,UT 为世界时。
GPS数据处理时常需要用到IGS站的观测文件和精密星历。
因为两种文件的命名是以不同的时间标示法来取的。
格里高利历也就是平时我们所认识的日历,而年积日和GPS时的时间标示法不够直观。
在下载IGS站的观测文件和精密星历文件时需要一个小小的计算或者在Linux下用命令进行换算,这些貌似有些繁琐。
所以就写了这么一个小的转换软件,它能将输入的格里高利历转换成对应的年积日和GPS时,这样很方便下载对应的IGS文件。
例子:输入2008 6 30 结果为182 1486 1第一个数182是2008年6月30日对应的年积日,也就是说这一天是2008年的第182天。
第二个数1486是2008年6月30日对应的GPS时,一般也称第1486周。
这是从1980年1月6日0时开始起算的周数。
第三个数1表示2008年6月30日这一天是星期一,这个是从星期天起算的,也就是0~6。
数字是几就表示星期几。
儒略日在天文学有一种连续纪日的儒略日(JD),也叫凯撒日。
它以儒略历公元前4713年1月1日的GMT正午为第0日的开始。
还有一种简化儒略日(MJD):MJD=JD-2400000.5MJD的第0日是从公历1858年11月17日的GMT零时开始的。
需要注意:儒略历公元前4713年1月1日相当于公历公元前4713年11月24日。
儒略日(Julian day)是指由公元前4713年1月1日,协调世界时中午12时开始所经过的天数,多为天文学家采用,用以作为天文学的单一历法,把不同历法的年表统一起来。
儒略日是一种不用年月的长期纪日法,简写为JD。
是由法国学者Joseph Justus Scliger(1540-1609)在1583年所创,这名称是为了纪念他的父亲——意大利学者Julius Caesar Scaliger(1484-1558)。
儒略日的起点订在公元前4713年(天文学上记为-4712 年)1月1日格林威治时间平午(世界时12:00),即JD 0 指定为4713 B.C. 1月1日12:00 UT到4713 B.C. 1月2日12:00 UT的24小时。
GPS测量中的坐标系转换第一章绪论1.1概述坐标转化并不是一个新的课题,随着测绘事业的发展,全球一体化的形成,越来越要求全球测绘资料的统一。
尤其是在坐标系统的统一方面.原始的大地测量工作主要是依靠光学仪器进行,这样不免受到近地面大气的影响,同时受地球曲率的影响很大,在通视条件上受到很大的限制,从而对全球测绘资料的一体化产生巨大的约束性。
另外由于每一个国家的大地坐标系的建立和发展具有一定的历史特性,仅常用的大地坐标系就有150余个。
在同一个国家,在不同的历史时期由于习惯的改变或经济的发展变化也会采用不同的坐标系统。
例如:在我国建国之后,为了尽快搞好基础建设,我国采用了应用克氏椭球与我国实际相结合的北京54坐标系;随着经济的发展北京54坐标系的缺陷也随之被表露的越来越明显,特别是对我国经济较发达的东南沿海地区的影响表现得更为明显,进而我国开始研究并使用国家80坐标系。
在实际生活中,在一些地区由于国家建设的急需,来不及布设国家统一的大地控制网,而建立局部的独立坐标系。
而后,再将其转换到国家统一的大地控制网中,这些坐标系的变换都离不开坐标值的转化.在国际上,随着1964年美国海军武器实验室对第一代卫星导航系统─NNSS的研制成功,为测绘资料的全球一体化提供了可能。
到1972年,经过美国国防部的批准,开始了第二代卫星导航系统的开发研究工作,即为现在所说的GPS。
此套卫星导航系统满足了全球范围、全天候、连续实时以及三维导航和定位的要求.正是由于GPS卫星的这些特性,这种技术就很快被广大测绘工作者接受。
是由于坐标系统的不同,对GPS技术的推广使用造成了一定的障碍。
这样坐标转换的问题再一次被提到了重要的位置。
为了描述卫星运动,处理观测数据和表示测站位置,需要建立与之相应的坐标系统。
在GPS测量中,通常采用两种坐标系统,即协议天球坐标系和协议地球坐标系。
其中协议地球坐标系采用的是1984年世界大地坐标系(Word Geodetic System 1984─WGS-84)其主要参数为:长半轴 a=6378137; 扁率 f=1:298.257223563.而我国采用的坐标系并不是WGS-84坐标系而是BJ-54坐标系,这个坐标系是与前苏联的1942年普耳科沃坐标系有关的,其主要参数为: 长半轴 a=6378245; 扁率 f=1:298.3.这就使得同一点在不同的坐标系下有不同的坐标值,这样使测绘资料的使用范围受到很大的限制,并且对GPS系统在我国的广泛使用造成了一定的约束性,对我国的测绘事业的发展不利。
进行空间大地测量所需时间系统的相互转换1.时间标示法从古至今,世界各国曾出现过多种历法,如罗马历、儒略日、格里高利以及我国的农历等,目前世界上广泛采用的历法是格里高利历。
1.1.格里高利时(通用时)格里高利历也称公历,现被世界各国广泛采用。
格里高利历是一个由146097天所组成的400年周期为基础,1年的平均长度为365.2425天。
根据格里高利历1年被划分为12个月。
其标示时间时采用年、月、日、时、分、秒的方法。
这种计时反映季节变化,与日常生活密切相关,但非连续,不利于数学表达和科学计算1.2.儒略日儒略日是一种不涉及年、月等概念的长期连续的记日法,在天文学、空间大地测量和卫星导航定位中经常使用。
这种方法是由Scaliger于1583年提出的,为纪念他的父亲儒略而命名为儒略日。
儒略日的起点订在公元前4713年(天文学上记为-4712 年)1月1日格林威治时间平午(世界时12:00),即JD 0 指定为4713 B.C. 1月1日12:00 UT到4713 B.C. 1月2日12:00 UT的24小时。
每一天赋予了一个唯一的数字。
由于儒略日数字位数太多,国际天文学联合会于1973年采用简化儒略日(MJD),其定义为MJD = JD - 2400000.5。
MJD相应的起点是1858年11月17日世界时0时。
例如1979年10月1日零时儒略日数为2,444,147.5。
1.3.GPS时GPS系统内部所采用的时间系统是GPS时间,GPS时以1980年1月6日子夜为起点,用周数(一个星期七天)和周内的秒数来表示1.4.年积日所谓年积日就是指的是从每年的1月1日起开始累计的天数,计数从1开始(即每年1月1日的年积日为1),如2004年5月1日的年积日为122。
用他可以方便的求出一年内两个时刻T1和T2间的时间间隔。
2.各个时间系统的相互转换各个时间系统都有严格的转换公式,其转换的主要思想是把通用时、GPS 时间、和年积日分别转换为儒略日,然后以儒略日为媒介,实现任意两个时间系统的相互转换,如下图所示:转换思想2.1通用时与儒略日间的相互转换2.1.1由通用时转换到儒略日(CommonTimeToJulianDay( pct, pjd))其中如果M ≤2,则y=Y-1,m=M+12如果M>2,则y=Y ,m=MJD 为儒略日,Y 为年,M 为月,D 为日,UT 为世界时。
工程测量中GPS坐标系统转换及坐标系换算1 GPS 在工程测量中的应用GPS全球定位系统经过20多年的发展,现已广泛应用于航空、航天、军事、交通运输、资源勘探、通信气象等领域。
我国测绘部门引进和使用GPS也十多年了,主要采用GPS-RTK技术用于高精度大地测量和控制测量,建立各种类型和等级的测量控制网。
还广泛用于各种类型的工程测量、变形观测、航空摄影测量、海洋测量和地理信息系统中地理数据的采集等。
GPS体积小、重量轻、便于携带,测量精度高、操作简便、观测点之间无须通视、可全天候作业,测量结果统一在WGS-8哋标系统下,信息自动接收、存储,减轻了工作量、提高了作业速度和效益,改写了测量作业方法的历史。
2 常用坐标系统坐标系是描述空间位置的表达形式,生产实践中人们采用多种方法描述空间位置,从而就产生了不同的坐标系。
GPS全球定位系统采用WGS-84地心空间直角坐标系,不同的用户使用GPS 测量时需将成果转换到不同的坐标系中。
在我国通常采用BJ-54 北京坐标系、1980 西安坐标系或地方局部坐标系等参心坐标系。
2.1 BJ-54 坐标系1954北京坐标系的依据是前苏联的克拉索夫斯基椭球( 简称克氏椭球) ,大地原点在前苏联的普尔科沃,它实际上是前苏联普尔科沃坐标系在中国境内的延伸[1] ,其几何参数见表-1 。
2.2 WGS-84 坐标系WGS-84坐标系是一个协议地球坐标参考系CTS(Conventional Terrestrial System),其原点位于地球质心,Z 轴指向BIHl984.0 定义的协议地极CTP(Conventional Terrestrial Pole)方向,X轴指向BIH 1984.0 的零子午面和CTP 赤道的交点,Y 轴与X、Z轴正交构成右手坐标系。
WGS-84大地坐标系的椭球参数见表-1[2] 。
表-1克氏椭球、WGS-84椭球几何参数表-1 中a,b,f ,e2 分别表示椭球体的长半轴、短半轴、扁率和第一偏心率。
卫星定位授时系统的时间表⽰主要有以下⼏种⽅法:卫星定位授时系统的时间表⽰主要有以下⼏种⽅法:1、通⽤时间表⽰⽅法:⽇历表⽰法:年、⽉、⽇、时、分、秒2、儒略⽇(JULIAN DAY):是指从-4712年1⽉1⽇(即公元前4713年1⽉1⽇)正午开始的天数。
由J.J.Scaliger在1583年提出。
它的特点是连续,利于数学表达,但是不直观。
3、新儒略⽇(Modified Julian Day –MJD):从儒略⽇中减去2,400,000.5天来得到,给出的是从1858年11⽉17⽇⼦夜开始的天数。
特点是数值⽐儒略⽇⼩。
4、年积⽇(DOY-Day Of Year):从当前1⽉1⽇开始的天数。
5、GPS时(GPS Time):以1980年1⽉6⽇⼦夜为起点,⽤周数和周内秒数来表⽰,为GPS系统内部计时法。
各时间表⽰⽅法之间的转换⽅法:1、通⽤时与儒略⽇的相互转换:(1)由通⽤时转换到儒略⽇JD=INT[365.25y]+INT[30.6001(m+1)]+D+UT/24+1720981.5其中:如果M≤2,则y=Y-1,m=M+12如果M>2,则y=Y,m=MJD为儒略⽇,Y为年,M为⽉,D为⽇,UT为世界时。
INT[ ]表⽰取实数的整数部分。
(2)由儒略⽇转换到通⽤时:a=INT[JD+0.5]b=a+1537c=INT[(b-122.1)/365.25]d=INT[365.25.c]e=INT[(b-d)/30.6001]D=b-d-INT[30.6001e]+FRAC[JD+0.5] (⽇)M=e-1-12•INT[e/14] (⽉)Y=c-4715-INT[(7+M)/10] (年)N=mod{INT[JD+0.5],7}(星期⼏。
N=0,星期⼀;N=1,星期⼆——)2、通⽤时与GPS时的转换;(1)由通⽤时转换到GPS时:计算GPS周:GPS WEEK=INT[(JD-2444244.5)/7]然后计算⼀周内的秒数(2)由GPS时转换到通⽤时:⾸先将GPS时转换到儒略⽇,然后由儒略⽇转换到通⽤时。
世界时、UTC、GPS时、本地时间、闰秒世界时、UTC、GPS时、本地时间、闰秒(一)时间系统世界时是基于地球自转的一种时间计量系统,反映了地球在空间的位置。
原子时是基于原子物理技术的一种更加均匀的时间系统,对于测量时间间隔非常重要。
由于两种时间尺度速率上的差异,一般来说1~2年会差1秒。
协调世界时(UTC , Universal Time Coordinated)是我们日常生活所用的时间,是一种折衷的时间尺度,它用原子时的速率,而在时刻上逼近世界时,所用方法就是“闰秒”,当协调世界时和世界时之差即将超过±0.9秒时,就对协调世界时作一整秒的调整。
UTC在本质上还是一种原子时,因为它的秒长规定和原子时秒长相等,只是在时刻上,通过人工干预(闰秒),尽量靠近世界时。
方法是:必要时对协调世界时作一整秒的调整(增加1秒或去掉1秒),使UTC和世界时的时刻之差保持在±0.9秒以内。
这一技术措施就称为闰秒(或跳秒),增加1秒称为正闰秒(或正跳秒);去掉1秒称为负闰秒(或负跳秒)。
是否闰秒,由国际地球自转服务组织(IERS)决定。
闰秒的首选日期是每年的12月31日和6月30日,或者是3月31日和9月30日。
如果是正闰秒,则在闰秒当天的23时59分59秒后插入1秒,插入后的时序是:…58秒,59秒,60秒,0秒,…,这表示地球自转慢了,这一天不是86400秒,而是86401秒;如果是负闰秒,则把闰秒当天23时59分中的第59秒去掉,去掉后的时序是:…57秒,58秒,0秒,…,这一天是86399秒。
最近的一次闰秒是在2005年底实施的。
2005年7月4日,国际地球自转服务组织(IERS)发布C公报,协调世界时(UTC)将在2005年底实施一个正闰秒,即增加1秒。
届时,所有的时钟将拨慢1秒。
具体实施步骤如下:UTC协调世界时:23时59分59秒(2005年12月31日)23时59分60秒(2005年12月31日)00时00分00秒(2006年1月1日)相应地,北京时间:7时59分59秒(2006年1月1日)7时59分60秒(2006年1月1日)8时00分00秒(2006年1月1日)之前的一次闰秒发生在1999年1月1日。
基于滤波算法的儒略日转GPS时间的精确计算随着科技的不断进步,全球定位系统(GPS)已经成为现代社会不可或缺的一部分,现在已经被广泛应用于航空航天、交通运输、地震预警、农业生产等领域。
而儒略日(JD)作为一种天文学时间计量方式,也在GPS系统中得到了广泛应用。
然而,在将JD转换为GPS时间时,可能会出现一些误差。
因此,为了提高GPS时间的精确度,我们需要基于滤波算法进行计算。
首先,为什么需要将JD转换为GPS时间呢?这是因为,GPS时间在使用上更为便利,容易计算。
同时,GPS时间也更加稳定,因为它考虑了相对论和地球自转等因素,从而更好地保证了计算的准确性。
而JD则需要考虑月球和其他行星对地球的影响等因素,计算较为复杂。
那么,如何进行JD转GPS时间的计算呢?一般而言,我们可以采用滤波算法进行计算,这样可以大大提高计算的精确度。
滤波算法可以分为两类,一类是数字滤波器,一类是卡尔曼滤波器。
其中,数字滤波器是通过对数据进行建模来提高预测精度,而卡尔曼滤波器更加强调预测的精度和稳定性。
在进行JD转GPS时间的计算时,我们可以采用数字滤波器来提高计算精度。
一般而言,数字滤波器可以分为低通滤波器、高通滤波器等类型。
而在JD转GPS 时间的计算中,我们需要采用低通滤波器,以达到平滑数据曲线的效果。
接下来,我们来具体介绍如何进行滤波算法计算。
首先,我们需要借助计算机技术进行程序开发。
在程序中,我们需要将JD数据导入,并进行预处理,包括数据清洗、去噪等步骤。
然后,我们需要采用数字滤波器来进行数据处理。
在选择数字滤波器时,我们需要根据具体情况来确定选择哪种滤波器。
对于JD转GPS时间的计算,我们需要选择低通滤波器,并根据实际数据特点来确定滤波器的截止频率。
最后,我们需要对滤波后的数据进行后续处理,并最终将JD转换为GPS时间。
在进行后续处理时,我们需要考虑到数字滤波器的特点和限制,以及数据处理的误差。
总之,基于滤波算法的JD转GPS时间的计算,可以大大提高计算的精度和准确性。
8 时间转换系统程序设计8.1 概述卫星导航定位系统是一个基于时间定位系统的测量,高精度、全天候、全天时、覆盖全球、大范围、低成本、实时连续的独特优势,已经广泛地应用在各种领域,市民消费市场,从单一的测量技术应用已逐渐渗透到其他许多行业。
授时是导航系统的一个重要功能,多模导航作为卫星导航系统的一个重要发展方向,它要求实现系统时间与UTC一致。
在不同的导航系统下中,通过一定的方法实现将它们转换为同一系统时间,采用统一的时间参考,就能大大的方便后期处理。
在当今四大定位导航系统中,他们各自使用自己的时间标准,这使得我们在进行多样数据处理与融合时不太方便,这就需要我们将四个系统中各自的时间系统进行有效的转换。
所时间系统的的转换是空间大地测量里面绕不开的一个问题,在数据处理过程中,面对日益发展的空间大地测量学,如何更准确的定义时间系统以及完成它们之间的转换是一个非常有意义的问题。
本章笔者深入学习和研究了不同时间系统之间的关系以及转换方法和模型。
编写设计了在GPS定位导航系统中五种主要的的时间表示的相互转换。
使用MATLAB语言及计编写并GPS五大时间系统和GNSS四大时间系统转换代码,为快速、准确地进行导航时间系统的转换提供了必要的计算工具。
8.2 GPS时间系统转换基本原理时间系统在卫星定位系统中具有很重要的地位,精确的卫星轨道计算,星导航系统的定位精度和定时精度都要依靠精确的时间系统。
当今四大导航系统采用不同的时间系统,它们分别使用GPS时间系统、GLONASS时间系统、Galileo时间系统、COMPASS时间系统。
GPS是美国导航卫星NAVSTAR/GPS系统的总称,又称全球卫星导航定位系统,它的应用最广泛,技术最成熟,所以在进行空间大地测量时通常以GPS时间系统为基准,其主要表示方法有GPS时、公历日(通用时)、儒略日、简化儒略日、年积日。
其中GPS时是以1980年1月6日UTC零时为起点,采用GPS系统内部计时法,用周数和周内秒数来表示。
第一章测试1.传统大地测量方法可以建立地心坐标系A:错B:对答案:A2.传统大地测量无法建立全球统一的坐标框架A:错B:对答案:B3.传统大地测量方法可以同时测定点的三维坐标A:错B:对答案:A4.采用日夜对称观测的方法可以消除旁遮光的影响A:错B:对答案:A5.下面反映地球自转轴在本体内的运动状况的是A:岁差B:极移值C:章动D:格林尼治真恒星时角答案:B6.下面属于空间大地测量范畴的是A:卫星测高B:遥感成像C:VLBID:GNSS答案:ACD7.卫星测高不属于空间大地测量范畴A:对B:错答案:B8.利用空间大地测量技术不能确定精确的大地水准面差距A:对B:错答案:B9.空间大地测量技术能够确定地心坐标A:对答案:A10.利用下面卫星数据解算重力场模型解算精度最低的是A:GRACEB:测高卫星C:CHAMPD:GOCE答案:B第二章测试1.地球自转是建立世界时的时间基准A:对B:错答案:A2.在常用的时间系统中,原子时最精确A:对B:错答案:A3.在常用的时间系统中,最精确的时间系统为A:太阳时B:历书时C:原子时D:世界时答案:C4.频率准确度反映时钟的系统性误差A:错B:对答案:B5.频率稳定度反映了钟的系统误差A:对B:错答案:B6.下列属于太阳时的时间系统包括A:真太阳时B:世界时C:民用时D:平太阳时答案:ABCD7.协调世界时与世界时之间时刻差需要保持在0.9s以内,否则将采取闰秒进行调整A:错答案:B8.GLONASS时属于原子时,不需要闰秒A:对B:错答案:B9.下面不需要闰秒的时间系统为A:TALB:GLONASSC:UTCD:GPS时答案:AD10.各国使用的历法主要包括A:阳历B:阴阳历C:儒略日D:阴历答案:ABD第三章测试1.赤道岁差可以使春分点的位置西移A:对B:错答案:A2.固定平纬由于采用了周期为6天的数据来计算点的纬度,因此要比历元平纬稳定A:错B:对答案:B3.固定平极由于采用了固定平纬来计算极移位置,因此要比历元平极稳定A:错B:对答案:B4.瞬时天球赤道坐标系的三个坐标轴都是固定的A:错B:对答案:B5.协议天球坐标系现有两个,分别是J1950.0和J2000.0A:对B:错答案:A6.J2000.0为现在用的空固系,将来也有可能被淘汰A:错B:对答案:B7.在进行卫星轨道积分时所采用的坐标系统为A:参心坐标系B:地心天球坐标系C:国际地球坐标系D:站心天球坐标系答案:B8.CGCS2000是一个基于GPS定位技术建立起来的全球性的地心坐标系A:对B:错答案:B9.下列属于地心坐标系的是A:WGS84B:BJ54C:CGCS2000D:ICRS答案:ACD10.从观测瞬间的真地球坐标系转换到观测瞬间的真天球坐标系,需要进行的转换是A:章动矩阵B:极移矩阵C:旋转GST角D:岁差矩阵答案:C第四章测试1.射电望远镜进行天体测量时的角分辨率和射电望远镜的口径成正比A:对B:错答案:B2.射电望远镜进行天体测量时的角分辨率和无线电信号的波长成正比A:错B:对答案:B3.下面需要将射电望远镜用电缆连接起来的是A:甚长基线干涉测量B:空间甚长基线干涉测量C:e-VLBID:联线干涉测量答案:D4.甚长基线干涉测量不需要电缆将两望远镜连接起来A:错B:对答案:B5.VLBI观测所需的时间和频率信号由各自独立的氢原子钟提供A:对B:错答案:A6.延迟量和延迟率的观测精度与系统的信噪比成正比A:错B:对答案:B7.目前世界上最大的单口径射电望远镜在中国贵州A:错B:对答案:B8.馈源质量的好坏影响天线的噪声A:错B:对答案:B9.VLBI系统的接收机的混频器的主要作用是将射频信号转换为A:低频信号B:高频信号C:中频信号D:基频信号答案:C10.VLBI不能用来进行人造飞行器定轨A:对B:错答案:B第五章测试1.目前部分SLR跟踪站可以在白天工作A:错B:对答案:B2.专门用于地球动力学应用和大地测量的专用卫星包括A:Lageos-1C:Etalon-1D:Lageos-2答案:ABCD3.我国的SLR数据处理中心在A:上海B:北京C:长春D:武汉答案:A4.SLR跟踪站在全球的分布相对于GPS较均匀A:对B:错答案:B5.在IERS官网不能查到SLR跟踪站的坐标A:错B:对答案:A6.在利用SLR进行卫星定轨时,太阳辐射压也是一重要摄动因素,辐射压的大小和卫星的面质比成正比A:对B:错答案:A7.在利用SLR进行卫星定轨时,大气阻力的大小和卫星的面质比成正比A:错B:对答案:B8.人卫激光测距不能用来测定地球质心的位置A:错B:对答案:A9.用于测月的激光测距仪的指向精度要比用于测卫星的激光测距仪的指向精度要低A:错B:对答案:A10.下面月球表面放置的SLR激光反射器不能工作的是A:Apollo 14B:Lunakhod 1C:Lunakhod 2答案:B第六章测试1.在卫星轨道误差中,需要考虑的误差源主要包括A:跟踪站坐标误差B:大气传播延迟C:海洋潮汐D:重力场模型E:固体潮汐F:太阳光压答案:ABCDEF2.在进行测高数据误差改正时,卫星质心改正不用考虑A:错B:对答案:A3.在进行海面高的框架转换时,需要有四个参数A:对B:错答案:A4.在进行海面高的框架转换时,三个平移参数和一个偏差因子可以通过最小二乘的方法求得A:对B:错答案:A5.卫星从南半球向北半球运行在地面的投影轨迹称为降弧A:对B:错答案:B6.测高卫星每一周期相对应的弧的地面轨迹严格吻合A:对B:错答案:B7.利用测高数据可以计算垂线偏差A:错B:对答案:B8.利用测高数据不能反演海洋重力异常A:对B:错答案:A9.测高数据不能用来建立海洋大地水准面的数学模型A:对B:错答案:B10.一般把其他测高卫星的海面高都转换到下面哪颗卫星的框架下来A:Jason-3B:Jason-1C:HY-2AD:T/P答案:D第七章测试1.下面属于卫星重力探测任务的是A:GRACE A 和 GRACE BB:CHAMPC:GOCED:GRACE Follow-on答案:ABCD2.利用动力法测定地面点的重力属于重力力学反演问题A:错B:对答案:B3.利用卫星技术确定地球重力场属于重力力学正演问题A:错B:对答案:A4.解算的重力场模型的最高阶次与卫星的轨道高度没有关系A:错B:对答案:A5.卫星能量守恒法确定地球重力场包括A:利用动力学法B:重力梯度测量C:基于双星的能量守恒法D:基于单星的能量守恒法答案:CD6.对于GRACE低-低卫星跟踪卫星任务,两颗卫星间的瞬时位差是恢复地球重力场的重要观测数据A:错B:对答案:B7.GOCE卫星不是采用重力梯度测量方式来确定地球重力场A:对B:错答案:B8.重力梯度测量不能利用差分加速度计测出重力位的二阶导数A:对B:错答案:B9.短波分量是重力场谱结构的主分量,精确确定重力场模型中的短波分量,就是为模型提供牢固和精密的框架A:错B:对答案:A10.GRACE双星计划能够反演重力场,但是由于其数据量稀少,因此不能提供短期至一天的时变重力场信息A:错B:对答案:A第八章测试1.下面不属于多普勒方式进行定位或定轨的系统为A:GPSB:DORIS系统C:子午卫星D:CICADA答案:A2.当信号源与信号接收器之间作背向运动时,接收的信号频率减小A:对B:错答案:A3.当信号源与信号接收器之间作相向运动时,接收的信号波长压缩A:对B:错答案:A4.多普勒测量又称距离差测量A:对B:错答案:A5.利用多普勒计数不能确定两时刻的接收机与信标机之间的距离差A:错B:对答案:A6.DORIS系统的信标机在地面上,发射的信号由安装在卫星上的接收机接收。
GPS坐标和国家大地坐标之间的转换一、前言WGS-84坐标系是目前GPS所采用的坐标系统,GPS所发布的星历参数就是基于此坐标系统的。
WGS-84坐标系统的全称是World Geodical System-84(世界大地坐标系-84),它是一个地心地固坐标系统。
WGS-84坐标系统由美国国防部制图局建立,于1987年取代了当时GPS所采用的坐标系统-WGS-72坐标系统而成为GPS的所使用的坐标系统。
WGS-84坐标系的坐标原点位于地球的质心,轴指向BIH1984.0定义的协议地球极方向,轴指向BIH1984.0的启始子午面和赤道的交点。
采用椭球参数为:a=6 378 137m,f= 1/298.257 223 563。
北京54 坐标系、西安80 坐标系—属于参心坐标系, 北京54 坐标系采用克拉索夫斯基椭球参数,长轴a= 6 3 78 2 4 5 米, 扁率f=l : 2 98.3 ;西安80 大地系坐标系椭球参数采用国际大=地测量和地球物理联合19 7 5 后推荐的地球椭球参数, 长轴a= 6 3 7 8 140 米, 扁率f1 : 298.257,大地原点在我西安市径阳县永乐镇。
西安80 坐标系的建立是在54 年北京坐标系的基础上完成的。
在实际的工作中,对于GPS的测量数据。
我们需要将其转换成所需要的54或80坐标系,才能够使用。
或是将其转换成相应的地方坐标系。
在转换的过程中需要进行一系列的变换。
本文将对其过程做详细的说明。
二、转换过程(1)数据测量:在实际操作中,首先进行的是数据的观测。
根据实际工作需要,采用相应的观测方法进行观测,得到合格的测量成果。
本文主要是针对GPS控制网的转换来说明的。
(2)平差:在GPS控制网的测量工程中,在进行完基线测量(地面坐标和高程)后,需要对测量结果进行平差,得到相应的平差结果。
下面对相应的条件平差①做具体说明:AV-W=0 [1]L#=L+V [2]基础方程和它的解:设有r个平差线性条件方程:错误!未找到引用源。
进行空间大地测量所需时间系统的相互转换1.时间标示法从古至今,世界各国曾出现过多种历法,如罗马历、儒略日、格里高利以及我国的农历等,目前世界上广泛采用的历法是格里高利历。
1.1.格里高利时(通用时)格里高利历也称公历,现被世界各国广泛采用。
格里高利历是一个由146097天所组成的400年周期为基础,1年的平均长度为365.2425天。
根据格里高利历1年被划分为12个月。
其标示时间时采用年、月、日、时、分、秒的方法。
这种计时反映季节变化,与日常生活密切相关,但非连续,不利于数学表达和科学计算1.2.儒略日儒略日是一种不涉及年、月等概念的长期连续的记日法,在天文学、空间大地测量和卫星导航定位中经常使用。
这种方法是由Scaliger于1583年提出的,为纪念他的父亲儒略而命名为儒略日。
儒略日的起点订在公元前4713年(天文学上记为-4712 年)1月1日格林威治时间平午(世界时12:00),即JD 0 指定为4713 B.C. 1月1日12:00 UT到4713 B.C. 1月2日12:00 UT的24小时。
每一天赋予了一个唯一的数字。
由于儒略日数字位数太多,国际天文学联合会于1973年采用简化儒略日(MJD),其定义为MJD = JD - 2400000.5。
MJD相应的起点是1858年11月17日世界时0时。
例如1979年10月1日零时儒略日数为2,444,147.5。
1.3.GPS时GPS系统内部所采用的时间系统是GPS时间,GPS时以1980年1月6日子夜为起点,用周数(一个星期七天)和周内的秒数来表示1.4.年积日所谓年积日就是指的是从每年的1月1日起开始累计的天数,计数从1开始(即每年1月1日的年积日为1),如2004年5月1日的年积日为122。
用他可以方便的求出一年内两个时刻T1和T2间的时间间隔。
2.各个时间系统的相互转换各个时间系统都有严格的转换公式,其转换的主要思想是把通用时、GPS 时间、和年积日分别转换为儒略日,然后以儒略日为媒介,实现任意两个时间系统的相互转换,如下图所示:转换思想2.1通用时与儒略日间的相互转换2.1.1由通用时转换到儒略日(CommonTimeToJulianDay( pct, pjd))其中如果M ≤2,则y=Y-1,m=M+12如果M>2,则y=Y ,m=MJD 为儒略日,Y 为年,M 为月,D 为日,UT 为世界时。
2.1.2由儒略日转换到通用时(JulianDayToCommonTime( pjd, pct))2.2通用时与GPS 时间间的相互转换[]()INT 365.25INT 30.60011241720981.5JD y m D UT =++⎡⎤⎣⎦+++[]()[]()[][]()[]()()()[]{}()INT 0.51537INT 122.1INT 365.25.c INT 30.6001INT 30.6001FRAC 0.5112INT 144715INT 710mod INT 0.5,70,1,...a JD b a c b d e b d D b d e JD M e e Y c M N JD N N =+=+=-⎡⎤⎣⎦==-⎡⎤⎣⎦=--++=--⋅=--+⎡⎤⎣⎦=+==日月年星期几。
星期一;星期二;2.2.1由通用时转换到GPS 时间(CommonTimeToGPSTime( pct, pgt)) 主要分两步进行:第一步:计算GPS 周第二步:计算一周内的秒数2.2.2由GPS 时间转换到通用时(GPSTimeToCommonTime( pgt, pct)) 第一步:由GPS 时间转换到儒略日第二步:由儒略日转换到通用时2.3儒略日与年积日之间的相互转换2.3.1由儒略日转换到年积日(JulianDayToDOY (pjd, pdoy))主要分三步进行:第一步:计算出通用时第二步:计算出当年1月1日的儒略日第三步:两个儒略日求差加1,得出年积日2.3.2年积日转换到儒略日(DOYToJulianDay ( pdoy, pjd))主要分一下两步进行:第一步:计算出当年1月1日的儒略日JD1第二步:年积日加JD1减1得儒略日2.4GPS 时与年积日间的相互转换参照儒略日与年积日之间转换方法进行就可以得到结果。
GPS 时转换到年积日(GPSTimeToDOY ( pgt, pdoy))年积日转换到GPS 时(DOYToGPSTime (pdoy, pgt))3.算例及结果通过在VC++6.0环境下编写了各个坐标系统的相互转换,并得到了转换的结果,在试验中使用的已知数据是即使数据,取的时间是当时时间2011年1月7日19时38分45.26秒,用这个已知数据代入函数中,分别求得各个时间系统的GPS 时、儒略时、年积日时,并通过各个时间系统的各自相互转换,最后输出的结果如下图所示()INT 2444244.5GPS WEEK JD =-⎡⎤⎣⎦通过上图我们可以看出,得到的结果还是非常满意的,程序基本完成了各个时间系统的相互转换,从各个时间相互转换后得到的时间结果,并还原成转换前的数据,得到的结果都是完全符合,由此可见我们的计算结果是正确的,4.心得体会这次编程试验,虽说这次试验比较简单,但还是花了较长的时间,修修改改的,以前看到过类似程序,觉得自己应该没啥问题,应该很简单,自己能轻易拿下,可真做起来并不是这么一回事,总是出现一些小bug,不知道问题出在那里,明明感觉公式输入对的,语法也没啥问题,偏偏结果不对,与期望的值差别很大,最后经过调试总算解决了这些问题,比如有次明明记得公式输入是正确的,最后发现还是不小心输错了,结果导致错误。
经过这次编程,这次试验,使自己的编程水平有了较大的提高,以前很多的时候都是只看程序,感觉很简单,并不自己动手,其实其中很多问题,只有自己亲自经历才知道一些简单的东西也会出问题,卡住思维,最后经过努力解决了问题,心里还是蛮开心的,有一定的成就感。
经过这次试验,学到了很多东西,有比较深的感触,对VC++不像以前那么排斥了,不像以前总感觉有点儿惧怕它,现在总算不抵触他了,希望在以后的学习中能够喜欢上它。
5.附录(程序中的源代码)#include<iostream>using namespace std;typedef struct tagCOMMONTIME{int year;int month;int day;int hour;int minute;double second;}COMMONTIME;//通用时typedef COMMONTIME *PCOMMONTIME;typedef struct tagTOD{long sn; //秒数的整数部分double tos;//秒数的小数部分}TOD;typedef TOD *PTOD;typedef struct{long day; //整数天数TOD tod; //一天内的秒数}JULIANDAY;//儒略日typedef JULIANDAY *PJULIANDAY;typedef struct tagMJULIANDAY{long day;TOD tod;}MJULIANDAY;//新儒略日typedef MJULIANDAY *PMJIANDAY;typedef struct tagTOW{long sn;//秒整数部分double tos;//秒小数部分}TOW;typedef TOW *PTOW;typedef struct tagGPSTIME{int wn; //周数TOW tow;//一周内的秒数}GPSTIME;//GPS时typedef GPSTIME *PGPSTIME;typedef struct tagDOY{unsigned short year;unsigned short day;TOD tod;}DOY;//年积日typedef DOY *PDOY;double FRAC(double morigin){return morigin-long(morigin);// 取小数部分}void CommonTimeToJulianDay(PCOMMONTIME pct,PJULIANDAY pjd) //通用时到儒略日的转换{if(pct->year<1900){if(pct->year<80)pct->year+=2000;else pct->year+=1900;}double ut=pct->hour + pct->minute/60.0 + pct->second/3600.0;if(pct->month<=2){pct->year-=1;pct->month+=12;}pjd->day=int(365.25*pct->year)+int(30.6001*(pct->month+1))+pct->day+in t(ut/24+1720981.5);pjd->tod.sn=((pct->hour+12)%24)*3600+pct->minute*60+(int)pct->second;//秒的整数部分pjd->tod.tos=pct->second-(int)pct->second;//秒的小数部分}void JulianDayToCommonTime(PJULIANDAY pjd,PCOMMONTIME pct)//儒略日到通用时的转换{double x=pjd->day+(pjd->tod.sn+pjd->tod.tos)/(60.0*60.0*24);int a=int(x+0.5);int b=a+1537;int c=int((b-122.1)/365.25);int d=int(365.25*c);int e=int((b-d)/30.6001);pct->day=b-d-int(30.6001*e);pct->month=e-1-12*int(e/14);pct->year=c-4715-int((7+pct->month)/10);pct->hour=(pjd->tod.sn/3600+12)%24;pct->minute=(pjd->tod.sn%3600)/60;pct->second=pjd->tod.sn%60+pjd->tod.tos;int N=a%7;}void JulianDayToGPSTime(PJULIANDAY pjd,PGPSTIME pgt)//儒略日到GPS 时的转换{double x=pjd->day+(pjd->tod.sn+pjd->tod.tos)/(60.0*60.0*24);pgt->wn=int((x-2444244.5)/7);pgt->tow.sn=int(((pjd->day-2444244)%7+(pjd->tod.sn/(60.0*60.0*24)-0.5)) *86400);pgt->tow.tos=pjd->tod.tos;}void GPSTimeToJulianDay(PGPSTIME pgt,PJULIANDAY pjd)//GPS时到儒略日的转换{pjd->day=int(pgt->wn*7+double(pgt->tow.sn)/86400.0+2444244.5);pjd->tod.sn=(pgt->tow.sn+43200)%86400;pjd->tod.tos=pgt->tow.tos;}void CommonTimeToGPSTime(PCOMMONTIME pct,PGPSTIME pgt)//通用时到GPS时的转换{PJULIANDAY pjd=new JULIANDAY;CommonTimeToJulianDay(pct,pjd);JulianDayToGPSTime(pjd,pgt);}void GPSTimeToCommonTime(PGPSTIME pgt,PCOMMONTIME pct)//GPS 时到通用时的转换{PJULIANDAY pjd=new JULIANDAY;GPSTimeToJulianDay(pgt,pjd);JulianDayToCommonTime(pjd,pct);}void CommonTimeToDOY (PCOMMONTIME pct, PDOY pdoy) {PCOMMONTIME pcto=new COMMONTIME;pcto->year=pct->year;pcto->month=1;pcto->day=1;pcto->hour=0;pcto->minute=0;pcto->second=0;PJULIANDAY pjdo=new JULIANDAY;double JD,JDO;CommonTimeToJulianDay(pcto,pjdo);JDO=pjdo->day+(pjdo->tod.sn+pjdo->tod.tos)/86400;PJULIANDAY pjd=new JULIANDAY;CommonTimeToJulianDay(pct,pjd);JD=pjd->day+(pjd->tod.sn+pjd->tod.tos)/86400;pdoy->day=short(JD-JDO+1);pdoy->year=pct->year;pdoy->tod.sn=long(pct->hour*3600+pct->minute*60+pct->second);pdoy->tod.tos=pct->second-int(pct->second); /*pct->hour*3600 +pct->minute*60+pct->second-pdoy->tod.sn;*/}void DOYToCommonTime (PDOY pdoy, PCOMMONTIME pct){PCOMMONTIME pcto=new COMMONTIME;pcto->year=pdoy->year;pcto->month=1;pcto->day=1;pcto->hour=0;pcto->minute=0;pcto->second=0;PJULIANDAY pjdo=new JULIANDAY;double JD,JDO;CommonTimeToJulianDay(pcto,pjdo);JDO=pjdo->day+(pjdo->tod.sn+pjdo->tod.tos)/86400;JD=JDO+pdoy->day+(pdoy->tod.sn+pdoy->tod.tos)/86400-1;long a,b,c,d,e;a=(long)(JD+0.5);b=a+1537;c=(long)((b-122.1)/365.25);d=(long)(365.25*c);e=(long)((b-d)/30.6001);pct->day=short(b-d-(long)(30.6001*e)+FRAC(JD+0.5));pct->month=short(e-1-12*(long)(e/14));pct->year=short(c-4715-(long)((7+pct->month)/10));pct->hour=short((pdoy->tod.sn+pdoy->tod.tos)/3600);pct->minute=short((pdoy->tod.sn+pdoy->tod.tos-pct->hour*3600)/60);pct->second=pdoy->tod.sn+pdoy->tod.tos-pct->hour*3600-pct->minute*60;}void GPSTimeToDOY (PGPSTIME pgt, PDOY pdoy) {PJULIANDAY pjd=new JULIANDAY;GPSTimeToJulianDay (pgt, pjd);PCOMMONTIME pct=new COMMONTIME;JulianDayToCommonTime (pjd,pct);CommonTimeToDOY (pct,pdoy);}void DOYToGPSTime (PDOY pdoy, PGPSTIME pgt) {PCOMMONTIME pct=new COMMONTIME;DOYToCommonTime (pdoy,pct);CommonTimeToGPSTime (pct, pgt);}void JulianDayToDOY (PJULIANDAY pjd, PDOY pdoy) {PCOMMONTIME pct=new COMMONTIME;JulianDayToCommonTime (pjd, pct);CommonTimeToDOY (pct,pdoy);}void DOYToJulianDay (PDOY pdoy, PJULIANDAY pjd) {PCOMMONTIME pct=new COMMONTIME;DOYToCommonTime (pdoy,pct);CommonTimeToJulianDay(pct,pjd);}void main(){PCOMMONTIME pct=new COMMONTIME;PJULIANDAY pjd=new JULIANDAY;PDOY pdoy=new DOY;PGPSTIME pgt= new GPSTIME;pct->year=2011;pct->month=1;pct->day=6;pct->hour=19;pct->minute=38;pct->second=45.26;cout<<"转换之前的通用时(当地时间):";cout<<pct->year<<" "<<pct->month<<" "<<pct->day<<" "<<pct->hour<<":"<<pct->minute<<":"<<pct->second<<endl;cout<<endl;CommonTimeToJulianDay( pct, pjd);//通用时->儒略日的转换cout<<"通用时->儒略日的转换:";cout<<pjd->day<<" "<<pjd->tod.sn<<" "<<pjd->tod.tos<<endl;cout<<endl;JulianDayToCommonTime( pjd, pct);//儒略日->通用时的转换cout<<"儒略日->通用时的转换:";cout<<pct->year<<" "<<pct->month<<" "<<pct->day<<" "<<pct->hour<<":"<<pct->minute<<":"<<pct->second<<endl;cout<<endl;JulianDayToGPSTime( pjd, pgt);//儒略日->GPS时的转换cout<<"儒略日->GPS时的转换:";cout<<pgt->wn<<" "<<pgt->tow.sn<<" "<<pgt->tow.tos<<endl;cout<<endl;GPSTimeToJulianDay( pgt, pjd);//GPS时->儒略日的转换cout<<"GPS时->儒略日的转换:";cout<<pjd->day<<" "<<pjd->tod.sn<<" "<<pjd->tod.tos<<endl;cout<<endl;CommonTimeToGPSTime( pct, pgt);//通用时->GPS时的转换cout<<"通用时->GPS时的转换:";cout<<pgt->wn<<" "<<pgt->tow.sn<<" "<<pgt->tow.tos<<endl;cout<<endl;GPSTimeToCommonTime( pgt, pct);//GPS时->通用时的转换cout<<"GPS时->通用时的转换:";cout<<pct->year<<" "<<pct->month<<" "<<pct->day<<" "<<pct->hour<<":"<<pct->minute<<":"<<pct->second<<endl;cout<<endl;CommonTimeToDOY ( pct, pdoy);//通用时->年积日cout<<"通用时->年积日:";cout<<pdoy->year<<" "<<pdoy->day<<" "<<pdoy->tod.sn<<" "<<pdoy->tod.tos<<endl;cout<<endl;DOYToCommonTime (pdoy, pct);//年积日->通用时cout<<"年积日->通用时:";cout<<pct->year<<" "<<pct->month<<" "<<pct->day<<" "<<pct->hour<<":"<<pct->minute<<":"<<pct->second<<endl;cout<<endl;GPSTimeToDOY ( pgt, pdoy);//GPS时->年积日cout<<"GPS时->年积日:";cout<<pdoy->year<<" "<<pdoy->day<<" "<<pdoy->tod.sn<<" "<<pdoy->tod.tos<<endl;cout<<endl;DOYToGPSTime (pdoy, pgt);//年积日->GPS时cout<<"年积日->GPS时:";cout<<pgt->wn<<" "<<pgt->tow.sn<<" "<<pgt->tow.tos<<endl;cout<<endl;JulianDayToDOY (pjd, pdoy);//儒略日->年积日cout<<"儒略日->年积日:";cout<<pdoy->year<<" "<<pdoy->day<<" "<<pdoy->tod.sn<<" "<<pdoy->tod.tos<<endl;cout<<endl;DOYToJulianDay ( pdoy, pjd);//年积日->儒略日cout<<"年积日->儒略日:";cout<<pjd->day<<" "<<pjd->tod.sn<<" "<<pjd->tod.tos<<endl;cout<<endl;cout<<"经过各种转换后还原得到的通用时:";cout<<pct->year<<" "<<pct->month<<" "<<pct->day<<" "<<pct->hour<<":"<<pct->minute<<":"<<pct->second<<endl;cout<<endl;}。