发明名称 获取路网上复反向最远邻居的层次分区树方法及系统
摘要 本发明提供了一种获取路网上复反向最远邻居的层次分区树方法及系统,包括:对于路网G,某一查询集Q,构建路网G关于查询集Q的最远Voronoi图,定义某一查询点q∈Q在所述最远Voronoi图上的最远Voronoi区是这样一部分结点fvc(q,Q),满足对于<img file="DDA00003463578200011.GIF" wi="317" he="71" />fn(p,Q)=q,即所有fvc(q,Q)所包含的点p均以q作为其相对于Q的最远邻居,则BRFN(q,Q,V<sub>G</sub>)=fvc(q,Q);为了获取fvc(q,Q),首先建立一个包含路网G上所有点V<sub>G</sub>的潜在解的集合S,每次从Q的其余结点中取出一个结点q′,根据所述集合S中每个潜在解到q和q′的距离将S划分为两部分后,将距离查询点q较近的部分从S中删除,直至Q的所有其余结点q′都取出过后,所述最远Voronoi图中最终未删除的部分即为fvc(q,Q),其中,所述潜在解为路网G上的某一结点,能够在路网上快速搜索到查询点的单反向邻居。
申请公布号 CN103345509B 申请公布日期 2016.08.10
申请号 CN201310279899.0 申请日期 2013.07.04
申请人 上海交通大学 发明人 姚斌;邢昊原;李飞飞
分类号 G06F17/30(2006.01)I;G06F17/50(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 上海思微知识产权代理事务所(普通合伙) 31237 代理人 郑玮
主权项 一种获取路网上复反向最远邻居的层次分区树方法,其特征在于,包括:步骤一:对于给定路网G上的某一结点p和路网G上的所有结点V<sub>G</sub>,如果路网G上存在结点q,q与p的路网距离||q‑p||不小于p到V<sub>G</sub>当中任何点p’的距离||p′‑p||,则定义q为p相对于V<sub>G</sub>的最远邻居,记为fn(p,V<sub>G</sub>);步骤二:对于给定路网G上的所有结点V<sub>G</sub>和路网G上的查询集Q,定义q∈Q的复反向最远邻居是所有V<sub>G</sub>中距离q比Q中其它所有点都远的点的集合,即BRFN(q,Q,V<sub>G</sub>)={p|p∈V<sub>G</sub>,fn(p,Q)=q};步骤三:选择路网G上的多个结点L作为地标,使用Dijkstra算法预计算每个结点L到所有结点V<sub>G</sub>的距离;步骤四:使用自顶向下的方法构造路网G的HP树,路网G中的结点划分为m个分区SG<sub>i</sub>,并且将每个分区递归的划分为若干个子分区SG<sub>i</sub>,直至达到所需的分区数量与层数;步骤五:定义路网G上每一个分区或子分区SG<sub>i</sub>的边界结点为<img file="FDA0000945216410000011.GIF" wi="1046" he="102" />其中,d表示分区SG<sub>i</sub>的边界结点,d′表示不属于分区SG<sub>i</sub>的其他分区的任意结点,edge(d,d′)表示d与d′之间的边,<img file="FDA0000945216410000012.GIF" wi="75" he="63" />表示分区SG<sub>i</sub>的所有结点;步骤六:将某结点q到某分区或子分区SG<sub>i</sub>的上界和下界分别定义为q到<img file="FDA0000945216410000013.GIF" wi="73" he="62" />内的任何结点的最大和最小距离,记为<img file="FDA0000945216410000014.GIF" wi="94" he="71" />和<img file="FDA0000945216410000015.GIF" wi="146" he="71" />分区或子分区SG<sub>i</sub>的直径定义为<img file="FDA0000945216410000016.GIF" wi="434" he="76" />其中,结点q到结点d的上界和下界分别为<img file="FDA0000945216410000017.GIF" wi="75" he="62" />和<img file="FDA0000945216410000018.GIF" wi="86" he="62" />结点q′到某分区或子分区SG<sub>i</sub>的上界和下界分别定义为q′到<img file="FDA0000945216410000019.GIF" wi="75" he="63" />内的任何结点的最大和最小距离,记为<img file="FDA00009452164100000110.GIF" wi="97" he="79" />和<img file="FDA00009452164100000111.GIF" wi="115" he="77" />结点q'到结点d的上界和下界分别为<img file="FDA00009452164100000112.GIF" wi="88" he="70" />和<img file="FDA00009452164100000113.GIF" wi="94" he="69" />步骤七:预计算某分区SG<sub>i</sub>内子分区SG<sub>i</sub>的边界结点间的距离,同时预计算所有边界结点各自在所在分区和子分区SG<sub>i</sub>内的最远邻居;步骤八:对于路网G,某一查询集Q,构建路网G关于查询集Q的最远Voronoi图,定义某一查询点q∈Q在所述最远Voronoi图上的最远Voronoi区是这样一部分结点fvc(q,Q),满足对于<img file="FDA0000945216410000021.GIF" wi="595" he="63" />即所有fvc(q,Q)所包含的点p均以q作为其相对于Q的最远邻居,则BRFN(q,Q,V<sub>G</sub>)=fvc(q,Q);步骤九:为了获取fvc(q,Q),首先建立一个包含路网G上所有点V<sub>G</sub>的潜在解的集合S,每次从Q的其余结点中取出一个结点q′,根据所述集合S中每个潜在解到q和q′的距离将S划分为两部分后,将距离查询点q较近的部分从S中删除,直至Q的所有其余结点q′都取出过后,所述最远Voronoi图中最终未删除的部分即为fvc(q,Q),其中,所述潜在解为路网G上的某一结点。
地址 200240 上海市闵行区东川路800号