一种基于二级时空索引的轨迹伴随关系挖掘方法和系统

文档序号:34661102发布日期:2023-07-05 06:06阅读:21来源:国知局
一种基于二级时空索引的轨迹伴随关系挖掘方法和系统

本发明涉及时空数据的相似伴随对高效查询应用领域,具体涉及一种基于二级时空索引的轨迹伴随关系挖掘方法和系统。


背景技术:

1、海量的空间轨迹数据集中包含了各种移动物体的移动性,最近的技术大都使用fréchet距离计算方法或者最长公共子序列计算方法与lsh方法结合,lsh方法对轨迹进行粗分类对轨迹进行聚类,但是利用lsh将轨迹分割为若干个轨迹片段时,存在轨迹信息丢失的问题导致伴随轨迹查询的准确率降低;还有一些方法利用单个轨迹位置点对轨迹聚类的索引结构,但是这类方法在构建轨迹的索引结构时没有考虑到轨迹在时间上的相似度,且fréchet距离计算方法在计算时也不考虑轨迹在时间上的相似度,得到的相似轨迹与查询轨迹的轨迹产生时间不同。最长公共子序列求轨迹相似度虽然没有丢弃时间的限制,但其计算时间复杂度是平方级别的,当面对海量数据的长轨迹时效率低下,导致相似伴随对的计算效率低下,不适用于对查询效率要求较高的应用场景。


技术实现思路

1、针对现有技术的缺陷,本发明提出了一种基于二级时空索引的轨迹伴随关系挖掘方法和系统,尽可能高效的挖掘出具有伴随关系的轨迹对,对时效性要求较高的场景时,能够快速完成任务的朔源。

2、一种基于二级时空索引的轨迹伴随关系挖掘方法,包括以下步骤:

3、获取轨迹数据,对轨迹数据预处理,得到具有伴随查询意义的子轨迹;

4、将具有伴随查询意义的子轨迹模糊化,得到使查询结果更准确的子轨迹;

5、将模糊化后的子轨迹在时间和空间上进行轨迹聚类,得到聚类完成的索引结构;

6、将聚类完成的索引结构的索引项进行合并,得到轨迹之间的完整伴随结果。

7、进一步的,对轨迹数据预处理,得到具有伴随查询意义的子轨迹,包括以下过程:从给定的数据文件中读取轨迹数据,将轨迹数据进行压缩保存在内存数组中并将轨迹数据划分为长度相同的子轨迹,对无移动特征的子轨迹进行过滤,得到具有伴随查询意义的子轨迹。

8、进一步的,对轨迹数据预处理,得到具有伴随查询意义的子轨迹,包括以下过程:

9、s11:对于用户,由时间time、经度lon、纬度lat三维表示的位置点按时间信息排序组成的轨迹数据,使用空间索引方法对轨迹数据在内存中的存储方式进行压缩为一维表示pos_id,得到按时间信息先后排序的轨迹向量;

10、s12:对于步骤s11得到的轨迹向量,为每个用户初始化一个长度相同的数组保存轨迹数据信息;

11、s13:针对长度相同的数组,利用双指针的方法,设定左右指针之间的距离l,左指针的初始位置从数组的第一个下标0开始,右指针的初始位置为0+l,截取数组左右指针中间的轨迹数组[0,0+l)构成一条子轨迹,且左右指针同时向右移动一个位置点,直至截取完所有的子轨迹;

12、s14:对截取的所有的子轨迹中进行数据分析,监控子轨迹中的轨迹位置点变化次数以及矢量移动距离,若不满足设定的要求,则判断子轨迹移动异常,不满足真实的移动信息,对移动异常的子轨迹进行抛弃,防止产生错误的伴随结果。

13、进一步的,判断子轨迹移动异常方法为:对于由轨迹位置点按时间信息先后组成的子轨迹,统计子轨迹中的位置点pos_id的变化次数以及矢量移动距离,对于在同一个区域一直未移动轨迹或者由于位置采集装置发生位置漂移导致空间信息在多个区域中来回跳动导致的假移动轨迹,判断为子轨迹移动异常,若子轨迹中的轨迹位置点在满足变化次数的要求,矢量移动距离不满足设定的长度时,判断子轨迹移动异常。

14、进一步的,将具有伴随查询意义的子轨迹模糊化,得到使查询结果更准确的子轨迹,包括以下步骤:

15、对于每一条具有伴随查询意义的子轨迹,对除去开始和结束位置点外的所有位置点,均匀的对子轨迹中剩下的l-2个轨迹位置点进行抽样模糊,设定每次抽样的轨迹位置点的个数为o,对于每次抽样的o个位置点,将抽取到的位置点置换为通配符,每条子轨迹衍生出条子轨迹obssubtra;其中,l为具有伴随查询意义的子轨迹的长度。

16、进一步的,将模糊化后的子轨迹在时间和空间上进行轨迹聚类,得到聚类完成的索引结构,包括以下过程:

17、在时间上对使查询结果更准确的子轨迹进行聚类,将在时间上有伴随关系的轨迹聚类到同一个索引项,得到第一层时间索引结构;然后将在空间上具有伴随关系的子轨迹聚类在同一个第二层空间索引结构的索引项上,得到聚类所有轨迹的索引结构。

18、进一步的,将模糊化后的子轨迹在时间和空间上进行轨迹聚类,得到聚类完成的索引结构,具体包括以下过程:

19、s31:将一天的时间划分为若干个时间覆盖范围大小相同的时间槽,当时间槽宽度为slot时,一天划分为24/slot个时间槽,利用具有伴随查询意义的子轨迹和使查询结果更准确的子轨迹的第一个位置点的时间信息starttime进行第一层聚类,将具有伴随查询意义的子轨迹和使查询结果更准确的子轨迹映射到第starttime/slot个时间槽中,得到第一层时间索引结构;

20、s32:对于第一层时间索引结构中同一个时间槽中的所有子轨迹,计算子轨迹的空间信息的哈希值并利用哈希值在空间上进行聚类,得到第二层空间索引结构;

21、s33:对步骤s32中所有第二层空间索引结构的索引项进行遍历,对于每条子轨迹subtra,对子轨迹中的轨迹位置点进行模糊化后,得到衍生出来的子轨迹;将每一条子轨迹衍生出来的子轨迹在第二层空间索引结构中索引项中的轨迹id合并到子轨迹subtra所在的第二层空间索引结构的索引项中,并且在合并时,将衍生出来的子轨迹所在第二层轨迹索引结构的索引项中的轨迹id添加一个标识id_o;对于合并后索引项中轨迹id数量小于2的索引项进行删除,得到聚类完成的索引结构;

22、哈希值计算公式为:

23、

24、其中n为subtra的长度,s[i]为subtra的第i个字符的ascii码。

25、进一步的,将模糊化后的子轨迹在时间和空间上进行轨迹聚类,得到聚类完成的索引结构,包括以下步骤:

26、s41:每一个第二层空间索引结构的索引项中保存了一个轨迹id的集合,对集合中带有标记的轨迹id和不带有标记的轨迹id之间、两个不带有标记的轨迹id之间抽取,得到具有伴随关系的轨迹对;

27、s42:对于具有伴随关系的轨迹对,将具有伴随关系的轨迹对都保存在前缀树中,得到聚类完成的索引结构。

28、进一步的,将具有伴随关系的轨迹对保存到前缀树的方法为:利用具有伴随关系的轨迹对id在前缀树中查询该轨迹对是否已经有伴随信息,判断已有的伴随信息与当前要保存的具有伴随关系的轨迹对中的伴随信息是否有重复部分,若没有重复部分,将具有伴随关系的轨迹对保存;若有重复部分则进行合并,得到聚类完成的索引结构。

29、一种基于二级时空索引的轨迹伴随关系挖掘系统,包括:

30、子轨迹模糊模块,用于将具有伴随查询意义的子轨迹模糊化,得到使查询结果更准确的子轨迹;

31、轨迹聚类模块,用于将模糊化后的子轨迹在时间和空间上进行轨迹聚类,得到聚类完成的索引结构;

32、轨迹合并模块,用于将聚类完成的索引结构的索引项进行合并,得到轨迹之间的完整伴随结果。

33、与现有技术相比,本发明具有的有益效果:

34、本发明中通过将模糊化后的子轨迹在时间和空间上进行轨迹聚类,得到聚类完成的索引结构,使得索引结构能够直接得到伴随轨迹对,避免了轨迹对之间的相似性计算,大大提高了伴随轨迹查询效率。

35、进一步的,同时对于索引结构得到的伴随结果,本发明观察到轨迹id为手机号,结合手机号的特征使用前缀树数据结构对伴随结果进行保存,对数中节点进行重复利用,不仅降低了伴随结果的内存消耗,且由于前缀树的查询时间复杂度为o(n),n为前缀树的深度,本发明中前缀树深度为6,使得伴随结果的查询高效且稳定。

36、进一步的,本发明在时间和空间上构建二层轨迹索引结构对轨迹进行更加细粒度的聚类,本发明基于双指针方法截取的子轨迹解决了已有方法在构建索引结构时存在轨迹信息丢失的问题,使用子轨迹模糊化方法,

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