一种基于Voronoi图的反k最近邻查询方法技术

技术编号:8563034 阅读:150 留言:0更新日期:2013-04-11 04:42
本发明专利技术公开一种基于Voronoi图的反k最近邻查询方法,属于空间数据查询技术领域。包括下述步骤:步骤1:根据查询站点集,生成相应的m阶Voronoi图;步骤2:导入查询对象数据集;步骤3:输入k值和查询点q的坐标,得到RkNN查询结果;步骤4:结束。本发明专利技术实现变化频繁的数据集下的双色RkNN查询,即在某一m阶Voronoi图上可以查询出R(k-1)NN、RkNN、R(k+1)NN的结果。本发明专利技术减少了预计算量,并且查询效率与现有方法相比有较大提高,而且随着查询对象集数量的增大,这种优势也越明显,增强了Voronoi图的应用性。

【技术实现步骤摘要】

本专利技术属于空间数据查询
,特别涉及一种基于VOTonoi图的反k最近邻查询方法。
技术介绍
空间数据库中移动对象查询技术可以应用于城市交通、航空航天、通讯网络等存在移动对象的网络中,它可以根据大量的时空数据来挖掘信息从而提供给客户相关咨询。典型的空间查询是最近邻(nearest neighbors, NN)查询和k最近邻(k nearestneighbors, kNN)查询。例如旅客会问哪家酒店距离车站最近;司机会查询最近的2个加油站在什么地方。反k最近邻(reverse k nearest neighbors, RkNN)查询是kNN查询的变种,其回答谁把查询对象看成最近邻居,如某个城市的一系列连锁店可能要给客户发布一些广告,每个连锁店发广告的客户群是不同的,这些客户的范围可以定义成为受到某个连锁店影响的客户群,用RkNN查询就可以确定这些群体;还有在移动数据库系统中各个移动对象倾向于在最近或者反向对进的对象中共享一些信息等等。此外,在游戏领域,空间数据库查询技术也有一定的发展前景,比如由美国的Blizzard公司开发的大型网络游戏Worldof Warcraft中,游戏玩家在地图侦测中发现敌人或寻找建筑物等操作就是kNN和RNN的体现。RkNN查询则是kNN查询的补充和发展,按数据集的不同分为单色RkNN查询和双色RkNN (BRkNN)查询。F. korn和S. Muthukrishnan提出了 RNN查询的概念,并给出了求解RNN的查询方法。使用了两个R树来进行查询、插入、删除操作。Yang和Lin改进了以上的方法,引入了 Rdnn树,使得用单一树进行RNN查询和NN查询成为可能。Stanoi提出了一种方法SAE,该方法是没有在预测的情况下进行计算,SAE将查询点的周边范围划分成6个大小相同的扇区。SAE首先在各自的扇区内找到RNN的候选对象;其次,对于每个候选对象完成了一个独立的NN查询来判断这个候选对象是不是最后的结果。Maheshwari等人提出了主存数据结构的RNN查询。对于每个点其结构维持着其到最近邻的距离。Stanoi的方法在高维空间中,随着维数的增加,RNN的候选值呈现指数增长。效率大幅降低。为了解决这个问题,Singh等人提出了通过执行常规的kNN查询找出RkNN候选值。但该方法的缺点在于不是总能找到所有的RkNN点。Tao的方法与Stanoi相似,称为TPL。TPL分成两个阶段——筛选和精炼,给定一个查询点q,方法递归回到q点未划分的空间,直到没有候选对象剩下。在过滤的步骤时,去除了一些确定为错误结果的候选对象。在基于Voronoi图的RNN查询方面,李松、郝忠孝提出的在欧几里德平面内的Voronoi图中使用Range-k验证法来查找结果。即以点集中一点为中心,点到查询点的距离为半径生成一个判断圆来以此找出RNN。该方法只适用于对单色RkNN的查询,在双色RkNN查询时存在大量不必要的I/O操作。Maytham Safar则提出了网络Voronoi图的空间中进行RNN查询。方法适用于交通网络等方面,在查询对象频繁更换时效率很低。Voronoi图是同给定的客体离散集(如点集)的距离确定的空间分解,特别是点集p={pl, p2,…,pn}的Voronoi图被定义为cell集。这里姆个cell, V(pi)是ー个空间区域,由距离Pi比距离P中其他点更近的全部空间数据点组成。Voronoi图可以推广到m阶Voronoi图(MVD)。在MVD中每个区域中的查询对象依据BRkNN的定义可知,就是当前区域的生成元的RkNN值。如图1所示,查找站点3的R3NN值首先定位那些生成元所含站点3的¥01'01101区域,有¥(1,3,5)、¥(1,3,4)、V(l,3, 6)、V(1,2,3)四个。因此,这四个Voronoi区域内所包含的查询对象都是站点3的R3NN查询結果。但是,现有的使用MVD执行BRkNN查询方法具有明显的缺点 (I)高代价的预计算。MVD需要预计算所有的MVD的cell和与cell相关的所有信息如生成元、Voronoi边、Voronoi顶点等。(2)不支持动态改变的k值。MVD仅能适应带有明确k值的RkNN查询,MVD适应k值不大于图的阶数的RkNN查询。因此,这个技术不适用于预先不知道k值或可能动态改变k值的情形。(3)效率低下的更新操作。对于每个插入或删除操作,cell不得不重新计算。
技术实现思路
本专利技术针对上述问题及缺点,为了能够实现在单张m阶Voronoi图上查询多个k值的BRkNN结果,提供了,来实现变化频繁的数据集下的双色RkNN查询,即在某一 m阶Voronoi图上可以查询出R(k_l)NN、RkNN, R(k+1)NN的結果。本专利技术的目的是通过以下技术方案实现的一种基于VOTonoi图的反k最近邻查询方法,是采用过滤-提炼的框架模型。在过滤阶段,按k值调用所需要的m阶Voronoi图,并以查询站点为依据在m阶Voronoi图上确定由哪些Voronoi多边形组成查询范围,然后将查询范围内的所有查询对象定为候选集。在提炼阶段,以k值为标准,如果k值与调用的m阶Voronoi图的阶数相同,那么候选集中所有的查询对象即为結果;如果不同,那么先将所有候选集中相同的查询对象筛选出来确定为结果,然后使用Range-k验证方法验证余下的候选对象,从而得到最終的查询結果,具体包括下述步骤 步骤1:根据查询站点集,生成相应的111阶Voronoi图,方法为现有的m阶Voronoi图生成方法; 步骤2 :导入查询对象数据集,方法为对数据文件进行读取,并显示数据; 步骤3 :输入k值和查询点q的坐标,得到RkNN查询结果;其中 当k = m时,所有包含站点q的多边形内的查询对象即为結果, 当k〈m时,那么查检所有包含站点q的多边形内的查询对象,如果查询对象的位置在包含站点q的k-3阶Voronoi多边形内(当k=3时,检查q的ー阶Voronoi多边形),那么即为结果;如果不在,那么以Range-k验证法确定结果。即以查询对象为圆心,到站点q的距离为半径做圆,如果圆内及圆上所包含的站点数-k那么即为结果,反之则不是, 当k>m时,所有包含站点q的Voronoi多边形内的查询对象即为结果;并且分别检查这些多边形的邻接多边形内的查询对象,以查询对象为圆心,到站点q的距离为半径做圆,如果圆内及圆上所包含的站点数ごk+1,那么即为结果,反之则不是; 步骤4 :结束。步骤3所述的根据步骤I生成的m阶Voronoi图能够查询出R(k_l)NN、RkNN>R(k+1)NN的结果。本专利技术与现有技术相比具有下列优点效果实现了在单张m阶VOTonoi图上查询多个k值的BRkNN结果。根据Voronoi图的性质可知R(k_l)NN是RkNN的一个子集,那么同理可以推出R(k-2)NN、R(k-3) NN等也是RkNN的子集,而RkNN同样是R(k+1)NN、R(k+2)NN等的子集。那么性质也同样可以延伸开来,在一张m阶Voronoi图上查询出R(k+2)NN或者R(k-3)NN等的结果。但要指出的是,只有当k值与Voronoi的阶数相同时,才能直接得到结本文档来自技高网
...

【技术保护点】
一种基于Voronoi图的反k最近邻查询方法,其特征在于:包括下述步骤:步骤1:根据查询站点集,生成相应的m阶Voronoi图,方法为:现有的m阶?Voronoi图生成方法;步骤2:导入查询对象数据集,方法为:对数据文件进行读取,并显示数据;步骤3:输入k值和查询点q的坐标,得到RkNN查询结果;其中:当k=m时,所有包含站点q的多边形内的查询对象即为结果,当km时,所有包含站点q的Voronoi多边形内的查询对象即为结果;并且分别检查这些多边形的邻接多边形内的查询对象,以查询对象为圆心,到站点q的距离为半径做圆,如果圆内及圆上所包含的站点数k+1,那么即为结果,反之则不是;步骤4:结束。dest_path_image002.jpg,330105dest_path_image002.jpg

【技术特征摘要】
1.一种基于VOTonoi图的反k最近邻查询方法,其特征在于包括下述步骤 步骤1:根据查询站点集,生成相应的m MVoronoi图,方法为现有的m阶Voronoi图生成方法; 步骤2 :导入查询对象数据集,方法为对数据文件进行读取,并显示数据; 步骤3 :输入k值和查询点q的坐标,得到RkNN查询结果;其中 当k = m时,所有包含站点q的多边形内的查询对象即为结果, 当k〈m时,那么查检所有包含站点q的多边形内的查询对象,如果查询对象的位置在包含站点q的k-3阶Voronoi多边形内(当k=3时,检查q的一阶Voronoi多边形),那么即为结果;如果不在,那么以Ran...

【专利技术属性】
技术研发人员:宋晓宇孙焕良许景科王永会赵明
申请(专利权)人:沈阳建筑大学
类型:发明
国别省市:

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

1