当前位置: 首页 > 专利查询>武汉大学专利>正文

一种基于区域的时空轨迹数据存储方法技术

技术编号:7700365 阅读:351 留言:0更新日期:2012-08-23 05:25
本发明专利技术提出一种基于区域的时空轨迹数据存储方法,通过网格区域的存储,将距离较近的点存储在同一个网格区域内,压缩了轨迹的存储空间。本发明专利技术还将网格区域的索引存储在轨迹中,提供轨迹的快速检索方式,搜索相似轨迹时,不用与数据库中的所有轨迹匹配,而只需要计算该轨迹与其通过的网格区域中的轨迹的相似度即可,提供了查找匹配效率。

【技术实现步骤摘要】

本专利技术涉及数据库和数据挖掘
,尤其涉及时空数据的存储技术,具体的说是对如何存储具有时间和空间属性的轨迹数据的技术。
技术介绍
随着GPS等定位技术和视频监控技术的发展,大量的活动对象的轨迹数据被收集和存储。基于轨迹分析的许多应用开始慢慢出现。例如通过挖掘动物的轨迹来发现动物的迁徙模式;通过挖掘城市中行人的轨迹来判断是否需要增加新的公共交通路线以及如何规划交通路线;另外一种有趣的应用是居民通过查找和自己轨迹最相似的人来看是否能够一起拼车上班。目前,这些轨迹数据是以具有时间信息的位置点序列存储。这种存储方式浪费了 大量的存储空间,而且在计算一条轨迹和另一条轨迹的相似度时需要每个点去计算其距离。在输入一条轨迹,在数据库中寻找与其相似的轨迹时,需要计算该轨迹与数据库中每一条轨迹的距离,效率底下。
技术实现思路
本专利技术的目的是为了解决现有时空轨迹数据存储方式难以检索的问题,而提出。为达到上述目的,本专利技术采用的技术方案为,包括以下步骤 步骤1,读取时空轨迹,设缓存网络区域为空;一条时空轨迹包括多个轨迹点,每个轨迹点由三维坐标(X, y, t)表示,其中X表示X轴值,y表示y轴值,t表示轨迹点经过坐标(X, y)时的时间点; 步骤2,按时间顺序读取时空轨迹中的一个轨迹点,记为当前轨迹点; 步骤3,根据当前轨迹点的坐标(X, y ),计算当前轨迹点对应的网格区域的坐标,确定当前轨迹点对应的网格区域; 步骤4,判断当前的缓存网络区域是否为空,不为空则往下执行步骤5,为空则将步骤3所得当前轨迹点对应的网格区域设为缓存网络区域,将当前轨迹点的时间点加入当前的缓存网格区域的时间段,然后返回执行步骤2,对下一个轨迹点进行处理; 步骤5,将步骤3所得当前轨迹点对应的网格区域,和当前的缓存网格区域进行比较,若坐标相同,则将当前轨迹点的时间点加入当前的缓存网格区域的时间段,执行步骤6;若位置不同,则存储当前的缓存网格区域进数据库中,然后将步骤3所得当前轨迹点对应的网格区域替换为缓存网格区域,执行步骤6 ; 步骤6,判断当前轨迹点是否是时空轨迹中的最后一个轨迹点,是则执行步骤7,不是则返回执行步骤2,对下一个轨迹点进行处理; 步骤7,存储当前的缓存网格区域进数据库中,结束循环。而且,数据库中建立网格表示的轨迹存储单元和网格区域存储单元, 所述网格表示的轨迹存储单元中,时空轨迹的网格序列采用链表方式按时间顺序存储每个时空轨迹在各时间段依次经过的网格区域; 所述网格区域存储单元中,网格区域不提前生成,仅在该网格区域有时空轨迹经过时生成,并且同一网格区域仅生成一次;网格区域采用树状结构存储,经过网格区域的时空轨迹亦采用树状结构存储;轨迹存储单元和网格区域存储单元的网络区域通过索引相连; 存储当前的缓存网格区域进数据库包括以下子步骤, 步骤1,取当前的缓存网格区域,在数据库的网格区域存储单元中查找是否已存有同样坐标的网格区域; 步骤2,没有找到则在网格区域存储单元中生成新的网格区域,并用缓存网格区域替换新的网格区域来完成初始化,进入步骤3,找到则直接往下执行步骤3 ; 步骤3,判断网格区域存储单元是否已经存在缓存网格区域对应的轨迹ID叶节点,存在则直接将缓存网格区域的时间段作为一个节点添加到网格区域存储单元对应的轨迹ID叶节点下的时间段链表尾部;不存在则将缓存网格区域对应的时空轨迹的轨迹ID存储进网格区域存储单元中,作为相应网格区域的叶节点,并将缓存网格区域的时间段作为一个节点添加到轨迹ID下面的时间段链表尾部; 步骤4,根据缓存网格区域对应的时空轨迹的轨迹ID,将网格区域的ID存储进轨迹存储单元中与轨迹ID对应的表项中,形成索引。本专利技术通过区域的存储,将距离较近的点存储在同一个区域内,压缩了轨迹的存储空间。本专利技术还将区域的索引存储在轨迹中,提供轨迹的快速检索方式,搜索相似轨迹时,不用与数据库中的所有轨迹匹配,而只需要计算该轨迹与其通过的区域中的轨迹的相似度即可。采用本专利技术的技术方案,可以将复杂的轨迹转化为简单高效的树形结构及链式存储结构,在保证存储时空轨迹特征数据的同时,提高查找匹配的效率。附图说明图I是本专利技术的时空轨迹网格划分示意图。图2是本专利技术实施例的基于区域时空轨迹数据存储结构示意图。图3是本专利技术实施例的基于区域时空轨迹存储流程图。图4是本专利技术实施例的存储缓存网格区域进数据库流程图。具体实施例方式 本专利技术的基本思想是提出一种基于区域的时空轨迹数据存储系统来解决现有时空轨迹数据存储方式难以检索的问题。一条时空轨迹包括多个轨迹点,每个轨迹点由三维坐标(X, y, t)表示,其中X表示X轴值,y表示y轴值,t表示点经过坐标(x, y)时的时间点(time)。如图I所示,时空轨迹由轨迹点t0、tl、t2、t3、t4、t5、t6、t7构成,其中t0、t3、t4的坐标(x, y)都在区域RO内,tl的坐标(x, y)都在区域Rl内,t2、t5的坐标(x, y)都在区域R2内,t6、t7的坐标(x,y)都在区域R3内。以下结合附图和实施例详细说明本专利技术技术方案。为了避免多次读取数据库,提高效率。实施例设置了缓存网格区域,作为一个临时的网格区域,保存着该网格区域的坐标和已知处于该网络区域的轨迹点的时间信息。假设几个连续的轨迹点都在一个区域,这样先修改缓存网格区域,连续保持这几个轨迹点的信息,等遇到不在一个区域的轨迹点时,再一起存进数据库。参见图3,实施例的存储过程包括以下步骤 步骤1,读取时空轨迹,设缓存网络区域为空;一条时空轨迹包括多个轨迹点,每个轨迹点由三维坐标(X, y , t)表示,其中X表示X轴值,y表示y轴值,t表示轨迹点经过坐标(X, y)时的时间点; 步骤2,按时间顺序读取时空轨迹中的一个轨迹点,记为当前轨迹点; 步骤3,根据当前轨迹点的坐标(X, y ),计算当前轨迹点对应的网格区域的坐标,确定当前轨迹点对应的网格区域; 步骤4,判断当前的缓存网络区域是否为空,不为空则往下执行步骤5,为空则将步骤3所得当前轨迹点对应的网格区域设为缓存网络区域,将当前轨迹点的时间点加入当前的缓存网格区域的时间段(此时时间段只有当前轨迹点的时间点),然后返回执行步骤2,对下一个轨迹点进行处理; 步骤5,将步骤3所得当前轨迹点对应的网格区域,和当前的缓存网格区域进行比较,若坐标相同,则将当前轨迹点的时间点加入当前的缓存网格区域的时间段,执行步骤6;若位置不同,则存储当前的缓存网格区域进数据库中,然后将步骤3所得当前轨迹点对应的网格区域替换为缓存网格区域,执行步骤6 ; 步骤6,判断当前轨迹点是否是时空轨迹中的最后一个轨迹点,是则执行步骤7,不是则返回执行步骤2,对下一个轨迹点进行处理; 步骤7,存储当前的缓存网格区域进数据库中,结束循环。为了便于检索已存储的时空轨迹数据起见,本专利技术进一步设计了数据库存储方案数据库中建立网格表示的轨迹存储单元和网格区域存储单元,轨迹存储单元和网格区域存储单元通过索引相连。网格表示的轨迹存储单元中,时空轨迹的网格序列可采用链表方式按时间顺序存储每个时空轨迹在各时间段依次经过的网格区域。网格区域存储单元可采用如下方式存储轨迹的网格序列 1)网格区域采用树状结构存储本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于区域的时空轨迹数据存储方法,其特征在于,包括以下步骤 步骤1,读取时空轨迹,设缓存网络区域为空;一条时空轨迹包括多个轨迹点,每个轨迹点由三维坐标(X, y, t)表示,其中X表示X轴值,y表示y轴值,t表示轨迹点经过坐标(X, y)时的时间点; 步骤2,按时间顺序读取时空轨迹中的一个轨迹点,记为当前轨迹点; 步骤3,根据当前轨迹点的坐标(X, y ),计算当前轨迹点对应的网格区域的坐标,确定当前轨迹点对应的网格区域; 步骤4,判断当前的缓存网络区域是否为空,不为空则往下执行步骤5,为空则将步骤3所得当前轨迹点对应的网格区域设为缓存网络区域,将当前轨迹点的时间点加入当前的缓存网格区域的时间段,然后返回执行步骤2,对下一个轨迹点进行处理; 步骤5,将步骤3所得当前轨迹点对应的网格区域,和当前的缓存网格区域进行比较,若坐标相同,则将当前轨迹点的时间点加入当前的缓存网格区域的时间段,执行步骤6 ;若位置不同,则存储当前的缓存网格区域进数据库中,然后将步骤3所得当前轨迹点对应的网格区域替换为缓存网格区域,执行步骤6 ; 步骤6,判断当前轨迹点是否是时空轨迹中的最后一个轨迹点,是则执行步骤7,不是则返回执行步骤2,对下一个轨迹点进行处理; 步骤7,存储当前的缓存网格区域进数据库中,结束循环。2.根据权利要求I所述基于区域的时空轨迹数据存储方法,其特征...

【专利技术属性】
技术研发人员:胡瑞敏王亦民黄文华陈军冷清明
申请(专利权)人:武汉大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1