本发明涉及文件压缩,尤其涉及一种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观测数据文件的压缩方法,其特征在于,