一种高压缩率低失真率的GPS数据压缩解压方法技术

技术编号:13983666 阅读:60 留言:0更新日期:2016-11-12 18:33
本发明专利技术提供一种高压缩率低失真率的GPS数据压缩解压方法,所述解压压缩方法通过对实时采集到的GPS数据进行等时间点排序,组成多个数据包,并对数据包中数据进行转化和存储,实现压缩,再将数据包进行传输,传输后通过计算方向角、坐标、速度和经纬度实现解压,一个数据包内n个时间点的数据压缩前大小为25n个字节,压缩之后的大小为4n+12个字节,压缩率的大小为(4n+12)/25n,假设每20秒形成一个数据包,则压缩率为18.4%,不仅在数据传输过程中至少节省了的80%数据传输流量,而且通过离线平台的处理,能够很好的恢复每个时间点的GPS位置数据,同时达到了节省数据传输成本和效率两方面的目的。

【技术实现步骤摘要】

本专利技术属于GPS数据处理领域,具体涉及一种高压缩率低失真率的GPS数据压缩解压方法。
技术介绍
GPS在各个行业有了广泛应用,在车联网领域里,需要通过车载终端或移动端设备采集车主的实时GPS轨迹数据。这种连续的、实时的数据采集,必然会增加数据从设备向服务器传输数据所耗费的流量费用,因此一种具有高压缩率及低失真率的GPS数据压缩及解压算法可以大大减少数据传输费用,同时能保证每个时点的GPS轨迹数据的真实性,对于GPS在实际中的应用有重要作用。
技术实现思路
为了解决上述问题,本专利技术提供一种高压缩率低失真率的GPS数据压缩解压方法,所述解压压缩方法通过对实时采集到的GPS数据进行等时间点排序,组成多个数据包,并对数据包中数据进行转化和存储,实现压缩,再将数据包进行传输,传输后通过计算方向角、坐标、速度和经纬度实现解压;进一步地,所述压缩解压方法包括:S1:GPS数据采集;S2:GPS数据压缩;S3:GPS数据传输;S4:GPS数据解压,所述S2具体为:对S1中采集的有效GPS位置数据按采集时间进行排序,每n个时间点的数据组成一个数据包,然后对每个数据包进行压缩;所述S4:GPS数据解压包括:S41:计算每个时间点整形格式方向角和速度;S42:计算各点相对笛卡尔坐标;S43:各点笛卡尔坐标进行平滑处理;S44:计算各时点GPS经纬度;进一步地,所述S1:GPS数据采集具体为:通过终端设备或移动端设备实时采集的行程轨迹GPS数据,所述GPS数据包括用户各时点的数据有效性位掩码、GPS时间、GPS经度、GPS纬度、海拔高度、GPS方向角和速度数据;进一步地,各时点所述数据有效性分别用字符格式的“A”、“V”和“N”依次表示“采集并有效”、“采集但无效”和“无效”,位掩码占用储存空间大小为一个字节;GPS时间、GPS经度、GPS纬度、海拔高度、GPS方向角和速度数据均为浮点格式,每个数据占用4个字节;进一步地,所述S2:GPS数据压缩包括:S21:只保留第一个时间点的浮点格式GPS经度、GPS纬度、GPS方向角以及GPS速度原始值,并将第一个时间点的采集时间转化为UTC时间,以长整形格式储存;S22:对数据包内所有时间点的GPS速度向下取整,然后按时间 顺序进行差分运算,用增量表示速度的变化值,记为速度详情,以整形格式储存;S23:对数据包内所有时间点的GPS方向角向下取整,然后按时间顺序进行差分运算,用增量表示方向角的变化值;对无法读取到方向角的时间点,用空值表示;如果数据包内中间数据出现方向角获取失败,重新获取到的第一个方向角由该时点实际方向角向下取整得到;通过上述方式得到的变量记为方向角详情,以整形格式储存;S24:将每个数据包内第一个时间点的UTC时间、GPS经度、GPS纬度、GPS方向角和GPS速度原始值,以及所有时间点的速度详情数据及方向角数据打包为一条数据上传至服务器;在服务器中每个数据包为一条数据记录,每条数据记录包括以下字段:开始采集UTC时间、开始采集GPS纬度、开始采集GPS经度、开始采集GPS速度、各时点速度详情以及各时点方向角详情;进一步地,所述S41具体为:通过数据包第一个时间点的GPS经纬度数据有效性筛选出有效数据再对数据包内每个时间点及其之前时间点的速度详情数据求和,得到每个时间点的GPS速度整型值: 其中,Speed.Detailk为数据包中第k个时间点的速度详情数据,Speedi为数据包中第i个时间点的GPS速度整型值。其中,每个时点的方向角数据按下述规则从方向角详情数据计算得到:1)数据包内第一个时点的方向角一定是数据包第一个方向角详 情数据本身;2)若数据包中间出现方向角获取失败,重新获取到的第一个方向角不使用增量表示,也为方向角详情数据本身;3)若出现方向角详情数据为空而速度不为0的情况,方向角用上一秒的方向角代替;4)其他情况下,方向角为上一时点方向角与本时点方向角详情数据之和;进一步地,所述S42具体为:利用每个时点的速度和方向角数据,以当前时点所在位置为原点,计算下一时点所在位置相对当前时点位置的相对笛卡尔坐标,计算方式如下: x i = Speed i 3.6 × sin ( θ i × π 180 ) ]]> y i = Speed i 3.6 × cos ( θ i × π 180 ) ]]>其中,Speedi为数据包内第i个时间点的速度,θi为数据包内第i个时间点以角度制计的方向角,(xi,yi)为数据包中第i+1个时间点所在位置相对于第i个时间点所在位置的相对笛卡尔坐标;进一步地,所述S43包括以下步骤:1)计算相邻时间两个数据包开始采集位置之间的相对笛卡尔坐标,以第m个数据包开始采集位置(经纬度)为原点,求第m+1个数据包开始采集位置相对于第m个数据包开始采集位置的笛卡尔坐标(Xm,Ym),记为第m个数据包的实际相对笛卡尔坐标;2)对数据包内所有时点的笛卡尔坐标分别求和,得到数据包原 始数据对应笛卡尔坐标。3)用实际相对笛卡尔坐标减去数据包原始数据对应笛卡尔坐标,再乘以数据包时长占相邻数据包之间时间间隔的比例,得到相邻数据包笛卡尔坐标误差,(Δxm,Δym)即: Δx m = n t m + 1 - t m ( X m - Σ i = 1 n x i ) ]]> Δy m = 本文档来自技高网...

【技术保护点】
一种高压缩率低失真率的GPS数据压缩解压方法,其特征在于,所述解压压缩方法通过对实时采集到的GPS数据进行等时间点排序,组成多个数据包,并对数据包中数据进行转化和存储,实现压缩,再将数据包进行传输,传输后通过计算方向角、坐标、速度和经纬度实现解压。

【技术特征摘要】
1.一种高压缩率低失真率的GPS数据压缩解压方法,其特征在于,所述解压压缩方法通过对实时采集到的GPS数据进行等时间点排序,组成多个数据包,并对数据包中数据进行转化和存储,实现压缩,再将数据包进行传输,传输后通过计算方向角、坐标、速度和经纬度实现解压。2.根据权利要求1所述的压缩解压方法,其特征在于,所述压缩解压方法包括:S1:GPS数据采集;S2:GPS数据压缩;S3:GPS数据传输;S4:GPS数据解压,所述S2具体为:对S1中采集的有效GPS位置数据按采集时间进行排序,每n个时间点的数据组成一个数据包,然后对每个数据包进行压缩;所述S4:GPS数据解压包括:S41:计算每个时间点整形格式方向角和速度;S42:计算各点相对笛卡尔坐标;S43:各点笛卡尔坐标进行平滑处理;S44:计算各时点GPS经纬度。3.根据权利要求2所述的压缩解压方法,其特征在于,所述S1:GPS数据采集具体为:通过终端设备或移动端设备实时采集的行程轨迹GPS数据,所述GPS数据包括用户各时点的数据有效性位掩码、GPS时间、GPS经度、GPS纬度、海拔高度、GPS方向角和速度数据。4.根据权利要求3所述的压缩解压方法,其特征在于,各时点所述数据有效性分别用字符格式的“A”、“V”和“N”依次表示“采集并有效”、“采集但无效”和“无效”,位掩码占用储存空间大小为一个字节;GPS时间、GPS经度、GPS纬度、海拔高度、GPS方向角和速度数据均为浮点格式,每个数据占用4个字节。5.根据权利要求4所述的压缩解压方法,其特征在于,所述S2:GPS数据压缩包括:S21:只保留第一个时间点的浮点格式GPS经度、GPS纬度、GPS方向角以及GPS速度原始值,并将第一个时间点的采集时间转化为UTC时间,以长整形格式储存;S22:对数据包内所有时间点的GPS速度向下取整,然后按时间顺序进行差分运算,用增量表示速度的变化值,记为速度详情,以整形格式储存;S23:对数据包内所有时间点的GPS方向角向下取整,然后按时间顺序进行差分运算,用增量表示方向角的变化值;对无法读取到方向角的时间点,用空值表示;如果数据包内中间数据出现方向角获取失败,重新获取到的第一个方向角由该时点实际方向角向下取整得到;将变量记为方向角,以整形格式储存;S24:将每个数据包内第一个时间点的UTC时间、GPS经度、GPS纬度、GPS方向角和GPS速度原始值,以及所有时间点的速度详情数据及方向角数据打包为一条数据上传至服务器;在服务器中每个数据包为一条数据记录,每条数据记录包括以下字段:开始采集UTC时间、开始采集GPS纬度、开始采集GPS经度、开始采集GPS速度、各时点速度详情以及各时点方向角详情。6.根据权利要求5所述的压缩解压方法,其特征在于,所述S41具体为:通过数据包第一个时间点的GPS经纬度数据有效性筛选出有效数据再对数据包内每个时间点及其之前时间点的速度详情数据求和,得到每个时间点的GPS速度整型值:其中,Speed.Detailk为数据包中第k个时间点的速度详情数据,Speedi为数据包中第i个时间点的GPS速度整型值。其中,每个时点的方向角数据按下述规则从方向角详情数据计算得到:1)数据包内第一个时点的方向角一定是数据包第一个方向角详情数据本身;2)若数据包中间出现方向角获取失败,重新获取到的第一个方向角不使用增量表示,也为方向角详情数据本身;3)若出现方向角详情数据为空而速度不为0的情况,方向角用上一秒的方向角代替;4)其他情况下,方向角为上一时点方向角与本时点方向角详情数据之和。7.根据权利要求6所述的压缩解压方法,其特征在于,所述S42具体为:利用每个时点的速度和方向角数据,以当前时点所在位置为原点,计算下一时点所在位置相对当前时点位置的相对笛卡尔坐标,计算方式如下: x i = Speed i 3.6 × sin ( θ i × π 180 ) ]]> y i = Speed i 3.6 × cos ( θ i × π 180 ) ]]>其中,Speedi为数据包内第i个时间点的速度,θi为数据包内第i个时间点以角度制计的方向角,(xi,yi)为数据包中第i+1个时间点所在位置相对于第i个时间点所在位置的相对笛卡尔坐标。8.根据权利要求7所述的压缩解压方法,其特征在于,所述S43包括以下步骤:1)计算相邻时间两个数据包开始采集位置之间的相对笛卡尔坐标,以第m个数据包开始采集位置(经纬度)为原点,求第m+1个数据包开始采集位置相对于第m个数据包开始采集位置的笛卡尔坐标(Xm,Ym),记为第m个数据包的实际相对笛卡尔坐标;2)对数据包内所有时点的笛卡尔坐标分别求和,得到数据包原始数据对应笛卡尔坐标。3)用实际相对笛卡尔坐标减去数据包原始数据对应笛卡尔坐标,再乘以数据包时长占相邻数据包之间时间间隔的比例,得到相邻数据包笛卡尔坐标误差,(Δxm,Δym)即: Δx m = n t m + 1 - t m ( X m - Σ i = 1 n x...

【专利技术属性】
技术研发人员:何秋果耿文童李旭
申请(专利权)人:北京车网互联科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1