一种路网轨迹的无损压缩方法

文档序号:7544934阅读:313来源:国知局
一种路网轨迹的无损压缩方法
【专利摘要】本发明属于轨迹计算【技术领域】,具体为一种路网轨迹的无损压缩方法。该方法的步骤包括:根据路网计算任意路段之间的最短路径并存储在数据库中。选择路网轨迹的第一个路段,并依次向后扫描直到轨迹结束或所经过的子序列与子序列首尾路段之间的最短路不一致。从不满足的路段开始重新开始扫描。重复上述步骤直到轨迹扫描结束。将以上每段的第一个路段以及序列最后一条路段作为压缩结果存储,该结果可以根据上述过程的逆过程进行无损解压缩。
【专利说明】一种路网轨迹的无损压缩方法
【技术领域】
[0001]本发明属于轨迹计算【技术领域】,具体涉及一种路网轨迹的无损压缩方法。
【背景技术】
[0002]轨迹计算是随着GPS用户位置采集设备的普及、位置签到等应用的流行进而产生了大量用户轨迹数据背景下兴起的【技术领域】。轨迹计算领域的技术具有针对性强、实用性好的特点。具体到轨迹压缩领域,轨迹压缩技术相比于普适的数据压缩技术,能够充分利用轨迹自身的特点,压缩效果远好于普适的数据压缩方法。能够有效地降低计算机处理负载和数据存储、传输开销,提高轨迹计算的速度和质量。衡量轨迹压缩技术的指标主要有两个:
(1)压缩比,指压缩前的数据大小和压缩后的数据大小的比。压缩比越大,轨迹压缩技术效果越好;
(2)压缩时间,指从开始进行轨迹压缩到轨迹压缩完成所花费的时间。轨迹压缩时间越短,表面轨迹压缩的效率越高。
[0003]轨迹包含的信息,根据场合不同,主要包括两类:一是只包括空间位置信息,即轨迹表示移动对象在空间中的移动信息,本发明属于此类。二是同时包括空间位置信息和时间信息,即轨迹表示移动对象在时空中的移动信息。
[0004]轨迹压缩技术分为欧几里得空间的轨迹压缩技术和路网轨迹压缩技术两类:
(I)欧几里得空间的轨迹压缩:
欧几里得空间的轨迹压缩技术针对欧几里得空间轨迹,轨迹表示为经纬度位置与时间的三元组序列。这类轨迹压缩技术主要采用计算几何类方法。
[0005](2)路网轨迹压缩技术:
路网轨迹压缩技术针对有路网情况下的轨迹压缩,轨迹表示为路网中的路段序列。这类轨迹压缩技术主要利用路网本身的信息和性质进行。我们的发明属于这类技术。
[0006]传统的路网轨迹压缩技术主要有两种,一种是基于路网的街道信息,利用行人车辆倾向于沿着相同道路行走的特点,对于轨迹道路序列只记录其转到另一条街道上的那条路段,从而达到减少存储的数据量的压缩目的。对于中间的路段,可以在需要时利用街道的路段序列进行补全还原。另一种技术是仅利用路网本身的拓扑结构,尝试将道路序列中的一些子序列替换为经过更少路段的子序列,并通过设定评价标准(如定义两者的某些距离函数)保证这种替换的结果与原始轨迹是近似的。显然,这种技术进行轨迹压缩是有损压缩,且压缩后的轨迹无法完全复原。
[0007]需要强调的是,在路网轨迹的表示方式中,若路网中不存在重边,则采用边序路段表示和交叉口序列表示是等价的。这一点很容易证明。对于任意的路段序列,其等价交叉路口表示为这些路段序列经过的交叉路口序列。由于不存在重边,将这个交叉路口序列相邻项之间夹的路段组成序列,又得到了与原序列相同的路段序列。反之亦然。因此二者是等价的。
【发明内容】

[0008]本发明的目的在于根据路网的任意路段最短路径表,提出一种路网轨迹压缩的无损压缩方法。
[0009]本发明提出的路网轨迹压缩的最短路径压缩方法,主要思路是:根据路网计算任意路段之间的最短路径并存储在数据库中。选择路网轨迹道路序列的第一个路段,并依次向后扫描直到轨迹结束或所经过的子序列与子序列首尾路段之间的最短路不一致。从不满足的路段开始重新扫描。重复上述步骤直到轨迹扫描结束。将以上每段的第一个路段以及序列最后一条路段作为压缩结果存储。具体步骤如下:
1.计算任意路段之间的最短路径:
对路网中的每条路段计算该路段到路网中其他所有路段的最短路径长度,并对于每一个路段&.,记录这条路径上的ej前面的路段的序号SPmd (&.,e)。
[0010]在上面的符号中表示路网中的第i条边。设路段条数为万,则最短路径表总共有万*仏-1)项。这种保存方式可以通过迭代的方式得到任意两路段间的完整最短路径。
[0011]2.将序列的第一个路段加入压缩结果,从轨迹头截掉一条最长的最短路:从轨迹头部开始分出一段最长的与最短路径重合的子序列,具体地说,操作如下:
(1)从剩余轨迹的头部开始扫描,设路段为记录^为这一段子序列的开始;
(2)将^加入压缩结果轨迹的尾部;
(3)依次向后扫描,假设扫描到的路段为而上一条路段为%;
(4)重复执行步骤(3)直到SPmd(es,et)古%。此时扫描结束;
(5)将扫描停止的位置之前的一段,即es到ep一段从轨迹头部删除。
[0012]3.重复执行步骤2直到轨迹为空。这时就得到了路网轨迹道路序列压缩的结果。将该压缩后的轨迹进行存储数据库或其他的处理。
[0013]经过本发明压缩的轨迹可以利用上面过程的逆过程进行解压缩操作,从而对压缩后的轨迹进行还原。具体步骤如下:
(1)从压缩后的轨迹的头部开始访问压缩结果中相邻的两个路段记为eu和^;
(2)将和^之间用两者之间的最短路径补全。具体步骤为:
(a)若和^本来就是路网中相邻的路段,则该过程结束;
(b)将SPmd(e?, ev)插入到结果轨迹中的前面;
(C)令 a= SPend (eu, ev);
(d)重复(b) (c)直到若%和~是路网中相邻的路段,则该过程结束;
(3)重复步骤(1)、步骤(2)直到整个压缩后的轨迹被访问完毕。此时我们完整还原了压缩前的路网轨迹道路序列。
[0014]本发明利用最短路径信息对路网轨迹道路序列进行压缩,由于行车过程往往倾向于走最短路,因此能够达到高压缩比。同时由于本发明的压缩和解压缩的过程仅对轨迹进行一遍扫描,所耗费时间与原轨迹的道路段数成线性关系,因此时间开销达到了最优数量级。同时,本发明中的最短路表可以经过一次计算,在路网不变的情况下可以重复使用。因此其开销可作为预处理成本,不在轨迹压缩和解压缩算法的开销之中。【专利附图】

【附图说明】
[0015]图1标明各路段长度的路网以及一条给定的路网轨迹道路序列el5,el2, e9,e6, e3。原始轨迹表不:〈el5, el2, e9, e6, e3〉;压缩后轨迹表不:〈el5, e3〉。
【具体实施方式】
[0016]下面结合具体实施例进一步说明本发明。
[0017]1.计算任意路段之间的最短路径:
对如图1的路网中的每条路段,利用Dijkstra算法计算该路段到路网中其他所有路段的最短路径长度,并计算最短路表SPmd。
[0018]经过计算的最短路表如下表(1)
【权利要求】
1.一种路网轨迹的无损压缩方法,其特征在于具体步骤如下: (1)计算任意路段之间的最短路径: 对路网中的每条路段计算该路段到路网中其他所有路段的最短路径长度,并对于每一个路段&.,记录这条路径上的ej前面的路段的序号SPmd (&.,e); 其中~表示路网中的第i条边,设路段条数为E,则最短路径表总共有E务{E-1)项;根据这种保存方式,通过迭代的方法得到任意两路段间的完整最短路径; (2)将序列的第一个路段加入压缩结果,从轨迹头截掉一条最长的最短路:从轨迹头部开始分出一段最长的与最短路径重合的子序列;具体操作如下: (3)重复执行步骤(2)直到轨迹为空,就得到路网轨迹道路序列压缩的结果。
2.根据权利要求1所述的路网轨迹道路序列的压缩方法,其特征在于步骤(2)的具体操作如下: (1)从剩余轨迹的头部开始扫描,设路段为es;记录A为这一段子序列的开始; (2)将&加入压缩结果轨迹的尾部; (3)依次向后扫描,假设扫描到的路段为而上一条路段为ep; (4)重复执行步骤(3)直到SPend(&,e)古%,此时扫描结束; (5)将扫描停止的位置之前的一段,即es到ep一段从轨迹头部删除。
3.对于经过如权利要求1或2所述无损压缩方法得到的压缩轨迹进行解压缩的方法,其特征在于,具体步骤如下: (1)从压缩后的轨迹的头部开始访问压缩结果中相邻的两个路段记为^和 (2)将和^之间用两者之间的最短路径补全; (3)重复步骤(1)、步骤(2),直到整个压缩后的轨迹被访问完毕,即完整还原了压缩前的路网轨迹道路序列。
4.根据权利要求3所述的解压缩方法,其特征在于步骤(2)的具体操作如下: (1)若和^本来就是路网中相邻的路段,则该过程结束; (2)将SPm>?,W插入到结果轨迹中~的前面;
(3)令~=SPend(e?, ev); (4)重复步骤(2)(3),直到若~和~是路网中相邻的路段,该过程结束。
【文档编号】H03M7/30GK103795418SQ201410028990
【公开日】2014年5月14日 申请日期:2014年1月22日 优先权日:2014年1月22日
【发明者】孙未未, 宋壬初 申请人:复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1