专利名称:障碍物环境中可视移动近邻的查询方法
技术领域:
本发明涉及空间数据 库中的索引和查询技术,特别是涉及一种障碍物环境中可 视移动近邻的查询方法。
背景技术:
空间数据库是存储和管理空间数据的数据库系统。为了快速、有效地访问海量 空间数据,专家学者提出了大量的空间索引方法,其中有R树索引、R*树索引、K-D-B 树索引、Hilbert曲线索引。在此基础上,更提出了各种各具特色的查询及其解决方案, 如近邻查询、K近邻查询、连续近邻查询、反向近邻查询、最远邻居查询、skyline查 询。随着移动通信技术以及GPS服务的高速发展,在人类生活中,移动数据以难以 预计的速度增长。如此多的应用促使人们寻找更有效的方法来处理移动对象,提高移动 对象的查询效率。目前移动对象主要通过基于线性函数的TPR树以及基于空间填充曲线 的Bx树这两类索引及其变种来处理。在移动对象的诸多查询中,近邻查询尤为重要。它是其他各种近邻查询的基 础。目前最简单、最流行的处理方式是以TPR树对移动对象进行索引,采用分支定界法 来寻找最近邻居。在现实世界,不可避免地存在许多障碍物,诸如建筑物、高地、森林,遮挡了 人的视线。由于这些障碍物的存在,原先找到的最近邻居在很大的概率上会被遮挡住, 这样找到的近邻在许多应用中并无多大意义,这就要求提供一种新的方法去寻找未被遮 挡的、可视的最近邻居。目前移动对象在无障碍物的环境中的近邻查询已有成熟的解决方法,同时静止 对象在有障碍物环境中的近邻查询也有不少解决方案。在同时考虑物体的移动性以及环 境中存在的大量遮挡物的情况下,并未有一种合适的方法来解决可视近邻查询。
发明内容
本发明的目的在于提供一种障碍物环境中可视移动近邻的查询方法。本发明解决其技术问题采用的技术方案的步骤如下步骤1)对静止的障碍物对象采用R树索引,对移动对象采用TPR树索引;步骤2)维护一个存放TPR树索引节点的采用度量的优先队列以及一个结果列 表,列表中存放了当前满足可视近邻条件的候选对象;步骤3)将TPR树的根节点放入优先队列,循环访问队列中度量最小的索引节 点,度量计算方法与步骤2)相同;步骤4)利用R树索引来判断TPR树索引节点的可视性;步骤5)将可视的索引节点中下面的每个子节点加入到优先队列里,忽略不可视 的索引节点;
步骤6)直到优先队列中不存在索引节点,结果列表中的对象就是得到的在障碍 物环境中移动对象的近邻。所述的步骤2)中的度量指的是在一段时间内优先队列中的索引节点跟查询点之 间的最小距离;该度量的计算,分两种情况考虑1)当索引节点是个移动对象的情况下,计算跟查询点之间在一段时间内的最小 距离;由于移动对象表示为关于时间的线性函数,根据数学原理,这两者之间的距离表 示为关于时间的二次函数,于是该度量则为这一个二次函数在这段时间内的最小值;2)当索引节点是TPR树上的中间索引节点时,由于其是个移动的四边形,综合 考虑各条边,得到该索引节点跟查询点的距离是个分段函数,并且在每个是基于时间的 二次函数,于是该度量是该分段函数在这段时间内的最小值。所述的步骤4)中可视性计算的步骤包括1)得到当前索引节点的方位以及速度信息;2)根据该索引节点在这段时间内扫过的范围,在R树索引中寻找相应有效的遮 挡体;3)根据这些有效的遮挡体,计算该TPR树索引节点的可视效果;4)这里的有效的遮挡体是指相对于查询点,能影响索引节点和移动对象的可视 效果的遮挡体。所述的步骤5)对于被判为不可视的索引节点,在其索引下的所有索引子节点, 肯定是不可视的,因此无需再访问下去;而对于被判为可视的索引节点,说明在其下的 索引子节点中存在可视的情况;这种情况下,需分两种情况考虑A)该节点是中间索引节点这种状况下对于其下的索引子节点分三步处理a)比较该索引子节点跟查询点之间距离同结果列表中的该时间段的候选对象跟 查询点之间的距离;获取前者距离较小的时间段,如若得不到,则说明该索引子节点在 这段时间内不可能是个近邻,也无需下面的步骤b);b)求取步骤4)得到的可视时间段以及上一步骤中得到的距离时间段的交集,在 该交集中,该索引子节点才有可能是查询点的可视近邻;c)计算在该交集下的该索引子节点跟查询点的最小距离,作为其度量,再将该 索引子节点添加到优先队列里;B)该索引节点是移动对象这种状况对于该节点的处理分三步a)比较该节点跟查询点之间距离同结果列表中的该时间段的候选对象跟查询点 之间的距离;获取前者距离较小的时间段,如若得不到,则说明该索引节点在这段时间 内不可能是个近邻,也无需下面的步骤b)。b)求取步骤4)得到的可视时间段以及上一步骤中得到的距离时间段的交集,在 该交集中,该索引节点才有可能是查询点的可视近邻。c)在前一步中得到的时间段交集中,该索引节点是当前的可视最近邻居,于是 更新结果列表中这段时间的候选近邻。所述的A)、B)中a)中比较索引节点跟查询点之间距离同结果列表中该时间段 的候选对象跟查询点之间的距离分为三步1)根据结果列表,确定各个分段时间及其对应的候选对象;
2)根据权利要求2中第二种情况下所述的方法,计算索引节点跟查询点在各个 分段的距离;3)求取索引节点跟查询点距离小于候选对象的时间段。所述的B)中的c)中得到的当前最近邻居的候选对象,将其更新到结果列表中; 这一更新分为四步1)根据结果列表,确定各个分段时间及其对应的候选对象;2)确定第二步中的b)得到的时间段交集;3)计算上面两步时间段的交集;4)以新的候选对象更新在得到的时间段交集下的结果列表。本发明具有的有益效果是本发明充分利用了空间数据库中现有索引技术、移动对象近邻查询技术以及在 有障碍环境下的研究和实现成果,提供了在障碍环境中查询某段时间内未被阻挡的移动 对象,使用者可根据应用需求选择最合适的查询时段,提供最好的性能。
图1是本发明实施步骤流程图。图2是移动对象在障碍物环境中查询未被遮挡的近邻的工作原理示意图。
具体实施例方式现结合附图和具体实施例对本发明的技术方案作进一步说明。1、如图1所示,本发明具体实施过程和工作原理如下步骤1)对空间数据进行索引,即对静止的障碍物采用R树索引,对移动对象采 用TPR树索引;步骤2)维护一个存放TPR树索引节点的采用度量的优先队列以及一个结果列 表,列表中存放了当前满足可视近邻条件的候选对象;步骤3)遍历移动对象索引,将TPR树的根节点放入优先队列,循环访问队列中 度量最小的节点;步骤4)利用R树索引判断遮挡效果,计算索引节点未被遮挡的时间;步骤5)计算可视索引节点的子节点跟查询点之间的距离,将其加入到优先队列 里,忽略不可视索引节点;步骤6)更新结果列表,直到优先队列中不存在索引节点,结果列表中的对象就 是得到的在障碍物环境中移动对象的近邻。本发明中需要处理的对象有静止的障碍物以及移动对象,如图2的索引模块所 示,根据各自的特性,在步骤1)中分别采用R树索引和TPR树索引对应于图2中的障碍 物索引和移动对象索引。步骤2)中的度量指的是在一段时间内优先队列中的索引节点跟查询点之间的 最小距离;该度量由图2中所示的距离计算比较器计算所得,其计算过程分两种情况考 虑1)当索引节点是个移动对象的情况下,计算跟查询点之间在一段时间内的最小距离;由于移动对象表示为关于时间的线性函数,根据数学原理,这两者之间的距离表 示为关于时间的二次函数,于是该度量则为这一个二次函数在这段时间内的最小值;2)当索引节点是TPR树上的中间索引节点时,由于其是个移动的四边形,综合 考虑各条边,得到该索引节点跟查询点的距离是个分段函数,并且在每个是基于时间的 二次函数,于是该度量是该分段函数在这段时间内的最小值。步骤3)将TPR树的根节点放入优先队列,遍历移动对象索引,循环访问队列中 度量最小的节点,其中的度量与步骤2)中所述的度量相同。接下来判断遮挡效果,计算索引节点未被遮挡的时间,由图2所示的遮挡计算 器计算获得,具体的可视性计算的步骤包括1)得到当前索引节点的方位以及速度信息;2)根据该索引节点在这段时间内扫过的范围,在R树索引中寻找相应有效的遮 挡体;3)根据这些有效的遮挡体,计算该TPR树索引节点的可视效果;4)这里的有效的遮挡体是指相对于查询点,能影响索引节点和移动对象的可视 效果的遮挡体。对于被判为不可视的索引节点,在其索引下的所有索引子节点,肯定是不可视 的,因此无需再访问下去;而对于被判为可视的索引节点,说明在其下的索引子节点中 存在可视的情况;这种情况下,需分两种情况考虑1)该节点是中间索引节点这种状况下对于其下的索引子节点分三步处理a)比较该索引子节点跟查询点之间距离同结果列表中的该时间段的候选对象跟 查询点之间的距离;获取前者距离较小的时间段,如若得不到,则说明该索引子节点在 这段时间内不可能是个近邻,也无需下面的步骤b);b)求取步骤4)得到的可视时间段以及上一步骤中得到的距离时间段的交集,在 该交集中,该索引子节点才有可能是查询点的可视近邻;c)计算在该交集下的该索引子节点跟查询点的最小距离,作为其度量,再将该 索引子节点添加到优先队列里;2)该索引节点是移动对象这种状况对于该节点的处理分三步a)比较该节点跟查询点之间距离同结果列表中的该时间段的候选对象跟查询点 之间的距离;获取前者距离较小的时间段,如若得不到,则说明该索引节点在这段时间 内不可能是个近邻,也无需下面的步骤b)。b)求取步骤4)得到的可视时间段以及上一步骤中得到的距离时间段的交集,在 该交集中,该索引节点才有可能是查询点的可视近邻。c)在前一步中得到的时间段交集中,该索引节点是当前的可视最近邻居,于是 更新结果列表中这段时间的候选近邻。在图2的距离计算比较器中比较索引节点跟查询点之间距离同结果列表中该时 间段的候选对象跟查询点之间的距离具体分为三步1)根据结果 列表,确定各个分段时间及其对应的候选对象;2)根据权利要求2中第二种情况下所述的方法,在距离计算比较器中计算索引 节点跟查询点在各个分段的距离;
3)求取索引节点跟查询点距离小于候选对象的时间段。对于得到的当前最近邻居的候选对象,将其更新到结果列表中,由图2的查询 处理器完成,更新方法具体分为四步1)根据结果列表,确定各个分段时间及其对应的候选对象;2)通过距离比较器,计算得到的时间段交集;3)计算上面两步得到的时间段的交集;4)以新的候选对象更新在得到的时间段交集下的结果列表。
权利要求
1.一种障碍物环境中可视移动近邻的查询方法,其特征在于其特征在于该方法的步 骤如下步骤1)对静止的障碍物对象采用R树索引,对移动对象采用TPR树索引;步骤2)维护一个存放TPR树索引节点的采用度量的优先队列以及一个结果列表,列 表中存放了当前满足可视近邻条件的候选对象;步骤3)将TPR树的根节点放入优先队列,循环访问队列中度量最小的索引节点,度 量计算方法与步骤2)相同;步骤4)利用R树索引来判断TPR树索引节点的可视性;步骤5)将可视的索引节点中下面的每个子节点加入到优先队列里,忽略不可视的索 引节点;步骤6)直到优先队列中不存在索引节点,结果列表中的对象就是得到的在障碍物环 境中移动对象的近邻。
2.根据权利要求1所述的一种障碍物环境中可视移动近邻的查询方法,其特征在于 所述的步骤2)中的度量指的是在一段时间内优先队列中的索引节点跟查询点之间的最小 距离;该度量的计算,分两种情况考虑1)当索引节点是个移动对象的情况下,计算跟查询点之间在一段时间内的最小距 离;由于移动对象表示为关于时间的线性函数,根据数学原理,这两者之间的距离表示 为关于时间的二次函数,于是该度量则为这一个二次函数在这段时间内的最小值;2)当索引节点是TPR树上的中间索引节点时,由于其是个移动的四边形,综合考虑 各条边,得到该索引节点跟查询点的距离是个分段函数,并且在每个是基于时间的二次 函数,于是该度量是该分段函数在这段时间内的最小值。
3.根据权利要求1所述的一种障碍物环境中可视移动近邻的查询方法,其特征在于 所述的步骤4)中可视性计算的步骤包括1)得到当前索引节点的方位以及速度信息;2)根据该索引节点在这段时间内扫过的范围,在R树索引中寻找相应有效的遮挡体;3)根据这些有效的遮挡体,计算该TPR树索引节点的可视效果;4)这里的有效的遮挡体是指相对于查询点,能影响索引节点和移动对象的可视效果 的遮挡体。
4.根据权利要求1所述的一种障碍物环境中可视移动近邻的查询方法,其特征在于 所述的步骤5)对于被判为不可视的索引节点,在其索引下的所有索引子节点,肯定是不 可视的,因此无需再访问下去;而对于被判为可视的索引节点,说明在其下的索引子节 点中存在可视的情况;这种情况下,需分两种情况考虑1)该节点是中间索引节点这种状况下对于其下的索引子节点分三步处理a)比较该索引子节点跟查询点之间距离同结果列表中的该时间段的候选对象跟查询 点之间的距离;获取前者距离较小的时间段,如若得不到,则说明该索引子节点在这段 时间内不可能是个近邻,也无需下面的步骤b);b)求取步骤4)得到的可视时间段以及上一步骤中得到的距离时间段的交集,在该交 集中,该索引子节点才有可能是查询点的可视近邻;C)计算在该交集下的该索引子节点跟查询点的最小距离,作为其度量,再将该索引 子节点添加到优先队列里;2)该索引节点是移动对象这种状况对于该节点的处理分三步a)比较该节点跟查询点之间距离同结果列表中的该时间段的候选对象跟查询点之间 的距离;获取前者距离较小的时间段,如若得不到,则说明该索引节点在这段时间内不 可能是个近邻,也无需下面的步骤b)。b)求取步骤4)得到的可视时间段以及上一步骤中得到的距离时间段的交集,在该交 集中,该索引节点才有可能是查询点的可视近邻。c)在前一步中得到的时间段交集中,该索引节点是当前的可视最近邻居,于是更新 结果列表中这段时间的候选近邻。
5.根据权利要求4所述的一种障碍物环境中可视移动近邻的查询方法,其特征在于 所述的两个步骤1)、2)中a)中比较索引节点跟查询点之间距离同结果列表中该时间段的 候选对象跟查询点之间的距离分为三步1)根据结果列表,确定各个分段时间及其对应的候选对象;2)根据权利要求2中第二种情况下所述的方法,计算索引节点跟查询点在各个分段 的距离;3)求取索引节点跟查询点距离小于候选对象的时间段。
6.根据权利要求4所述的一种障碍物环境中可视移动近邻的查询方法,其特征在于 所述的在第二步骤中的C)中得到的当前最近邻居的候选对象,将其更新到结果列表中; 这一更新分为四步1)根据结果列表,确定各个分段时间及其对应的候选对象;2)确定第二步中的b)得到的时间段交集;3)计算上面两步时间段的交集;4)以新的候选对象更新在得到的时间段交集下的结果列表。
全文摘要
本发明公开了一种障碍物环境中可视移动近邻的查询方法。利用空间数据库中移动对象的近邻查询技术,在存在障碍物的环境中,将现有分支定界方法运用到未被遮挡的近邻的查询之中。在空间数据中,对障碍物运用R树索引,对于移动对象,采用TPR树索引,利用分支定界法遍历索引,同时结合移动对象的遮挡时间计算来实现查询。利用了空间数据库中现有索引技术、移动对象近邻查询技术以及在有障碍环境下的研究和实现成果,提供了在障碍环境中查询某段时间内未被阻挡的移动对象,使用者可根据应用需求选择最合适的查询时段,提供最好的性能。
文档编号G06F17/30GK102012908SQ20101054543
公开日2011年4月13日 申请日期2010年11月12日 优先权日2010年11月12日
发明者寿黎但, 庞贵锋, 胡天磊, 陈刚, 陈珂 申请人:浙江大学