[发明专利]一种不确定空间数据上的单色相互最近邻查询处理方法在审
申请号: | 201610118192.5 | 申请日: | 2016-03-02 |
公开(公告)号: | CN105787076A | 公开(公告)日: | 2016-07-20 |
发明(设计)人: | 陈逸菲;秦小麟 | 申请(专利权)人: | 南京信息工程大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 江苏爱信律师事务所 32241 | 代理人: | 唐小红 |
地址: | 210000 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提出一种不确定空间数据上的单色相互最近邻查询处理方法,包括步骤:遍历R树,得到查询对象q的最近邻候选集nnq,并将此过程中剪枝的结点和对象保存在最小堆Hrfn内;将nnq中的对象插入Hrfn中;将Hrfn中的元素插入集合Sstemp;遍历Hrfn得到q的反向最近邻候选集rnnq;求出nnq与rnnq的交集作为q的相互最近邻候选集mnnq;对mnnq中每个对象o,遍历集合Sstemp查询o的最近邻候选集nno;求出nno与nnq的并集得到o的概率计算列表;计算mnnq中每个对象的概率值;将概率值大于阈值的对象作为结果返回。本发明方法与现有方法相比,运行效率高,I/O代价低、查询时间短,用于处理LBS中对应的查询问题,能够提高查询处理效率。 | ||
搜索关键词: | 一种 不确定 空间 数据 单色 相互 近邻 查询 处理 方法 | ||
【主权项】:
一种不确定空间数据上的单色相互最近邻查询处理方法,其特征在于,包括如下步骤:步骤1:初始化最小堆Hrfn,令集合Stemp为空;步骤2:遍历R树,得到查询对象q的最近邻候选集nnq,并且将此过程中剪枝的结点和对象保存在最小堆Hrfn中,具体过程如下:步骤2.1:初始化最小堆H,设R树的根结点为root,将<root,0>插入H,令变量minf为无穷大;步骤2.2:在H非空的情况下循环执行步骤2.3~2.6,否则转去执行步骤2.7;步骤2.3:取出H堆顶元素<E,dt>;步骤2.4:如果dt>minf,则执行步骤2.7;步骤2.5:如果E是非叶子结点,则依次对E中的每一项e进行如下操作:首先,计算查询q与e之间的最远和最近距离,分别记作De和de;然后,判断De是否小于minf,是则令minf=De,并且将<e,de>插入H,否则继续判断de是否小于minf,是则将<e,de>插入H,否则e被剪枝且将<e,de>插入Hrfn;返回执行步骤2.2;步骤2.6:如果E是叶子结点,则依次对E中的每一项e进行如下操作:首先判断e是否是q,如果不是则计算q与e之间的最远和最近距离,分别记作De和de;然后,判断De是否小于minf,是则令minf=De,并且将e作为q的最近邻候选对象插入nnq,再将nnq中所有到q的最近距离大于当前minf的对象删除,同时将这些对象插入Hrfn;如果De大等于minf,则进一步判断de是否小于minf,是则将e作为q的最近邻候选对象插入nnq,否则e被剪枝且将<e,de>插入Hrfn;如果e是q,则将<q,0>插入Hrfn;返回执行步骤2.2;步骤2.7:在H非空的情况下循环取出H的堆顶元素<E,dt>,并插入Hrfn;步骤2.8:返回nnq;步骤3:将q的最近邻候选集nnq中的对象以到q的最近距离为关键字插入Hrfn中;步骤4:将Hrfn中的元素同时插入集合Stemp;步骤5:遍历Hrfn得到q的反向最近邻候选集rnnq,具体如下:步骤5.1:初始化反向最近邻候选集rnnq,令其为空集;步骤5.2:在Hrfn非空的情况下循环执行步骤5.3~5.6,否则执行步骤5.7;步骤5.3:取出Hrfn的堆顶元素<E,dt>;步骤5.4:只要E完全位于rnnq中某一个候选对象o的剪枝区域PRo内,则返回步骤5.2执行,否则执行步骤5.5~5.6;其中剪枝区域PRo由平面中到q的最近距离大于到对象o最远距离的所有点组成;步骤5.5:如果E是数据对象且E不是q,则将E插入反向最近邻候选集rnnq,并将rnnq中位于E的剪枝区域PRE内的对象作标记;步骤5.6:如果E是结点,则对E中的每一项e判断,只要e完全位于rnnq中某一个侯选对象o的剪枝区域PRo内,则返回步骤5.2执行,否则将e插入Hrfn;步骤5.7:将rnnq中作了标记的对象删除;步骤5.8:返回rnnq;步骤6:求出nnq与rnnq的交集作为q的相互最近邻候选集mnnq;步骤7:对mnnq中每个对象o,遍历集合Stemp得到o的最近邻候选集,记作nno,具体如下:步骤7.1:初始化最小堆H,令变量minf为无穷大;步骤7.2:依次对Stemp中每个元素e执行步骤7.3~7.4,访问完Stemp中所有元素后执行步骤7.5;步骤7.3:如果e是数据对象且不是o,则:首先计算o与e之间的最远和最近距离,分别记作De和de;然后判断De是否小于minf,是则令minf=De,并且将e作为o的最近邻候选对象插入nno,如果De大等于minf,则进一步判断de是否小于minf,是则将e作为o的最近邻候选对象插入nno,否则e被剪枝;步骤7.4:如果e是结点则:首先计算o与e之间的最远和最近距离,分别记作De和de;然后,判断De是否小于minf,是则令minf=De,并且将<e,de>插入H,否则继续判断de是否小于minf,是则将<e,de>插入H,否则e被剪枝;步骤7.5~7.9:与步骤2.2~2.6类似,但是被剪枝的对象不需要插入Hrfn,此外,步骤2.5~2.6中的q和nnq在步骤7.8~7.9换成o和nno,其余部分相同;步骤7.10:返回nno;步骤8:为mnnq中每个对象o构造概率计算列表Sno,Sno为nno与nnq的并集且排除o和q;步骤9:按下式计算mnnq中每个对象o的概率值 其中n(q,o)和f(q,o)分别是q与o的最近距离和最远距离;步骤10:将概率值大于概率阈值的候选对象插入结果集并返回。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京信息工程大学,未经南京信息工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610118192.5/,转载请声明来源钻瓜专利网。
- 上一篇:多媒体标题显示方法及装置
- 下一篇:一种自定义桌面主题的方法及装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置