本发明属于轨迹压缩,更具体地,本发明涉及一种基于拐点的轨迹压缩方法。
背景技术:
1、随着全球定位系统(gps)设备的普及和应用,大量的gps轨迹数据随之产生,尤其是车辆轨迹数据。这些车辆轨迹数据可以为各种服务提供重要的分析基础,比如车辆导航和智能交通系统等。为了从车辆轨迹数据中获取信息,需要对轨迹数据进行传输和存储。然而,随着轨迹数据规模的不断增大,其中不可避免地包含了大量对整体轨迹影响较小的冗余gps点,以及少量需要剔除的错误gps点。将冗余gps点进行存储和传输将浪费大量的资源,同时对包含错误gps点的轨迹进行分析可能导致错误的结果。因此,我们需要剔除这些冗余gps点和错误gps点,而轨迹压缩则是解决这一问题的有效手段之一。
2、对于一条原始轨迹,轨迹压缩算法旨在实现数据精简,减少存储和传输成本的同时,保持轨迹信息的可解释性和可用性。即在减少轨迹点的数量的同时,保留原始轨迹中有价值的特征信息,尤其是拐点,以提高轨迹数据中有效数据的占比,并将压缩误差控制在一定范围内,以确保压缩后的轨迹仍能准确地反映原有轨迹的形状。
3、车辆实际运行过程中存在多种道路场景的轨迹数据,包括:大角度拐弯的轨迹数据、小角度拐弯的轨迹数据、环形轨迹数据、轨迹点聚集的轨迹数据以及带有离群点的轨迹数据,但现有的轨迹压缩算法大多只能在单一道路场景的轨迹数据下保持较好的压缩效果,主要是压缩比和时间性能,无法在多种道路场景下都保持良好的压缩效果。
技术实现思路
1、本发明提供一种基于拐点的轨迹压缩方法,旨在改善上述问题。
2、本发明是这样实现的,一种基于拐点的轨迹压缩方法,所述方法包括如下步骤:
3、步骤1:检测当前浮点是否为拐点,若检测结果为是,则执行步骤2,若检测结果为否,则执行步骤3;
4、步骤2:将拐点放入压缩轨迹集中,同时将当前拐点作为新滑动窗的锚点,即滑动窗的起点,锚点的下一个轨迹点作为浮点,返回步骤1;
5、步骤3:将下一个轨迹点作为浮点,返回步骤1。
6、进一步的,当前浮点为当前轨迹中的最后一个轨迹点时,将当前浮点直接加入压缩轨迹集中。
7、进一步的,当前浮点是否为拐点的检测方法具体如下:
8、检测当前浮点是否为大角度拐弯轨迹和环形轨迹中的拐点,若检测结果为是,则当前浮点为拐点,加入压缩轨迹集中,若检测结果为否,在当前滑动窗内查找是否存在小角度拐弯轨迹中的拐点,若存在,则将拐点加入压缩轨迹集中。
9、进一步的,大角度拐弯轨迹和环形轨迹中的拐点的检测方法具体如下:
10、步骤11、检测当前浮点的下一轨迹点是否为离群点,若检测结果为是,则从当前滑动窗内删除该离群点,执行步骤12,若检测结果为否,则直接执行步骤12;
11、步骤12:计算当前浮点与其前一个轨迹点的角度差tangle1及当前浮点与锚点的角度差tangle2;
12、步骤13:检测角度差tangle1和角度差tangle2中的一个角度差是否大于角度阈值θ,若检测结果为是,则执行步骤14,若检测结果为否,则进行小角度拐弯轨迹中的拐点检测;
13、步骤14:检测当前浮点的长度是否小于m-2,若检测结果为是,则执行步骤15,若检测结果为否,则执行步骤17;
14、步骤15:计算当前浮点的前一个轨迹点与下下一个轨迹点的角度差tangle3;
15、步骤16:检测角度差tangle3是否大于角度阈值θ,若检测结果为是,直接执行步骤17,若检测结果为否,则删除下一个轨迹点,再进行小角度拐弯轨迹中的拐点检测;
16、步骤17:将当前浮点作为候选拐点;
17、步骤18:计算候选拐点至锚点的距离tdistance,检测该距离tdistance是否小于近距离阈值dnear;
18、步骤19:若检测结果为是,则认定当前候选拐点为拐点,若检测结果为否,则进行小角度拐弯轨迹中的拐点检测。
19、进一步的,离群点的检测方法具体如下:
20、计算当前浮点对应轨迹点速度与前一个轨迹点速度的比值,检测比值是否大于速度比阈值st,若检测结果为是,则认定下一个轨迹点为离群点,若检测结果为否,则认定下一个轨迹点不是离群点。
21、进一步的,基于回滚机制在当前滑动窗内查找小角度拐弯轨迹中的拐点。
22、进一步的,小角度拐弯轨迹中的拐点检测过程具体如下:
23、步骤21、计算当前浮点至锚点的距离d,以及当前浮点与前一个轨迹点的角度差;
24、步骤22、检测距离d是否大于远距离阈值dfar且当前浮点下标为df的整数倍、或者是当前浮点与前一点的角度差是否大于等于角度θ,若检测结果为是,则执行步骤23;
25、步骤23、计算当前浮点与当前滑动窗中不包括锚点与浮点的其他轨迹点间的垂直欧式距离sd,获取垂直欧式距离的最大值maxsd及其对应轨迹点的下标newindex;
26、步骤24检测垂直欧式距离的最大值maxsd是否大于垂直欧式距离阈值sdt,若检测结果为是,则将下标newindex对应的轨迹点认定为拐点,若检测结果为否,则按照进入回滚机制前的状态继续运行。
27、进一步的,df取值为5。
28、进一步的,锚点为当前滑动窗内的第一个轨迹点,浮点为滑动窗内的最后一轨迹点。
29、本发明针对多种道路场景产生的多类型轨迹,采用自适应的压缩决策对其进行处理,以便在不同道路场景中快速、准确地识别出旅程轨迹的拐点;其次,引入离群点检测机制,减少误判点,提高了保留轨迹点的质量。
1.一种基于拐点的轨迹压缩方法,其特征在于,所述方法包括如下步骤:
2.如权利要求1所述基于拐点的轨迹压缩方法,其特征在于,当前浮点为当前轨迹中的最后一个轨迹点时,将当前浮点直接加入压缩轨迹集中。
3.如权利要求1所述基于拐点的轨迹压缩方法,其特征在于,当前浮点是否为拐点的检测方法具体如下:
4.如权利要求3所述基于拐点的轨迹压缩方法,其特征在于,大角度拐弯轨迹和环形轨迹中的拐点的检测方法具体如下:
5.如权利要求4所述基于拐点的轨迹压缩方法,其特征在于,离群点的检测方法具体如下:
6.如权利要求3所述基于拐点的轨迹压缩方法,其特征在于,基于回滚机制在当前滑动窗内查找小角度拐弯轨迹中的拐点。
7.如权利要求6所述基于拐点的轨迹压缩方法,其特征在于,小角度拐弯轨迹中的拐点检测过程具体如下:
8.如权利要求7所述基于拐点的轨迹压缩方法,其特征在于,df取值为5。
9.如权利要求1所述基于拐点的轨迹压缩方法,其特征在于,锚点为当前滑动窗内的第一个轨迹点,浮点为滑动窗内的最后一轨迹点。
