一种最大误差可控的轨迹数据压缩方法

文档序号:7544930阅读:149来源:国知局
一种最大误差可控的轨迹数据压缩方法
【专利摘要】本发明属于轨迹计算【技术领域】,具体为一种最大误差可控的轨迹数据压缩方法。本发明步骤包括:设定轨迹数据在压缩后的最大误差范围;从待压缩轨迹的当前位置pi开始向后扫描下一个点pi+1,从pi对扫描的点的最大误差范围做角度范围限制,用si+1表示;重复上一步骤,直到点pi+k。si+1,si+2,。。,si+k-1的交集不为空,并且si+1,si+2,。。,si+k-1,si+k的交集为空,即可用<pi,pi+k-1>表示子轨迹<pi,pi+1,。。,pi+k-1>,误差在设定的最大范围内;然后从pi+k-1开始,对轨迹中剩下的部分同上步骤进行压缩,直到轨迹中所有点扫描完毕。本发明方法降低了压缩方法的时间复杂度,使得压缩方法具有线性时间复杂度,即与轨迹点数同数量级。
【专利说明】一种最大误差可控的轨迹数据压缩方法
【技术领域】
[0001]本发明属于轨迹计算【技术领域】,具体涉及一种最大误差可控的轨迹数据压缩方法。
【背景技术】
[0002]轨迹计算是随着GPS、北斗等用户位置采集设备的普及和位置签到等应用的流行,进而产生了大量用户轨迹数据背景下兴起的【技术领域】。轨迹计算领域的技术具有针对性强、实用性好的特点。具体到轨迹压缩领域,轨迹压缩技术相比于普适的数据压缩技术,能够充分利用轨迹自身的特点,压缩效果好于普适的数据压缩方法。通过轨迹压缩计算能够有效地降低计算机处理负载和数据存储、传输开销,提高服务速度和质量。衡量轨迹压缩技术的指标主要有两个:
(1)压缩比,指压缩前的数据大小和压缩后的数据大小的比。压缩比越大,轨迹压缩技术效果越好;
(2)压缩时间,指从开始进行轨迹压缩到轨迹压缩完成所花费的时间。轨迹压缩时间越短,表明轨迹压缩的效率越高。
[0003]轨迹压缩技术分为欧几里得空间的轨迹压缩技术和路网轨迹压缩技术两类:
Cl)欧几里得空间的轨迹压缩:
欧几里得空间的轨迹压缩技术针对欧几里得空间轨迹,轨迹表示为经纬度位置序列。这类轨迹压缩技术主要采用计算几何类方法。我们的发明属于这类技术。
[0004]经典的欧氏空间轨迹压缩技术为开放窗口(Opening Window,0PW)方法,其中最常用的方法为前一开放窗口(Before Opening Window,B0PW)方法。图1是BOPW方法的一个例子:预先设定一个误差允许的上限,在这个例子中是一个欧几里德距离,也即压缩后的轨迹与压缩前相比轨迹点首尾相连所构成的折线的最大距离不超过所设定的误差允许上限。在压缩时,从轨迹的起始点A7开始,依次向后扫描,并尝试将之后若干个连续的轨迹点删除,判断压缩是否满足条件。首先尝试删除A,将&和&相连。判断/7,距离办-办线段距离是否超过预设误差限制。没有超过,则继续尝试删除办,判断a和办距离线段办-/7,的距离是否超过限制。由于依然没有超过,则继续尝试删除/V这时发现办距离线段办-内的距离超过了设定的误差上限,因此A不能被删除,需要退回到A位置并从A开始重新进行上述过程。这个过程持续到整个轨迹压缩完毕。如例所示,最终轨迹压缩结果为4,,P3,P6, P9, 。由于在这个过程中每个轨迹点被检查是否距离压缩后轨迹的距离是否超过误差限制的次数与轨迹点点数级别相同,因此该方法的时间复杂度为轨迹点点数的平方级。
[0005]( 2 )路网轨迹压缩技术:
路网轨迹压缩技术针对有路网情况下的轨迹压缩,轨迹表示为路网中的路段序列。这类轨迹压缩技术主要利用路网本身的信息和性质进行。
[0006]传统的路网轨迹压缩技术主要有两种,一种是基于路网的街道信息,利用行人车辆倾向于沿着相同道路行走的特点,对于轨迹道路序列只记录其转到另一条街道上的那条路段,从而达到减少存储的数据量的压缩目的。对于中间的路段,可以在需要时利用街道的路段序列进行补全还原。另一种技术是仅利用路网本身的拓扑结构,尝试将道路序列中的一些子序列替换为经过更少路段的子序列,并通过设定评价标准(如定义两者的某些距离函数)保证这种替换的结果与原始轨迹是近似的。显然,这种技术进行轨迹压缩是有损压缩,且压缩后的轨迹无法完全复原。

【发明内容】

[0007]本发明的目的在于提出一种最大误差可控的轨迹数据压缩方法,通过计算角度范围的方法降低压缩方法的时间复杂度,使得压缩方法具有线性时间复杂度,即与轨迹点数同数量级。
[0008]本发明提出的最大误差可控的轨迹数据压缩方法,具体步骤如下:
(I)设定最大误差范围:
轨迹数据为二维(或多维)点对的序列,如欧氏空间中的经纬度坐标。需要设定压缩过程中的横纵两 个方向上的误差范围τ和η,也就是说压缩后的轨迹与压缩前的轨迹相t匕,任意点到压缩前的轨迹的距离纵向上和横向上分别不超过τ和η。
[0009](2)从待压缩轨迹的当前位置开始向后扫描后续的点,从对扫描的点的最大误差范围做角度范围限制,具体操作如下:
(a)从当前扫描位置开始扫描,并把角度范围置为360度;
(b)依次扫描后面的轨迹点,并用本段的扫描开始点到当前点的纵向正负τ范围所夹角度和横向正负Η所夹角度与之前的允许角度求交,作为新的允许的角度范围限制;
(C)重复步骤(b)直到限制的角度范围为空,设该点为A.+i,则退回到上一个轨迹点Au,并将其与本段开始点之间的采样点压缩掉,即用〈A., Pi+k-1~>来表示子轨迹…,Pm、;然后从这个轨迹点Au开始作为当前扫描位置。
[0010](3)重复执行步骤(2),对轨迹中剩下的部分同上步骤进行压缩,直到轨迹中所有点扫描完毕。这时我们就得到了轨迹压缩的结果。
[0011]本发明步骤(1)中,设置最大误差范围时,每个维度是独立设置的,且每个维度的上下误差值可以根据需要设置不同大小;轨迹上的每个点可以是独立设置的,即不同的点可以设置不同的最大误差限制。
[0012]本发明步骤(3)的具体操作如下:以上一段压缩轨迹表示的终点作为当前位置,重复步骤(2)。
[0013]相比于传统的轨迹压缩开放窗口方法,本发明的意义在于其将轨迹压缩的时间复杂度降低到了线性复杂度,即与轨迹点数同数量级。其创新之处在于通过引入角度范围的概念,使得轨迹的压缩过程中每个点最多被尝试压缩一次,而不是之前方法需要重复被验证是否可以被压缩。从而降低了时间复杂度。
[0014]本发明可以在上述基础上进行两方面的扩展。
[0015]一是本发明的用途不局限于时空轨迹,任何抽象意义上的点序列均可用此方法进行压缩,包括二维、三维和多维。误差的限定范围同轨迹数据一样可以是多维的。例如如果我们将轨迹扩展为xyz三维欧式空间下的轨迹,则可以在三个维度上利用角度范围方法进行压缩。这种扩展对于传统的开放窗口方法也是等价的。本发明的时间复杂度依然是线性,而传统方法是轨迹点数平方。
[0016]二是对于每个轨迹点的误差限定可以更加灵活。例如可要求每个采样点的误差范围不一定一致,一个采样点某一维度的采样误差允许范围也不要求对称。这样就可以更加灵活的适应各种轨迹压缩的需求,如某些比较关键的位置误差允许范围减小,以便保证较高的质量。而另一些非关键的位置轨迹压缩误差范围可设置得较大,以提高压缩比。与此同时,本发明也支持采用其他形式的误差范围限定,如欧几里得距离。只要将角度范围的限制变为从起始点向以轨迹点为中心,所限定欧氏空间误差上限为半径的圆作两切线的夹角即可。
【专利附图】

【附图说明】
[0017]图1BOPW轨迹压缩方法。
[0018]图2纵向上限制角度范围。
[0019]图3横向上限制角度范围。
[0020]图4对角度范围求交。
[0021]图5对后续的角度范围多次求交。
[0022]图6角度范围在夹角范围内和不在夹角范围内两种情况。
[0023]图7不同的纵横误差限制下的压缩比。
[0024]图8压缩轨迹图示。其中,只给出了轨迹的片段,包括6个点...,pi+so子轨迹<Pi,Pi+1,...,p1+3>可以压缩为<Pi,Pi+3y表示,保证在最大误差范围内。
【具体实施方式】
[0025]下面结合具体实例来说明本发明的具体实施过程。
[0026]1、轨迹数据的准备与误差范围制定:
将轨迹绘制于欧氏空间二维平面上,并制定轨迹压缩允许的纵向误差上限为正负r范围(如图2所示),横向为正负η范围(如图3所示)。
[0027]2、从轨迹的当前位置开始向后扫描,用设定的误差范围对压缩线的角度范围进行限制:
从当前位置Ui,式.)开始,向后扫描。此时允许的角度范围为整个360度范围。扫描至lj(ii+1,式.+1)时,用该点的纵向范围限制夹角的范围,如图2所示;用该点的横向范围限制夹角的范围,如图3所示。对二者的交集与之前的允许范围求交,得到了经过该点的可用化简角度范围,如图4所示。将这个新得到的夹角与点(ii+2,式.+2)继续重复上述过程求交,如图5所示。重复这个过程处理后面的点。如图6所示,如果点落在该允许范围内如则继续,否则若如^ i+3则停止这个过程。
[0028]3、重复执行步骤2直到轨迹为空。这时我们就得到了轨迹压缩的结果。
[0029]下面通过真实数据集上的实验来验证一种最大误差可控的轨迹数据压缩方法的效果。
[0030]首先介绍本实验的实验环境:本实验采用gcc 4.6.2编译环境,代码采用C/C++开发。在一台Intel Core ?7-37 70 CPU (3.40 GHz)处理器32 GB内存的Win7平台上运行。实验对象是新加坡出租车轨迹数据。我们一共试验了新加坡一个月的出租车轨迹数据,总共有15000多辆出租车共约465000条行车轨迹的。针对不同的欧氏空间横向和纵向误差的范围限制(分别定名为TSND和NSTD),其压缩比如图7所示,可以发现通过灵活设置的最大误差范围,可以得到不同的压缩比。
【权利要求】
1.一种最大误差可控的轨迹数据压缩方法,其特征在于具体步骤如下: (1)设定最大误差范围: 轨迹数据为二维点对的序列,设定压缩过程中的横纵两个方向上的误差范围τ和η,即压缩后的轨迹与压缩前的轨迹相比,任意点到压缩前的轨迹的距离纵向上和横向上分别不超过τ和η ; (2)从待压缩轨迹的当前位置Α.开始向后扫描后续的点,从对扫描的点的最大误差范围做角度范围限制; (3)重复执行步骤(2),对轨迹中剩下的部分同上步骤进行压缩,直到轨迹中所有点扫描完毕,即到轨迹压缩的结果。
2.根据权利要求1所述的最大误差可控的轨迹数据压缩方法,其特征在于步骤(2)的具体操作如下: (1)设当前扫描位置为A.,初始允许的角度范围置为360度,从开始扫描后续的点; (2)对于每一个被扫描的轨迹点,用本段的扫描开始点到当前点的纵向正负τ范围所夹角度和横向正负Η所夹角度与之前的允许角度求交,作为新的允许的角度范围限制; (3)重复步骤(2),直到限制的角度范围为空,设该点为A.+i,则退回到上一个轨迹点Pi^1,并将其与本段开始点之间 的采样点压缩掉,即用表示子轨迹Ipm,P i+k-〉°
3.根据权利要求1所述的最大误差可控的轨迹数据压缩方法,其特征在于步骤(3)的具体操作如下: 以上一段压缩轨迹表示<Pi,pi+k-;>的终点作为当前位置,重复步骤(2)。
【文档编号】H03M7/30GK103795417SQ201410028758
【公开日】2014年5月14日 申请日期:2014年1月22日 优先权日:2014年1月22日
【发明者】孙未未, 宋壬初 申请人:复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1