GNSS观测数据文件的压缩方法

文档序号:35246241发布日期:2023-08-25 14:28阅读:50来源:国知局
GNSS观测数据文件的压缩方法

本发明涉及文件压缩,尤其涉及一种gnss观测数据文件的压缩方法。


背景技术:

1、随着全球卫星导航定位系统gnss的快速发展,gnss观测数据大量增长,主要原因如下:第一由于卫星导航系统从单一到多星兼容的时代;第二卫星的数量越来越多,天空中运行的导航卫星早就超过一百多颗;第三应用需求增加,大众生活也离不开卫星导航,比如在消费娱乐、汽车导航和信息位置服务等方面;第四卫星信号通道和频率的增加,使得观测值种类越来越多,并且现在已经推出rinex4.0格式的gnss观测值文件;第五cors站点的快速增加,为了满足用户和科研的需要,导致观测数据量的迅速上升;第六地面各个参考站全天时、全天候的接收大量观测数据。因此gnss观测数据呈现井喷式增长,导致了数据冗余度很大增加,消耗了网络传输和存储资源。


技术实现思路

1、本发明的目的在于提供一种gnss观测数据文件的压缩方法,旨在解决gnss观测数据数据量大,消耗了网络传输和存储资源的问题。

2、为实现上述目的,本发明提供了一种gnss观测数据文件的压缩方法,包括以下步骤:

3、s1对gnss观测文件进行读取,得到历元数据;

4、s2读取所述历元数据中的每个历元的观测数据和钟差,并对所述观测数据和所述钟差进行作差运算,对相邻历元中同一卫星相应位置数据做差,得到缓冲数据并输出,完成数据的第一次压缩;

5、s3初始化字典,设置前缀为空,读取所述缓冲数据的第一个字符赋值给所述前缀,得到前缀p;

6、s4读取所述缓冲数据的下一个字符c,令p1=p+c,判断p1是否在所述字典中,若在,则令p=p1,若否,则输出p的字典索引并输出码字,并将p1添加到所述字典里,再将p赋值为c,使得p=c;

7、s5判断所述缓冲数据是否读完,若否,则重复步骤s4,若是,则输出当前前缀的字典索引,完成数据的二次压缩。

8、其中,所述对gnss观测文件进行读取,得到历元数据,包括:

9、s11对所述gnss观测文件的文件头不做任何处理,只在所述文件头前输出版本号和处理日期,得到读取数据;

10、s12从所述读取数据中读取历元数据。

11、其中,所述对所述观测数据进行作差运算,对相邻历元中同一卫星相应位置数据做差,得到缓冲数据,包括:

12、将所述观测数据和所述钟差分别乘以103和1012化为整数,第一个历元观测值全部保留,第二个历元保留一阶做差结果,第三个历元保留二阶做差的结果,从第三个历元开始后面的历元保留三阶做差的结果,对连续历元相同卫星的对应位置的数据进行三次做差运算,如果所述卫星的数据在下个历元为空,将初始化所有变量;或者当周跳数在1000周以上,将初始化所有变量,得到缓冲数据。

13、其中,所述初始化字典,包括:

14、将一个含有256个字符的字典作为初始字典,采用固定16位进行二进制编码,所述字典包含65536个码字,其中前256个为ascii字符集,257为清除码,258为结束码。

15、其中,在步骤s4中,当所述字典已满时,会在所述字典中搜索未被使用过的字符串,将所述字符串删除并让当前字符串p1替换,实现动态的字典更新。

16、本发明的一种gnss观测数据文件的压缩方法,通过s1对gnss观测文件进行读取,得到历元数据;s2读取所述历元数据中的每个历元的观测数据和钟差,并对所述观测数据和所述钟差进行作差运算,对相邻历元中同一卫星相应位置数据做差,得到缓冲数据并输出,完成数据的第一次压缩;s3初始化字典,设置前缀为空,读取所述缓冲数据的第一个字符赋值给所述前缀,得到前缀p;s4读取所述缓冲数据的下一个字符c,令p1=p+c,判断p1是否在所述字典中,若在,则令p=p1,若否,则输出p的字典索引并输出码字,并将p1添加到所述字典里,再将p赋值为c,使得p=c;s5判断所述缓冲数据是否读完,若否,则重复步骤s4,若是,则输出当前前缀的字典索引,完成数据的二次压缩。本发明具有较高的压缩比,并根据做差运算和lzw算法的特点,进一步减少数据的冗余度,提高压缩率,解决了gnss观测数据数据量大,消耗了网络传输和存储资源的问题。



技术特征:

1.一种gnss观测数据文件的压缩方法,其特征在于,包括以下步骤:

2.如权利要求1所述的gnss观测数据文件的压缩方法,其特征在于,

3.如权利要求1所述的gnss观测数据文件的压缩方法,其特征在于,

4.如权利要求1所述的gnss观测数据文件的压缩方法,其特征在于,

5.如权利要求1所述的gnss观测数据文件的压缩方法,其特征在于,


技术总结
本发明涉及文件压缩技术领域,具体涉及一种GNSS观测数据文件的压缩方法,包括S1对GNSS观测文件进行读取,得到历元数据;S2读取历元数据中的每个历元的观测数据和钟差,并对观测数据和钟差进行作差运算,对相邻历元中同一卫星相应位置数据做差,得到缓冲数据并输出;S3初始化字典,设置前缀为空,读取所述缓冲数据的第一个字符赋值给所述前缀,得到前缀P;S4读取所述缓冲数据的下一个字符C,令P1=P+C,判断P1是否在所述字典中,若在,则令P=P1,若否,则输出P的字典索引并输出码字,并将P1添加到所述字典里,再将P赋值为C,使得P=C;S5判断缓冲数据是否读完,若否,则重复步骤S4,若是,则输出当前前缀的字典索引。

技术研发人员:黄玲,刘旭,束鸿浩,周吕,黄良珂
受保护的技术使用者:桂林理工大学
技术研发日:
技术公布日:2024/1/14
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1