获取路网上复反向最远邻居的层次分区树方法及系统技术方案

技术编号:9238488 阅读:290 留言:0更新日期:2013-10-10 02:32
本发明专利技术提供了一种获取路网上复反向最远邻居的层次分区树方法及系统,包括:对于路网G,某一查询集Q,构建路网G关于查询集Q的最远Voronoi图,定义某一查询点q∈Q在所述最远Voronoi图上的最远Voronoi区是这样一部分结点fvc(q,Q),满足对于fn(p,Q)=q,即所有fvc(q,Q)所包含的点p均以q作为其相对于Q的最远邻居,则BRFN(q,Q,VG)=fvc(q,Q);为了获取fvc(q,Q),首先建立一个包含路网G上所有点VG的潜在解的集合S,每次从Q的其余结点中取出一个结点q′,根据所述集合S中每个潜在解到q和q′的距离将S划分为两部分后,将距离查询点q较近的部分从S中删除,直至Q的所有其余结点q′都取出过后,所述最远Voronoi图中最终未删除的部分即为fvc(q,Q),其中,所述潜在解为路网G上的某一结点,能够在路网上快速搜索到查询点的单反向邻居。

【技术实现步骤摘要】

【技术保护点】
一种获取路网上复反向最远邻居的层次分区树方法,其特征在于,包括:步骤一:对于给定路网G上的某一结点p和路网G上的所有结点VG,如果路网G上存在结点q,q与p的路网距离||q?p||不小于p到VG当中任何点p’的距离||p′?p||,则定义q为p相对于VG的最远邻居,记为fn(p,VG);步骤二:对于给定路网G上的所有结点VG和路网G上的查询集Q,定义q∈Q的复反向最远邻居是所有VG中距离q比Q中其它所有点都远的点的集合,即BRFN(q,Q,VG)={p|p∈VG,fn(p,Q)=q};步骤三:选择路网G上的多个结点L作为地标,使用Dijkstra算法预计算每个结点L到所述剩下无子分区的分区或子分区上所有结点的距离;步骤四:使用自顶向下的方法构造路网G的HP树,路网G中的结点划分为m个分区SGi,并且将每个分区递归的划分为若干个子分区SGi,直至达到所需的分区数量与层数;步骤五:定义路网G上每一个分区或子分区SGi的边界结点为其中edge(d,d′)表示d与d′之间的边,表示分区SGi的所有结点;步骤六:将某结点q到某分区或子分区SGi的上界和下界分别定义为q到内的任何结点的最大和最小距离,记为和分区或子分区SGi的直径定 义为类似的定义结点q到结点d的上界和下界分别为和q′的边界定义与q类似;步骤七:预计算某分区SGi内子分区SGi的边界结点间的距离,同时预计算所有边界结点各自在所在分区和子分区SGi内的最远邻居;步骤八:对于路网G,某一查询集Q,构建路网G关于查询集Q的最远Voronoi图,定义某一查询点q∈Q在所述最远Voronoi图上的最远Voronoi区是这样一部分结点fvc(q,Q),满足对于fn(p,Q)=q,即所有fvc(q,Q)所包含的点p均以q作为其相对于Q的最远邻居,则BRFN(q,Q,VG)=fvc(q,Q);步骤九:为了获取fvc(q,Q),首先建立一个包含路网G上所有点VG的潜在解的集合S,每次从Q的其余结点中取出一个结点q′,根据所述集合S中每个潜在解到q和q′的距离将S划分为两部分后,将距离查询点q较近的部分从S中删除,直至Q的所有其余结点q′都取出过后,所述最远Voronoi图中最终未删除的部分即为fvc(q,Q),其中,所述潜在解为路网G上的某一结点。FDA00003463577900011.jpg,FDA00003463577900014.jpg,FDA00003463577900015.jpg,FDA00003463577900012.jpg,FDA00003463577900013.jpg,FDA00003463577900021.jpg,FDA00003463577900022.jpg,FDA00003463577900023.jpg,FDA00003463577900024.jpg...

【技术特征摘要】

【专利技术属性】
技术研发人员:姚斌邢昊原李飞飞
申请(专利权)人:上海交通大学
类型:发明
国别省市:

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

1