面向轨迹挖掘的数据预处理方法及系统与流程

文档序号:19365851发布日期:2019-12-10 20:49阅读:266来源:国知局
面向轨迹挖掘的数据预处理方法及系统与流程

本发明涉及计算机技术领域,具体涉及一种面向轨迹挖掘的数据预处理方法及系统。



背景技术:

近年来,伴随着移动定位设备,包括手机,车辆导航系统等广泛使用,逐渐积累了大量的定位数据。如何对这些定位数据进行分析、挖掘、探索,以获得社会效益、缓减交通压力,是轨迹挖掘方向的一个研究热点。

然而轨迹数据的规模都对数据管理和应用产生了一些挑战。例如,北京市的所有车辆一天产生的定位数据的数量级往往能够达到gb级别,甚至于达到tb级别。而且这些数据中,可能会因为定位精度、网络传输等原因,并不能保证每个定位数据都是正确的,也不能保证每条轨迹采样是完整的。因此,数据的正确性以及数据的完整性也同样关系到之后挖掘的效果。若无法保证原始数据质量可能对系统的稳定性产生一定的影响。目前,对于轨迹挖掘数据处理并没有一种能够提高数据正确性以及完整性同时提高系统稳定性的一种通用的轨迹数据预处理方法。



技术实现要素:

本发明要解决的技术问题是:解决如何提供一种提高数据正确性、完整性的面向轨迹挖掘的数据预处理方法的问题。

为实现上述的发明目的,本发明提供了一种面向轨迹挖掘的数据预处理方法及系统。

依据本发明的第一方面,提供了一种面向轨迹挖掘的数据预处理方法,包括:

在原始数据库中提取离散的轨迹点,对轨迹点进行归类提取后形成若干个独立的轨迹段集合;

对每一轨迹段集合中的轨迹点进行重复定位点检测,若判断该重复定位点为历史定位点,则删除;

对每一轨迹段集合中的轨迹点进行定位异常点检测,若判断为定位异常点,则删除该轨迹点,得到若干条完整的轨迹;

对所述完整的轨迹进行简化压缩,得到压缩轨迹;

存储所述压缩轨迹。

优选地,所述对每一轨迹段集合中的轨迹点进行重复定位点检测,若判断该重复定位点为历史定位点,则删除的步骤包括:

判断轨迹段集合中若干个重复定位点的时间与该轨迹段集合最新时间的差值是否超过预设的时间阈值;

若判断结果为超过预设的时间阈值,则判断该轨迹点为历史定位点,将其删去。

优选地,所述对每一轨迹段集合中的轨迹点进行定位异常点检测,若判断为定位异常点,则删除该轨迹点的步骤包括:

综合轨迹段集合中若干个相邻轨迹点相互之间的平均速度,根据预设的规则,若判断为定位异常点,则删除该轨迹点。

依据本发明的第二方面,提供了一种面向轨迹挖掘的数据预处理系统,包括:

轨迹提取模块,用于在原始数据库中提取离散的轨迹点,对轨迹点进行归类提取后形成若干个独立的轨迹段集合;

数据清洗模块,用于对每一轨迹段集合中的轨迹点进行重复定位点检测,若判断该重复定位点为历史定位点,则删除;

数据清洗模块,还用于对每一轨迹段集合中的轨迹点进行定位异常点检测,若判断为定位异常点,则删除该轨迹点,得到若干条完整的轨迹;

轨迹约简模块,用于对所述完整的轨迹进行简化压缩,得到压缩轨迹;

存储模块,用于存储所述压缩轨迹。

优选地,所述数据清洗模块,

判断轨迹段集合中若干个重复定位点的时间与该轨迹段集合最新时间的差值是否超过预设的时间阈值;若判断结果为超过预设的时间阈值,则判断该轨迹点为历史定位点,将其删去。

优选地,所述数据清洗模块,综合轨迹段集合中若干个相邻轨迹点相互之间的平均速度,根据预设的规则,若判断为定位异常点,则删除该轨迹点。

优选地,还包括:

系统监控模块,用于对所述系统内存中的数据进行定期备份,还用于监控所述系统,对可预见的系统异常进行处理。

优选地,还包括:

故障恢复模块,用于对系统数据进行备份,在系统出现故障时根据备份的数据对系统进行自动恢复。

优选地,所述故障恢复模块对系统数据进行备份包括:

对系统数据进行周期性备份;或,

在发生故障时,对系统数据进行临时备份。

本发明提供了一种面向轨迹挖掘的数据预处理方法及系统,通过对提取出的轨迹点进行重复定位点以及定位异常点清楚,保证了轨迹数据的正确性和完整性,提高了轨迹数据挖掘的准确度。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1是本发明实施方式提供的面向轨迹挖掘的数据预处理方法流程图;

图2是本发明实施方式提供的面向轨迹挖掘的数据预处理系统结构示意图。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

本发明实施方式提供了一种面向轨迹挖掘的数据预处理方法,如图1所示,包括:

s101、在原始数据库中提取离散的轨迹点,对轨迹点进行归类提取后形成若干个独立的轨迹段集合;

s102、对每一轨迹段集合中的轨迹点进行重复定位点检测,若判断该重复定位点为历史定位点,则删除;

s103、对每一轨迹段集合中的轨迹点进行定位异常点检测,若判断为定位异常点,则删除该轨迹点,得到若干条完整的轨迹;

s104、对完整的轨迹进行简化压缩,得到压缩轨迹;

s105、存储压缩轨迹。

本发明的实施方式提供的面向轨迹挖掘的数据预处理方法,通过对提取出的轨迹点进行重复定位点以及定位异常点清除,保证了轨迹数据的正确性和完整性,提高了轨迹数据挖掘的准确度。

在具体实施时,步骤s101可以按以下方式实施:

从原始数据库的位置点数据集中提取出包含起点和终点的轨迹。在提取出轨迹点之后利用唯一编号对原始的位置点数据进行了归类提取。例如,提取某一车辆的轨迹,可以根据车牌号或其他车辆标识(也即唯一编号)在提取出的数据中找出该车辆的轨迹点并归为一类。再根据归类后的时间属性,将轨迹序列数据分成许多小块,每一块作为一个单独的轨迹能够得到独立的轨迹段集合。

在具体实施时,步骤s102可以按以下方式实施:

判断轨迹段集合中若干个重复定位点的时间与该轨迹段集合最新时间的差值是否超过预设的时间阈值;若判断结果为超过预设的时间阈值,则判断该轨迹点为历史定位点,将其删去。具体地:

根据轨迹点获取的连续性以及轨迹点的时间属性,维护一个当前的窗口,在窗口中检测是否有一样的数据,也即检测是否出现重复定位点。同时维护窗口的最新时间,检测重复定位点中的某一轨迹点与轨迹最新时间的关系的差值是否超前预设的时间阈值。若超过预设的时间阈值,则表明该轨迹点为的是历史定位点,将其删去;否则,该点为当前定位点,将其保留。

在具体实施时,步骤s103可以按以下方式实施:

综合轨迹段集合中若干个相邻轨迹点相互之间的平均速度,根据预设的规则,若判断为定位异常点,则删除该轨迹点。具体地:

每次判断3个轨迹点,通过计算某一轨迹点与前后点之间的平均速度来进行判断。例如,3个轨迹点中第1个点与第2个点之间的平均速度记为v1(v1=(point1,point2)/△t);同理,第2个点与第3个点之间的平均速度记为v2;第1个点与第3个点之间的平均速度记为v3。利用v1、v2、v3与预设的第一速度阈值v的大小关系来判断。

具体检测规则如下:

a)若v1<=v,v2<=v;

则保留第1个点。第2个点、第3个点、第4个点进行下一次比较;

b)若v1<=v,v2>v,且v3<=v,

则删除第2个点。第1个点、第3个点、第4个点进行下一次比较;

若v1<=v,v2>v,且v3>v,

则删除第3个点。第1个点、第2个点、第4个点进行下一次比较;

c)若v1>v,v2<=v,且v3<=v,

则删除第2个点。第1个点、第3个点、第4个点进行下一次比较;

若v1>v,v2<=v,且v3>v,

则保留第1个点。第2个点、第3个点、第4个点进行下一次比较;

d)若v1>v,v3>v,

则删除第1个点;第2个点、第3个点、第4个点进行下一次比较。

在具体实施时,步骤s104可以按以下方式实施:

基于以后需要对实时数据处理的考虑,可以采用基于openwindows的特征点检测算法对重复定位点以及定位异常点清除之后的轨迹进行简化处理。其基本思想为检测能够代表该轨迹基本形状的特征点,保留特征点,并将非特征点删除。

特征点的检测规则具体如下:

轨迹段中第一个点和最后一点默认作为特征点保留,从轨迹段第二个点开始,

a)判断其到第一、三点连成直线的距离,是否超过预设的距离阈值l。若大于l,则保留该轨迹点;否则进行下一步的判断;

b)判断其速度变化值是否超过预设的阈值△v。若大于△v,则保留该轨迹点;否则进行下一步判断(速度变化值△v=vpoint2–vpoint1。第一个点point1的瞬时速度vpoint1=(point1,point2)/△t,最后一个点的vpointn=(pointn-1,pointn)/△t,中间第i点vpointi=(pointi-1,pointi+1)/△t);

c)判断其角速度变化值是否超过阈值△d。若大于△d,则保留该轨迹点;否则进行下一步判断(第i(1<i<n)个点的角速度变化值:pointi,poniti+1组成的射线和pointi-1,pointi组成的射线构成的角度为此处的角速度变化值);

d)若该点均不满足上述条件,则该点非特征点,删除该点,对下一个点重复步骤a)至c)的判断;

根据上述规则,保留符合条件的特征点,将其他可以省略的位置点删除。使用上述方法可以在保留轨迹基本形状的情况下对轨迹数据点进行压缩,增加日后的挖掘效率。

本发明实施方式还提供了一种面向轨迹挖掘的数据预处理系统,如图2所示,具体包括:

轨迹提取模块,用于在原始数据库中提取离散的轨迹点,对轨迹点进行归类提取后形成若干个独立的轨迹段集合;

数据清洗模块,用于对每一轨迹段集合中的轨迹点进行重复定位点检测,若判断该重复定位点为历史定位点,则删除;

数据清洗模块,还用于对每一轨迹段集合中的轨迹点进行定位异常点检测,若判断为定位异常点,则删除该轨迹点,得到若干条完整的轨迹;

轨迹约简模块,用于对完整的轨迹进行简化压缩,得到压缩轨迹;

存储模块,用于存储压缩轨迹。

在具体实施时,数据清洗模块还用于判断轨迹段集合中若干个重复定位点的时间与该轨迹段集合最新时间的差值是否超过预设的时间阈值;若判断结果为超过预设的时间阈值,则判断该轨迹点为历史定位点,将其删去。

在具体实施时,数据清洗模块还用于综合轨迹段集合中若干个相邻轨迹点相互之间的平均速度,根据预设的规则,若判断为定位异常点,则删除该轨迹点。

在具体实施时,为了系统在运行的时候出现假死、重启等状况,提高执行系统的稳定性,本发明实施方式提供的面向轨迹挖掘的数据预处理系统还包括:

系统监控模块,用于对系统内存中的数据进行定期备份,还用于监控系统,对可预见的系统异常进行处理;

具体地,对执行上系统输出数据进行检测判断,若输出数据不正常,则意味着系统出现故障。在系统执行的过程中,对内存中的数据进行定期的备份,并且对系统进行实时监控。对一些可预见的普通异常进行错误处理,一旦出现系统假死的情况时,即在一段时间内系统没有处理任何的数据,此时会重新从最新备份处开始执行系统,同时对该情况进行日志记录。

在该部分对可预见的错误进行处理,使之不影响系统的正常运行,比如对数据库连接相关和数据库数据破损等错误进行处理。在不可预见的故障产生时,利用定期产生的恢复块,对系统数据进行故障恢复,使程序可以正常的运行,同时对系统的状态进行实时监控,保证了系统的稳定性。

此外,本发明实施方式提供的面向轨迹挖掘的数据预处理系统还包括:

故障处理模块,用于对系统数据进行备份,在系统出现故障时根据备份的数据对系统进行自动恢复。

在具体实施时,软件恢复模块可以有两种方式产生:第一种为循环记录,也即对系统数据进行周期性备份。循环记录指的是在应用软件的周期任务中,当完成正常的功能之后,将影响计算机输出的关机数据备份到ram或rom中,根据应用的需要,可以保留若干周期的数据,每个周期在记录本周期的数据时,可以将最前一周期的数据丢弃。第二种为紧急记录,指的是平时不进行循环记录,在发生故障时,进行临时紧急备份。恢复是数据主要包括标志、记录时刻、采样值、运行状态等。

通过设置上述应急恢复机制,可以在系统出现故障时有条不紊的进行修复,确保数据不遗失,不会因系统故障而遭到破坏,有效提高系统的稳定性,使其能够更好的进行轨迹挖掘。

对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

应当注意的是,在本发明的系统的各个部件中,根据其要实现的功能而对其中的部件进行了逻辑划分,但是,本发明不受限于此,可以根据需要对各个部件进行重新划分或者组合,例如,可以将一些部件组合为单个部件,或者可以将一些部件进一步分解为更多的子部件。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1