CN106101085A - 一种高压缩率低失真率的gps数据压缩解压方法 - Google Patents

一种高压缩率低失真率的gps数据压缩解压方法 Download PDF

Info

Publication number
CN106101085A
CN106101085A CN201610384450.4A CN201610384450A CN106101085A CN 106101085 A CN106101085 A CN 106101085A CN 201610384450 A CN201610384450 A CN 201610384450A CN 106101085 A CN106101085 A CN 106101085A
Authority
CN
China
Prior art keywords
data
gps
packet
time point
deflection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610384450.4A
Other languages
English (en)
Inventor
何秋果
耿文童
李旭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Interconnected Science And Technology Ltd Of Car Net
Original Assignee
Beijing Interconnected Science And Technology Ltd Of Car Net
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Interconnected Science And Technology Ltd Of Car Net filed Critical Beijing Interconnected Science And Technology Ltd Of Car Net
Priority to CN201610384450.4A priority Critical patent/CN106101085A/zh
Publication of CN106101085A publication Critical patent/CN106101085A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • H04L67/5651Reducing the amount or size of exchanged application data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)

Abstract

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

Description

一种高压缩率低失真率的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 = n t m + 1 - t m ( Y m - Σ i = 1 n y i )
其中,(Δxm,Δym)为第m+1个数据包与第m个数据包之间的笛卡尔坐标误差,n为数据包内数据对应时间长度,tm为第m个数据包开始采集时间,tm+1为第m+1个数据包开始采集时间。
4)然后对数据包原始数据对应笛卡尔坐标进行平滑处理,平滑方法为原始笛卡尔坐标加上按速度加权的相邻数据包笛卡尔数据包笛卡尔坐标误差,即:
x ^ i = x i + Δx m + Speed i Σ j = 1 n Speed j
y ^ i = y i + Δy m + Speed i Σ j = 1 n Speed j
其中,n为数据包中包含的数据条数,xi为数据包内第i个时点的x坐标,yi为数据包内第i个时点的y坐标,Speedi为数据包内第i个时点的速度数据,数据包中第i+1个时间点所在位置相对于第i个时间点所在位置的平滑后相对笛卡尔坐标为
进一步地,所述S44具体为:利用各时点的平滑后相对笛卡尔坐标以及数据包开始采集时的GPS经纬度,可以递推得到每个时点的 GPS经纬度。
为车辆在正东方向的移动距离,为负表示向西,是GPS经度变化所对应的球面位置变化的距离;令为车辆在正北方向上的移动距离,为负表示向南,是GPS纬度变化所对应的球面位置变化的距离。数据包内第一个时间点的经纬度为初始GPS经纬度,数据包内第i(i>2)个时间点GPS经纬度的递推方法为:
Lat i = Lat i - 1 + y ^ i - 1 × 180 R L o n × π
Lon i = Lon i - 1 + x ^ i - 1 × 180 R L a t × cos ( Lat i - 1 × π 80 ) × π
其中,Loni,Lati表示第个时点的GPS经纬度,Loni-1,Lati-1表示第i-1个时点的GPS经纬度,为数据包中第i个时间点所在位置相对于第i-1个时间点所在位置的平滑后相对笛卡尔坐标,RLon表示经线圈半径,RLat表示纬线圈半径;
本发明的有益效果如下:
通过该压缩解压方法中的压缩和解压过程,一个数据包内n个时间点的数据压缩前大小为25n个字节,压缩之后的大小为4n+12个字节,压缩率的大小为(4n+12)/25n,假设每20秒形成一个数据包,则压缩率为18.4%,不仅在数据传输过程中至少节省了的80%数据传输流量,而且通过离线平台的处理,能够很好的恢复每个时间点的GPS位置数据,同时达到了节省数据传输成本和效率两方面的目的。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合 实施例,对本发明进行进一步详细描述。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。相反,本发明涵盖任何由权利要求定义的在本发明的精髓和范围上做的替代、修改、等效方法以及方案。进一步,为了使公众对本发明有更好的了解,在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。
下面结合具体实施例对本发明作进一步说明,但不作为对本发明的限定。下面为本发明的举出最佳实施例:
本发明提供一种高压缩率低失真率的GPS数据压缩解压方法,所述压缩解压方法包括:
S1:GPS数据采集;
S2:GPS数据压缩;
S3:GPS数据传输;
S4:GPS数据解压。
所述S1数据采集具体为:通过终端设备或移动端设备实时采集的行程轨迹GPS数据,所述GPS数据包括用户各时点的,数据有效性、GPS时间、GPS经度、GPS纬度、海拔高度、GPS方向角(正北为0,顺时针为正向)和速度数据,各时点数据有效性分别用字符格式的“A”、“V”和“N”表示“采集并有效”、“采集但无效”和“无效”,位掩码占用储存空间大小为一个字节;其他数据均为浮点格式,每个数据占用4个字节。
所述S2具体为:对S1中采集的有效GPS位置数据按采集时间进行排序,每n个时间点的数据组成一个数据包,然后对每个数据包进行压缩,压缩方法包括:
S21:只保留第一个时间点的浮点格式GPS经度、GPS纬度、GPS方向角以及GPS速度原始值,并将第一个时间点的采集时间转化为UTC时间,以长整形格式储存;
S22:对数据包内所有时间点的GPS速度向下取整,然后按时间顺序进行差分运算,用增量表示速度的变化值,记为速度详情,以整形格式储存;
S23:对数据包内所有时间点的GPS方向角向下取整,然后按时间顺序进行差分运算,用增量表示方向角的变化值;对无法读取到方向角的时间点,用空值表示;如果数据包内中间数据出现方向角获取失败,重新获取到的第一个方向角由该时点实际方向角向下取整得到;通过上述方式得到的变量记为方向角详情,以整形格式储存;
S24:将每个数据包内第一个时间点的UTC时间、GPS经度、GPS纬度、GPS方向角和GPS速度原始值,以及所有时间点的速度详情数据及方向角数据打包为一条数据上传至服务器;在服务器中每个数据包为一条数据记录,每条数据记录包括以下字段:开始采集UTC时间、开始采集GPS纬度、开始采集GPS经度、开始采集GPS速度、各时点速度详情以及各时点方向角详情。
S3中所述的传输方式包括4G传输、蓝牙传输、卫星信号传输和WIFI传输等。
所述S4数据解压包括:
S41:计算每个时间点整形格式方向角和速度;
S42:计算各点相对笛卡尔坐标;
S43:各点笛卡尔坐标进行平滑处理;
S44:计算各时点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具体为:计算相邻时间两个数据包开始采集位置之间的相对笛卡尔坐标,以第m个数据包开始采集位置(经纬度)为原点,求第m+1个数据包开始采集位置相对于第m个数据包开始采集位置的笛卡尔坐标(Xm,Ym),记为第m个数据包的实际相对笛卡尔坐标。
对数据包内所有时点的笛卡尔坐标分别求和,得到数据包原始数据对应笛卡尔坐标。
用实际相对笛卡尔坐标减去数据包原始数据对应笛卡尔坐标,再乘以数据包时长占相邻数据包之间时间间隔的比例,得到相邻数据包笛卡尔坐标误差,(Δxm,Δym)即:
Δx m = n t m + 1 - t m ( X m - Σ i = 1 n x i )
Δy m = n t m + 1 - t m ( Y m - Σ i = 1 n y i )
其中,(Δxm,Δym)为第m+1个数据包与第m个数据包之间的笛卡尔坐标误差,n为数据包内数据对应时间长度,tm为第m个数据包开始 采集时间,tm+1为第m+1个数据包开始采集时间。
然后对数据包原始数据对应笛卡尔坐标进行平滑处理,平滑方法为原始笛卡尔坐标加上按速度加权的相邻数据包笛卡尔数据包笛卡尔坐标误差,即:
x ^ i = x i + Δx m × Speed i Σ j = 1 n Speed j
y ^ i = y i + Δy m × Speed i Σ j = 1 n Speed j
其中,n为数据包中包含的数据条数,xi为数据包内第i个时点的x坐标,yi为数据包内第i个时点的y坐标,Speedi为数据包内第i个时点的速度数据,数据包中第i+1个时间点所在位置相对于第i个时间点所在位置的平滑后相对笛卡尔坐标为
所述S44具体为:利用各时点的平滑后相对笛卡尔坐标以及数据包开始采集时的GPS经纬度,可以递推得到每个时点的GPS经纬度。
为车辆在正东方向的移动距离,为负表示向西,是GPS经度变化所对应的球面位置变化的距离;令为车辆在正北方向上的移动距离,为负表示向南,是GPS纬度变化所对应的球面位置变化的距离。数据包内第一个时间点的经纬度为初始GPS经纬度,数据包内第i(i>2)个时间点GPS经纬度的递推方法为:
Lat i = Lat i - 1 + y ^ i - 1 × 180 R L o n × π
Lon i = Lon i - 1 + x ^ i - 1 × 180 R L a t × cos ( Lat i - 1 × π 80 ) × π
其中,Loni,Lati表示第个时点的GPS经纬度,Loni-1,Lati-1表示第i-1 个时点的GPS经纬度,为数据包中第i个时间点所在位置相对于第i-1个时间点所在位置的平滑后相对笛卡尔坐标,RLon表示经线圈半径,RLat表示纬线圈半径。
实施例1:
所述终端设备的GPS数据由内嵌的GPS芯片模块采集,各时点数据有效性分别用字符格式的“A”、“V”和“N”表示“采集并有效”、“采集但无效”以及“无效”,位掩码占用储存空间大小为一个字节;其他数据均为浮点格式,每个数据占用4个字节。
对采集的有效GPS位置数据按采集时间进行排序,每n个时间点的数据组成一个数据包,然后对每个数据包进行压缩,压缩方法如下:
1)只保留第一个时间点的浮点格式GPS经度、GPS纬度、GPS方向角以及GPS速度原始值,并将第一个时间点的采集时间转化为UTC时间,以长整形格式储存;
2)对数据包内所有时间点的GPS速度向下取整,然后按时间顺序进行差分运算,用增量表示速度的变化值,记为速度详情,以整形格式储存;
3)对数据包内所有时间点的GPS方向角向下取整,然后按时间顺序进行差分运算,用增量表示方向角的变化值;对无法读取到方向角的时间点,用空值表示;如果数据包内中间数据出现方向角获取失败,重新获取到的第一个方向角由该时点实际方向角向下取整得到;通过上述方式得到的变量记为方向角详情,以整形格式储存;
4)将每个数据包内第一个时间点的UTC时间、GPS经度、GPS纬度、GPS方向角和GPS速度原始值,以及所有时间点的速度详情数据及方向角数据打包为一条数据上传至服务器;在服务器中每个数据包为一条数据记录,每条数据记录包括以下字段:开始采集UTC时间、开始采集GPS纬度、开始采集GPS经度、开始采集GPS速度、各时点速度详情以及各时点方向角详情。
通过上述压缩算法,一个数据包内n个时间点的数据,压缩前大小为个25n字节,压缩之后的大小为4n+12个字节,压缩率的大小为(4n+12)/25n。假设每20秒形成一个数据包,则压缩率为18.4%。
压缩完成之后对数据包进行传输,所述传输方式包括4G传输、蓝牙传输、卫星信号传输和WIFI传输等。
数据包传输之后进行解压,解压包括以下步骤:
步骤一:计算每个时间点整形格式方向角和速度,通过数据包第一个时间点的GPS经纬度数据有效性筛选出有效数据再对数据包内每个时间点及其之前时间点的速度详情数据求和,得到每个时间点的GPS速度整型值:其中,Speed.Detailk为数据包中第k个时间点的速度详情数据,Speedi为数据包中第i个时间点的GPS速度整型值。
其中,每个时点的方向角数据按下述规则从方向角详情数据计算得到:
1)数据包内第一个时点的方向角一定是数据包第一个方向角详 情数据本身;
2)若数据包中间出现方向角获取失败,重新获取到的第一个方向角不使用增量表示,也为方向角详情数据本身;
3)若出现方向角详情数据为空而速度不为0的情况,方向角用上一秒的方向角代替;
4)其他情况下,方向角为上一时点方向角与本时点方向角详情数据之和;
步骤二:计算各点相对笛卡尔坐标,利用每个时点的速度和方向角数据,以当前时点所在位置为原点,计算下一时点所在位置相对当前时点位置的相对笛卡尔坐标,计算方式如下:
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个时间点所在位置的相对笛卡尔坐标;
步骤三:各点笛卡尔坐标进行平滑处理,计算相邻时间两个数据包开始采集位置之间的相对笛卡尔坐标,以第m个数据包开始采集位置(经纬度)为原点,求第m+1个数据包开始采集位置相对于第m个数据包开始采集位置的笛卡尔坐标(Xm,Ym),记为第m个数据包的实际相对笛卡尔坐标。
对数据包内所有时点的笛卡尔坐标分别求和,得到数据包原始数 据对应笛卡尔坐标。
用实际相对笛卡尔坐标减去数据包原始数据对应笛卡尔坐标,再乘以数据包时长占相邻数据包之间时间间隔的比例,得到相邻数据包笛卡尔坐标误差,(Δxm,Δym)即:
Δx m = n t m + 1 - t m ( X m - Σ i = 1 n x i )
Δy m = n t m + 1 - t m ( Y m - Σ i = 1 n y i )
其中,(Δxm,Δym)为第m+1个数据包与第m个数据包之间的笛卡尔坐标误差,n为数据包内数据对应时间长度,tm为第m个数据包开始采集时间,tm+1为第m+1个数据包开始采集时间。
然后对数据包原始数据对应笛卡尔坐标进行平滑处理,平滑方法为原始笛卡尔坐标加上按速度加权的相邻数据包笛卡尔数据包笛卡尔坐标误差,即:
x ^ i = x i + Δx m × Speed i Σ j = 1 n Speed j
y ^ i = y i + Δy m × Speed i Σ j = 1 n Speed j
其中,n为数据包中包含的数据条数,xi为数据包内第i个时点的x坐标,yi为数据包内第i个时点的y坐标,Speedi为数据包内第i个时点的速度数据,数据包中第i+1个时间点所在位置相对于第i个时间点所在位置的平滑后相对笛卡尔坐标为
步骤四:计算各时点GPS经纬度,利用各时点的平滑后相对笛卡尔坐标以及数据包开始采集时的GPS经纬度,可以递推得到每个时点 的GPS经纬度。
为车辆在正东方向的移动距离,为负表示向西,是GPS经度变化所对应的球面位置变化的距离;令为车辆在正北方向上的移动距离,为负表示向南,是GPS纬度变化所对应的球面位置变化的距离。数据包内第一个时间点的经纬度为初始GPS经纬度,数据包内第i(i>2)个时间点GPS经纬度的递推方法为:
Lat i = Lat i - 1 + y ^ i - 1 × 180 R L o n × π
Lon i = Lon i - 1 + x ^ i - 1 × 180 R L a t × cos ( Lat i - 1 × π 80 ) × π
其中,Loni,Lati表示第个时点的GPS经纬度,Loni-1,Lati-1表示第i-1个时点的GPS经纬度,为数据包中第i个时间点所在位置相对于第i-1个时间点所在位置的平滑后相对笛卡尔坐标,RLon表示经线圈半径,RLat表示纬线圈半径。
实施例2:
所述移动端设备的GPS数据由手机内置传感器采集。各时点数据有效性分别用字符格式的“A”、“V”和“N”表示“采集并有效”、“采集但无效”和“无效”,位掩码占用储存空间大小为一个字节;其他数据均为浮点格式,每个数据占用4个字节。
对采集的有效GPS位置数据按采集时间进行排序,每n个时间点的数据组成一个数据包,然后对每个数据包进行压缩,压缩方法如下:
1)只保留第一个时间点的浮点格式GPS经度、GPS纬度、GPS方 向角以及GPS速度原始值,并将第一个时间点的采集时间转化为UTC时间,以长整形格式储存;
2)对数据包内所有时间点的GPS速度向下取整,然后按时间顺序进行差分运算,用增量表示速度的变化值,记为速度详情,以整形格式储存;
3)对数据包内所有时间点的GPS方向角向下取整,然后按时间顺序进行差分运算,用增量表示方向角的变化值;对无法读取到方向角的时间点,用空值表示;如果数据包内中间数据出现方向角获取失败,重新获取到的第一个方向角由该时点实际方向角向下取整得到;通过上述方式得到的变量记为方向角详情,以整形格式储存;
4)将每个数据包内第一个时间点的UTC时间、GPS经度、GPS纬度、GPS方向角和GPS速度原始值,以及所有时间点的速度详情数据及方向角数据打包为一条数据上传至服务器;在服务器中每个数据包为一条数据记录,每条数据记录包括以下字段:开始采集UTC时间、开始采集GPS纬度、开始采集GPS经度、开始采集GPS速度、各时点速度详情以及各时点方向角详情。
通过上述压缩算法,一个数据包内n个时间点的数据,压缩前大小为个25n字节,压缩之后的大小为4n+12个字节,压缩率的大小为(4n+12)/25n。假设每20秒形成一个数据包,则压缩率为18.4%。
压缩完成之后对数据包进行传输,所述传输方式包括4G传输、蓝牙传输、卫星信号传输和WIFI传输等。
数据包传输之后进行解压,解压包括以下步骤:
步骤一:计算每个时间点整形格式方向角和速度,通过数据包第一个时间点的GPS经纬度数据有效性筛选出有效数据再对数据包内每个时间点及其之前时间点的速度详情数据求和,得到每个时间点的GPS速度整型值:其中,Speed.Detailk为数据包中第k个时间点的速度详情数据,Speedi为数据包中第i个时间点的GPS速度整型值。
其中,每个时点的方向角数据按下述规则从方向角详情数据计算得到:
1)数据包内第一个时点的方向角一定是数据包第一个方向角详情数据本身;
2)若数据包中间出现方向角获取失败,重新获取到的第一个方向角不使用增量表示,也为方向角详情数据本身;
3)若出现方向角详情数据为空而速度不为0的情况,方向角用上一秒的方向角代替;
4)其他情况下,方向角为上一时点方向角与本时点方向角详情数据之和;
步骤二:计算各点相对笛卡尔坐标,利用每个时点的速度和方向角数据,以当前时点所在位置为原点,计算下一时点所在位置相对当前时点位置的相对笛卡尔坐标,计算方式如下:
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个时间点所在位置的相对笛卡尔坐标;
步骤三:各点笛卡尔坐标进行平滑处理,计算相邻时间两个数据包开始采集位置之间的相对笛卡尔坐标,以第m个数据包开始采集位置(经纬度)为原点,求第m+1个数据包开始采集位置相对于第m个数据包开始采集位置的笛卡尔坐标(Xm,Ym),记为第m个数据包的实际相对笛卡尔坐标。
对数据包内所有时点的笛卡尔坐标分别求和,得到数据包原始数据对应笛卡尔坐标。
用实际相对笛卡尔坐标减去数据包原始数据对应笛卡尔坐标,再乘以数据包时长占相邻数据包之间时间间隔的比例,得到相邻数据包笛卡尔坐标误差,(Δxm,Δym)即:
Δx m = n t m + 1 - t m ( X m - Σ i = 1 n x i )
Δy m = n t m + 1 - t m ( Y m - Σ i = 1 n y i )
其中,(Δxm,Δym)为第m+1个数据包与第m个数据包之间的笛卡尔坐标误差,n为数据包内数据对应时间长度,tm为第m个数据包开始采集时间,tm+1为第m+1个数据包开始采集时间。
然后对数据包原始数据对应笛卡尔坐标进行平滑处理,平滑方法 为原始笛卡尔坐标加上按速度加权的相邻数据包笛卡尔数据包笛卡尔坐标误差,即:
x ^ i = x i + Δx m × Speed i Σ j = 1 n Speed j
y ^ i = y i + Δy m × Speed i Σ j = 1 n Speed j
其中,n为数据包中包含的数据条数,xi为数据包内第i个时点的x坐标,yi为数据包内第i个时点的y坐标,Speedi为数据包内第i个时点的速度数据,数据包中第i+1个时间点所在位置相对于第i个时间点所在位置的平滑后相对笛卡尔坐标为
步骤四:计算各时点GPS经纬度,利用各时点的平滑后相对笛卡尔坐标以及数据包开始采集时的GPS经纬度,可以递推得到每个时点的GPS经纬度。
为车辆在正东方向的移动距离,为负表示向西,是GPS经度变化所对应的球面位置变化的距离;令为车辆在正北方向上的移动距离,为负表示向南,是GPS纬度变化所对应的球面位置变化的距离。数据包内第一个时间点的经纬度为初始GPS经纬度,数据包内第i(i>2)个时间点GPS经纬度的递推方法为:
Lat i = Lat i - 1 + y ^ i - 1 × 180 R L o n × π
Lon i = Lon i - 1 + x ^ i - 1 × 180 R L a t × cos ( Lat i - 1 × π 80 ) × π
其中,Loni,Lati表示第个时点的GPS经纬度,Loni-1,Lati-1表示第i-1个时点的GPS经纬度,为数据包中第i个时间点所在位置相对 于第i-1个时间点所在位置的平滑后相对笛卡尔坐标,RLon表示经线圈半径,RLat表示纬线圈半径。
以上所述的实施例,只是本发明较优选的具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

Claims (9)

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 i )
Δy m = n t m + 1 - t m ( Y m - Σ i = 1 n y i )
其中,(Δxm,Δym)为第m+1个数据包与第m个数据包之间的笛卡尔坐标误差,n为数据包内数据对应时间长度,tm为第m个数据包开始采集时间,tm+1为第m+1个数据包开始采集时间。
4)然后对数据包原始数据对应笛卡尔坐标进行平滑处理,平滑方法为原始笛卡尔坐标加上按速度加权的相邻数据包笛卡尔数据包笛卡尔坐标误差,即:
x ^ i = x i + Δx m × Speed i Σ j = 1 n Speed j
y ^ i = y i + Δy m × Speed i Σ j = 1 n Speed j
其中,n为数据包中包含的数据条数,xi为数据包内第i个时点的x坐标,yi为数据包内第i个时点的y坐标,Speedi为数据包内第i个时点的速度数据,数据包中第i+1个时间点所在位置相对于第i个时间点所在位置的平滑后相对笛卡尔坐标为
9.根据权利要求8所述的压缩解压方法,其特征在于,所述S44具体为:利用各时点的平滑后相对笛卡尔坐标以及数据包开始采集时的GPS经纬度,可以递推得到每个时点的GPS经纬度。
为车辆在正东方向的移动距离,为负表示向西,是GPS经度变化所对应的球面位置变化的距离;令为车辆在正北方向上的移动距离,为负表示向南,是GPS纬度变化所对应的球面位置变化的距离。数据包内第一个时间点的经纬度为初始GPS经纬度,数据包内第i(i>2)个时间点GPS经纬度的递推方法为:
Lat i = Lat i - 1 + y ^ i - 1 × 180 R L o n × π
Lon i = Lon i - 1 + x ^ i - 1 × 180 R L a t × cos ( Lat i - 1 × π 180 ) × π
其中,Loni,Lati表示第个时点的GPS经纬度,Loni-1,Lati-1表示第i-1个时点的GPS经纬度,为数据包中第i个时间点所在位置相对于第i-1个时间点所在位置的平滑后相对笛卡尔坐标,RLon表示经线圈半径,RLat表示纬线圈半径。
CN201610384450.4A 2016-06-01 2016-06-01 一种高压缩率低失真率的gps数据压缩解压方法 Pending CN106101085A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610384450.4A CN106101085A (zh) 2016-06-01 2016-06-01 一种高压缩率低失真率的gps数据压缩解压方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610384450.4A CN106101085A (zh) 2016-06-01 2016-06-01 一种高压缩率低失真率的gps数据压缩解压方法

Publications (1)

Publication Number Publication Date
CN106101085A true CN106101085A (zh) 2016-11-09

Family

ID=57448074

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610384450.4A Pending CN106101085A (zh) 2016-06-01 2016-06-01 一种高压缩率低失真率的gps数据压缩解压方法

Country Status (1)

Country Link
CN (1) CN106101085A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106885575A (zh) * 2017-02-17 2017-06-23 浙江工商职业技术学院 一种室内定位引导方法及系统
CN107040525A (zh) * 2017-03-23 2017-08-11 上海保橙网络科技有限公司 一种使用gps数据压缩及其数据传输方法
CN112153034A (zh) * 2020-09-17 2020-12-29 青岛海研电子有限公司 一种应用于海面漂流观测体的数据无损压缩方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1055936A2 (en) * 1999-05-24 2000-11-29 Matsushita Electric Industrial Co., Ltd. Mobile terminal and emergency reporting system
CN104219711A (zh) * 2014-08-28 2014-12-17 上海移为通信技术有限公司 一种多点定位信息流量传输方法以及装置
CN104266555A (zh) * 2014-09-30 2015-01-07 程鹏 人工增雨防雹火箭定位系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1055936A2 (en) * 1999-05-24 2000-11-29 Matsushita Electric Industrial Co., Ltd. Mobile terminal and emergency reporting system
CN104219711A (zh) * 2014-08-28 2014-12-17 上海移为通信技术有限公司 一种多点定位信息流量传输方法以及装置
CN104266555A (zh) * 2014-09-30 2015-01-07 程鹏 人工增雨防雹火箭定位系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
吴家皋,钱科宇,刘敏,刘林峰: "基于综合时空特性的混合式轨迹压缩算法", 《计算机应用》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106885575A (zh) * 2017-02-17 2017-06-23 浙江工商职业技术学院 一种室内定位引导方法及系统
CN107040525A (zh) * 2017-03-23 2017-08-11 上海保橙网络科技有限公司 一种使用gps数据压缩及其数据传输方法
CN112153034A (zh) * 2020-09-17 2020-12-29 青岛海研电子有限公司 一种应用于海面漂流观测体的数据无损压缩方法

Similar Documents

Publication Publication Date Title
CN113155139B (zh) 车辆轨迹纠偏方法、装置及电子设备
CN106101085A (zh) 一种高压缩率低失真率的gps数据压缩解压方法
CN106871924B (zh) 一种基于卫星定位信号的车辆行驶里程计算方法
CN103809195B (zh) 一种gps轨迹曲线的生成方法及装置
CN104634352B (zh) 一种基于浮动车移动轨迹与电子地图融合的道路匹配方法
CN107592154A (zh) 基于北斗短报文的船舶连续轨迹传输压缩方法
JP2004280521A (ja) プローブカーシステムでの走行軌跡の伝送方法と装置
CN108413975A (zh) 地图获取方法、系统、云处理器及车辆
CN104949673B (zh) 一种基于非视觉感知信息的目标定位方法及装置
CN101334288A (zh) 基于标准线路匹配的公交准确定位方法
CN110031876A (zh) 一种基于卡尔曼滤波的车载导航轨迹点偏移矫正方法
CN105387846A (zh) 卫星影像的正射校正方法和系统
CN106885575A (zh) 一种室内定位引导方法及系统
EP3073716A1 (en) Method, apparatus, and mobile phone for calculating amount of motion
CN113777598A (zh) 深空x频段测距和干涉一体化信标装置、测量方法和系统
CN111488413A (zh) 一种轨迹特征点判断方法、轨迹记录方法和相关装置
CN107907899A (zh) 一种具有尾气检测功能的车载终端及其检测方法
WO2015074848A1 (en) Method for compressing and reconstructing data sampled from continuous functions
CN103364842B (zh) 一种捷联式航空重力仪误差分离方法
CN106289307B (zh) 一种基于卫星定位应用的车辆行驶里程算法的优化方法
CN104729513A (zh) 车载自动诊断系统及终端、gps定位数据的传输方法
CN106556760A (zh) 一种基于云计算的车载多媒体的自动化测试控制系统
CN110837806B (zh) 一种基于深度卷积记忆网络的室内定位方法
CN103500223B (zh) 一种面向移动用户的矢量地图数据压缩方法
CN104601288A (zh) 一种xcp投弃式海流剖面仪中动态数据传输方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
AD01 Patent right deemed abandoned

Effective date of abandoning: 20201013

AD01 Patent right deemed abandoned