【技术实现步骤摘要】
路网上的弹性聚合最近邻查询G-max方法
本专利技术属于计算机领域,具体涉及空间数据库的查询方法,尤其涉及一种路网上的弹性聚合最近邻查询G-max(G树-最大值)方法。
技术介绍
聚合最近邻查询(Aggregatenearestneighbor,以下简称ANN)是空间数据库中的经典查询,有广阔的应用场景,比如基于位置服务等。给定一组查询点集合Q,ANN在数据点集合V中寻找一个点,使得该点到Q中所有点的聚合距离最小。这个聚合函数一般是max或者sum。ANN问题已经在欧式空间[参见D.Papadias,Q.Shen,Y.Tao,andK.Mouratidis,“Groupnearestneighborqueries,”inDataEngineering,2004.Proceedings.20thInternationalConferenceon.IEEE,2004,pp.301–312.]和路网上[参见D.Papadias,Q.Shen,Y.Tao,andK.Mouratidis,“Groupnearestneighborqueries,”inDataEnginee ...
【技术保护点】
1.一种路网上的弹性聚合最近邻查询G‑max方法,其特征在于,包括如下步骤:第一步,对整个路网建立G树索引;第二步,定义和初始化:定义路网G=(V,E,W),其中V表示顶点,E表示边,W表示边的权重,δ(vi,vj)表示vi到vj的路网距离;Q是查询集合(query objects),大小为M;FANN查询定义为:一个FANN查询是一个五元组
【技术特征摘要】
1.一种路网上的弹性聚合最近邻查询G-max方法,其特征在于,包括如下步骤:第一步,对整个路网建立G树索引;第二步,定义和初始化:定义路网G=(V,E,W),其中V表示顶点,E表示边,W表示边的权重,δ(vi,vj)表示vi到vj的路网距离;Q是查询集合(queryobjects),大小为M;FANN查询定义为:一个FANN查询是一个五元组返回一个三元组使得:其中p*是V中使得弹性聚合距离最小的点,是Q的最优的弹性子集,r*就是此时的弹性聚合距离;定义为弹性聚合函数,它接受一个属于V的点p,一个V的子集Q作为输入,返回一个对作为结果,满足:其中是Q的一个子集且初始化:将r*初始化为无穷大;构建一个优先级队列,将G树的根节点入队;第三步,判断队列是否为空;如果队列为空,则结束;否则出队得到x;第四步,判断x是否是叶子节点;如果x是叶子节点,对于x里面所有的v,计算如有必要更新最终结果,遍历之后回到第三步;否则,进入第五步;第五步,遍历x的子节点c,计算Q中所有点到c的最小可能距离,得到前最小距离的最大值max,记为τ;第六步,判断τ是否大于或等于r*;如果τ小于r*,将c的孩子节点入队,回到第三步;如果τ大于或等于r*,则结束。2.如权利要求1所述的方法,其特征在于,第一步中,所述对整个路网建立G树索引具体为:首先原图进行子图划分,每个子图互不相交,然后对子图进行类似的划分,通过这种递归的方式直到子图里面包含数据点的个数小于设置的阈值;计算每个G树子图的边界点的距离矩阵。3.如权利要求2所述的方法,其特征在于,所述距离矩阵在构造时采用以下G树上δ的实现方法:给定路网点u和v,假设其所在的叶子节点分别为Cu和Cv;当Cu=Cv,首先在该叶子节点内执行局部的Dijkstra算法;如果算法执行过程中不包含任何边界点,那么认为局部Dijkstra算法足够高效;否则,停止Dijkstra算法,使用下面的公式计算δ(u,v):δ(u,v)=min{δ(u,b1)+δ(b1,b2)+δ(v,b2)|b1,b2∈Bc}其中Bc是Cu或Cv的边界点的集合;当Cu≠Cv,显然从u出发达到v的路...
【专利技术属性】
技术研发人员:姚斌,过敏意,陈中普,李超,唐飞龙,
申请(专利权)人:上海交通大学,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。