基于偏移量计算的在线gps轨迹数据压缩算法

【技术领域】

[0001] 本发明涉及移动数据管理领域,尤其是一种基于偏移量计算的在线GPS轨迹数据 压缩算法。

【背景技术】

[0002] 对于GPS轨迹数据的有损压缩,相比无损压缩可以更大程度的减少数据量的存 储,其实际应用价值更大,而在线压缩是当今互联网普及的大背景下更适合作为实际应用 算法的解决方案。由于在线GPS轨迹数据压缩的特性,在对GPS轨迹点进行实时评估时只能 通过轨迹的局部信息进行评估,尽量减少评估时产生的误差是提高此类算法性能的关键。

【发明内容】

[0003] 为了进一步提高此类算法的性能,本发明提出了一种基于偏移量计算的在线GPS 轨迹数据压缩算法一一关键点前继修正算法,本算法通过直接计算同步欧氏距离的方法发 现关键点,在发现关键点后再对关键点之如和上一个关键点之后的点进彳丁修正,可以应用 于在线GPS轨迹数据压缩,在提高算法性能的同时还兼顾了算法在实际应用中的可行性。

[0004] 本发明解决其技术问题所采用的技术方案是:一种基于偏移量计算的在线GPS轨 迹数据压缩算法,其具体步骤为:

[0005] 步骤1)将轨迹第一个点选为关键点,等待后续点的到来;

[0006] 步骤2)以第一个点和第三个点为基准点,求第二个点的同步欧氏距离,将第二个 点的同步欧氏距离作为其权重值,并将第二个点作为当前点;

[0007] 步骤3)设定同步欧氏距离阀值sed,如果当前点的权重值低于规定阈值,则继续 步骤4);如果当前点的权重值高于规定阈值,则跳到步骤5);

[0008] 步骤4)将当前点的下一个点作为新的当前点,新的当前点的权重值计算为上一 个当前点的权重值加上新的当前点的同步欧氏距离,继续步骤3);

[0009] 步骤5)当前点为新的关键点,以上一个关键点为起点,以新的关键点为终点,使 用修正算法找出起点和终点之间的轨迹的关键点;将当前点的下一个点作为新的当前点, 新的当前点的权重值为新的当前点的同步欧氏距离,继续步骤3);

[0010] 步骤6)重复步骤3~5)直至找出所有的关键点,连接所有的关键点得到压缩GPS 轨迹数据。

[0011] 所述的关键点指轨迹中信息量较大,需要被保留的点。

[0012] 在进行当前点的同步欧氏距离的计算时,均是以当前点的相邻点为基准点。

[0013] 所述的同步欧氏距离计算的步骤包括:

[0014] 步骤2. 1)对于原路径P上的点p(Xl,yi,,确定其基准点,

[0015] 步骤2. 2)通过以下公式计算获得点p(Xy y;,tj在简化路径P'上的对应 点为P ' (X ' i,y ' i)坐标:

[0016] 步骤2. 3)计算出p与p'的同步欧氏距离:

[0017] 所述的修正算法的步骤包括:

[0018] 步骤5. 1)将每一条轨迹的首尾相连形成一条参考线,然后求出除首尾两点的其 它轨迹点到这条线的同步欧氏距离;

[0019] 步骤5. 2)找出距离最大的点,如果这个点到这条参考线的距离小于规定的阈值, 则整条轨迹使用这条参考线代替;

[0020] 步骤5. 3)如果这个点到这条参考线的距离大于规定的阈值,则这个点为轨迹中 的关键点,在保留这个点的同时,以这个点为分界点,将原轨迹划分为两条轨迹;

[0021] 步骤5. 4)对于划分后的轨迹返回步骤5. 1)继续迭代简化下去。

[0022] 本发明的有益效果是:该基于偏移量计算的在线GPS轨迹数据压缩算法不断发现 关键点并修正最新发现关键点和上一个关键点之间的关键点,使用同步欧氏距离阈值限制 误差,对轨迹点的信息量评估准确度更高,可以有效地对在线GPS轨迹数据进行压缩,并且 其运行时间相比其它算法也更稳定。

【附图说明】

[0023] 附图1为该基于偏移量计算的在线GPS轨迹数据压缩算法的流程图。

[0024] 附图2为同步欧氏距离的示意图。

[0025] 附图3为按时间比例的自顶向下的关键点修正算法的示例图。

[0026] 附图4为该基于偏移量计算的在线GPS轨迹数据压缩算法的示例图。

【具体实施方式】

[0027] 下面结合附图及实施例对本发明作进一步说明。

[0028] 本发明的主要思路为:通过直接计算同步欧氏距离的方法发现轨迹中的关键点, 在发现关键点后再对新发现的关键点和上一个关键点之间的点进行修正。

[0029] 参见图1所示,一种基于偏移量计算的在线GPS轨迹数据压缩算法,即关键点前继 修正算法,包括以下步骤:

[0030] 步骤1)将轨迹第一个点选为关键点,等待后续点的到来;

[0031]步骤2)以第一个点和第三个点为基准点,求第二个点的同步欧氏距离,将第 二个点的同步欧氏距离作为其权重值,并将第二个点作为当前点;如图2所示,同步欧 氏距离是指原路径上的点和这个点在简化后的路径上按时间比例对应的点之间的欧氏 距离,同步欧氏距离的计算方法如下:对于原路径P上的点P( Xl,yi,h),确定其基准点 通过以下公式计算获得点Ph,yi,在简化路径P' 上的对应点为 p' (x' ;,y';)坐标:4 V < 气"),:

然后计算出P与P'的同步欧氏距 离

[0032] 步骤3)设定同步欧氏距离阈值sed,如果当前点的权重值低于规定阈值sed,则继 续步骤4);如果当前点的权重值高于规定阈值sed,则跳到步骤5);

[0033] 步骤4)将当前点的下一个点作为新的当前点,新的当前点的权重值计算为上一 个当前点的权重值加上新的当前点的同步欧氏距离,继续步骤3);

[0034] 步骤5)当前点为新的关键点,以上一个关键点为起点,新的关键点为终点,使用 修正算法找出起点和终点之间的轨迹的关键点,其步骤包括:

[0035] 步骤5. 1)以上一个关键点为起点,新的关键点为终点,并连接为一条参考线,然 后求出除起点和终点之间的其它轨迹点到这条线的同步欧氏距离;

[0036] 步骤5. 2)找出