CN103778196B - 一种基于双色反最近邻查询的最优选址方法 - Google Patents
一种基于双色反最近邻查询的最优选址方法 Download PDFInfo
- Publication number
- CN103778196B CN103778196B CN201410007605.3A CN201410007605A CN103778196B CN 103778196 B CN103778196 B CN 103778196B CN 201410007605 A CN201410007605 A CN 201410007605A CN 103778196 B CN103778196 B CN 103778196B
- Authority
- CN
- China
- Prior art keywords
- proximal
- rectangular area
- position circle
- domain
- circle domain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于双色反最近邻查询的最优选址方法。利用空间数据库中双色反最近邻查询技术,将空间四分法和泰森多边形应用到本发明中,保证查询结果具有最多的反最近邻,并使得查询结果到各自反最近邻的最小距离最大。本方法先为每个客户点生成最近位置圆域;接着用四分法找到矩形区域,并使得该区域落在尽可能多的最近位置圆域交集中;然后用两个有效的剪枝规则对上一步得到的与矩形区域相关的最近位置圆域集合进行修剪;最后根据修剪后的最近位置圆域集合及其泰森多边形找出最佳位置点。本发明极大地减少了查询的搜索空间,且查询效率明显好于现有方法,提供了最佳性能。
Description
技术领域
本发明涉及空间数据库的查询技术,特别是一种基于双色反最近邻查询的最优选址方法。
背景技术
随着无线通信技术、遥感技术以及定位系统的不断发展和普及,大量的空间位置数据以前所未有的速度增长。基于空间数据库的查询和搜索应用广泛,各种空间数据库上的查询算法成为了研究热点。
典型的空间数据库查询包括最近邻查询和反向最近邻查询等。最近邻查询返回距离查询点最近的点,而反最近邻查询则返回将查询点作为其最近邻的点集合。反最近邻查询返回的集合中点的数量,反应了查询点的影响力大小。双色反最近邻查询指的是数据集由两种不同类型的点组成,如服务点集和客户点集。
基于双色反最近邻,最大双色反最近邻查询的目的是从空间数据库查找区域,使得在该区域中新增加的任意位置点都具有最大的反最近邻集。该查询在市场定位、设施选址、资源分配等决策支持应用场景中具有重要的应用价值。
目前针对最大双色反最近邻查询,已有MaxOverlap和MaxFirst等算法,但是这些算法在查找最优区域时都仅以反最近邻数量为衡量标准,并未考虑距离因素。而在设施选址等实际应用中距离因素却是非常重要的,在本发明中,我们关注于查询满足最大双色反最近邻查询条件、并且与客户点的最小距离最大的点。
发明内容
本发明的目的在于提供一种基于双色反最近邻查询的最优选址方法。
本发明解决其技术问题采用技术方案的步骤如下:
步骤(1):对于服务点数据集采用R树索引,维护一个矩形区域结果列表和一个查询结果列表;
步骤(2):以客户点数据集中的每一个点为查询点,找出其在服务点数据集中的最近邻,并由此建立各个客户点的最近位置圆域;
步骤(3):根据各客户点的最近位置圆域,采用四分法得到满足条件的矩形区域,并放入矩形区域结果列表;
步骤(4):对于矩形区域结果列表中的每个矩形区域,求得其相交的最近位置圆域集合;
步骤(5):利用剪枝规则过滤掉步骤(4)得到的最近位置圆域集合中不满足条件的最近位置圆域,并由此建立泰森多边形;
步骤(6):利用步骤(5)中得到的最近位置圆域集合和泰森多边形计算最终结果;
所述的步骤(1)中的矩形区域结果列表存放满足条件的矩形;查询结果列表存放最终的查询结果。
所述的步骤(2)中最近位置圆域是以客户点为圆心、其到服务点数据集中最近邻的距离为半径的圆。所有的最近位置圆域通过R树建立索引。最近位置圆域在R树中用其最小包含矩形表示,矩形的边分别与各坐标轴平行。
所述的步骤(3)中找到的矩形区域具有两个属性:上界值和下界值;上界值表示与矩形区域有共同区域的最近位置圆域数量;下界值表示包含整个矩形区域的最近位置圆域数量。在查找过程中,使用一个优先队列存放待处理的矩形区域。该优先队列是以矩形区域的上界值为排序度量,下界值最大的优先访问。用四分法查找矩形区域的步骤包括:
1)将索引最近位置圆域集合的R树根节点放入优先队列;
2)取出优先队列中度量最大的矩形区域,若该矩形区域满足上界值与下界值相等,则将该矩形区域添加到结果列表中;否则对矩形区域进行四分划分,并将划分出来的子区域添加到优先队列。划分的方式需分两种情况考虑:
a)连续4次遍历到的矩形区域的相交最近位置圆域集合相同,并具有相同的下界值。这种情况下需分两种情况进行处理:i)与矩形区域相交但不包含的最近位置圆域相交于一点,那么在该交点对矩形区域进行划分,分成4个矩形区域;ii)与矩形区域相交但不包含的最近位置圆域不相交于一点,那么在该矩形区域的中心进行划分,分成4个面积相同的矩形区域。
b)未出现a)中所述的连续分割的情况,则在该矩形区域的中心进行划分,分成4个面积相同的矩形区域。
所述的步骤(4)的计算与矩形区域相交的最近位置圆域是通过以矩形区域为查询条件,在最近位置圆域集合的R树中查询得到的。
所述的步骤(5)的剪枝规则有两种:
1)某个最近位置圆域的半径大于集合中最小最近位置圆域半径的3倍,则该最近位置圆域可被过滤;
2)对于集合中的一个最近位置圆域,若其与集合中任一最近位置圆域圆心之间的距离的一半小于该最近位置圆域的半径,则该最近位置圆域可被过滤。
泰森多边形则通过扫描线算法建立。
所述的步骤(6)中利用步骤(5)中得到的最近位置圆域集合和泰森多边形计算最终结果的步骤包括:
1)计算泰森多边形的顶点,计算各顶点与客户点数据集的最小距离;
2)计算最近位置圆域集合与泰森多边形的交点,计算各交点与客户点数据集的最小距离;
3)上述步骤产生的两类点中,根据其与客户点数据集的最小距离,该值最大的点即为查询结果,并更新结果列表。
本发明具有的有益效果是:
本发明充分利用了空间数据库中现有索引技术、最大双色反最近邻查询处理技术,充分利用了距离条件进行优化,极大减少了搜索空间,大大降低了I/O开销和CPU时间,提供了最佳性能。
附图说明
图1是本发明的实施步骤流程图。
图2为最优选址点查询的工作原理示意图。
具体实施方式
现结合附图和具体实施对本发明的技术方案作进一步说明:
如图1,图2所示,本发明具体实施过程和工作原理如下:
步骤(1):对于服务点数据集采用R树索引,维护一个矩形区域结果列表和一个查询结果列表;
步骤(2):以客户点数据集中的每一个点为查询点,找出其在服务点数据集中的最近邻,并由此建立各个客户点的最近位置圆域;
步骤(3):根据各客户点的最近位置圆域,采用四分法得到满足条件的矩形区域,并放入矩形区域结果列表;
步骤(4):对于矩形区域结果列表中的每个矩形区域,求得其相交的最近位置圆域集合;
步骤(5):利用剪枝规则过滤掉步骤(4)得到的最近位置圆域集合中不满足条件的最近位置圆域,并由此建立泰森多边形;
步骤(6):利用步骤(5)中得到的最近位置圆域集合和泰森多边形计算最终结果;
步骤(1)中的服务点数据集采用R树索引,如图2中的索引模块。矩形区域结果列表存放满足条件的矩形;查询结果列表存放最终的查询结果。
步骤(2)中的最近位置圆域是以客户点为圆心、其到服务点数据集最近邻的距离为半径的圆。所有的最近位置圆域通过R树建立索引。在最近位置圆域的R树中,最近位置圆域用其最小包含矩形表示,矩形的边分别与各坐标轴平行。最近位置圆域的计算是通过图2中的最近位置邻域计算器实现。
步骤(3)中找到的矩形区域具有两个属性:上界值和下界值;上界值表示与矩形区域有共同区域的最近位置圆域数量;下界值表示包含整个矩形区域的最近位置圆域数量。在查找过程中,要使用一个优先队列。存放矩形区域的优先队列是以矩形区域的上界值为排序度量,上界值最大的优先访问。用四分法查找矩形区域是通过图2中的矩形区域计算器实现,具体步骤包括:
1)将索引最近位置圆域集合的R树的根节点放入优先队列;
2)取出优先队列中度量最大的矩形区域,若该矩形区域满足上界值与下界值相等,则将该矩形区域添加到结果列表中;否则对矩形区域进行四分划分,并将划分出来的子区域添加到优先队列。划分的方式需分两种情况考虑:
a)连续4次遍历到的矩形区域的相交最近位置圆域集合相同,并具有相同的下界值。这种情况下需分两种情况进行处理:i)与矩形区域相交但不包含的最近位置圆域相交于一点,那么在该交点对矩形区域进行划分,分成4个矩形区域;ii)与矩形区域相交但不包含的最近位置圆域不相交于一点,那么在该矩形区域的中心进行划分,分成4个面积相同的矩形区域。
b)未出现上述连续分割的情况,则在该矩形区域的中心进行划分,分成4个面积相同的矩形区域。
步骤(4)中计算与矩形区域相交的最近位置圆域是通过以矩形区域为查询条件,在最近位置圆域集合的R树中查询得到,具体是由图2中的与矩形区域相关最近位置圆域计算器求得的。
步骤(5)中的剪枝规则有两种,是通过最近位置邻域过滤器实现剪枝:
1)某个最近位置圆域的半径大于集合中最小最近位置圆域半径的3倍,则该最近位置圆域可被过滤;
2)对于集合中的一个最近位置圆域,若其与集合中任一最近位置圆域圆心之间的距离的一半小于该最近位置圆域的半径,则该最近位置圆域可被过滤。
泰森多边形则通过扫描线算法建立,在图2中是由泰森多边形计算器实现。
步骤(6)中利用步骤(5)中得到的最近位置圆域集合和泰森多边形计算最终结果在图2中是由交点计算器实现,具体的步骤包括:
1)计算泰森多边形的顶点,计算各顶点与客户点数据集的最小距离;
2)计算最近位置圆域集合与泰森多边形的交点,计算各交点与客户点数据集的最小距离;
3)上述步骤产生的两类点中,根据其与客户点数据集的最小距离,该值最大的点即为查询结果,并更新结果列表。
Claims (1)
1.一种基于双色反最近邻查询的最优选址方法,其特征在于该方法的步骤如下:
步骤(1):对于服务点数据集采用R树索引,维护一个矩形区域结果列表和一个查询结果列表;
步骤(2):以客户点数据集中的每一个点为查询点,找出其在服务点数据集中的最近邻,并由此建立各个客户点的最近位置圆域;
步骤(3):根据各客户点的最近位置圆域,采用四分法得到满足条件的矩形区域,并放入矩形区域结果列表;
步骤(4):对于矩形区域结果列表中的每个矩形区域,求得其相交的最近位置圆域集合;
步骤(5):利用剪枝规则过滤掉步骤(4)得到的最近位置圆域集合中不满足条件的最近位置圆域,并由此建立泰森多边形;
步骤(6):利用步骤(5)中得到的最近位置圆域集合和泰森多边形计算最终结果;
所述的步骤(1)中矩形区域结果列表存放满足条件的矩形;查询结果列表存放最终的查询结果;
所述的步骤(2)中最近位置圆域是以客户点为圆心、其到服务点数据集中最近邻的距离为半径的圆;所有的最近位置圆域通过R树建立索引;最近位置圆域在R树中用其最小包含矩形表示,矩形的边分别与各坐标轴平行;
所述的步骤(3)中找到的矩形区域具有两个属性:上界值和下界值;上界值表示与矩形区域有共同区域的最近位置圆域数量;下界值表示包含整个矩形区域的最近位置圆域数量;在查找过程中,使用一个优先队列存放待处理的矩形区域;该优先队列是以矩形区域的上界值为排序度量,上界值最大的优先访问;用四分法查找矩形区域的步骤包括:
31)将索引最近位置圆域集合的R树根节点放入优先队列;
32)取出优先队列中度量最大的矩形区域,若该矩形区域满足上界值与下界值相等,则将该矩形区域添加到结果列表中;否则对矩形区域进行四分划分,并将划分出来的子区域添加到优先队列;划分的方式需分两种情况考虑:
a)连续4次遍历到的矩形区域的相交最近位置圆域集合相同,并具有相同的下界值;这种情况下需分两种情况进行处理:i)与矩形区域相交但不包含的最近位置圆域相交于一点,那么在该交点对矩形区域进行划分,分成4个矩形区域;ii)与矩形区域相交但不包含的最近位置圆域不相交于一点,那么在该矩形区域的中心进行划分,分成4个面积相同的矩形区域;
b)未出现a)中的连续分割的情况,则在该矩形区域的中心进行划分,分成4个面积相同的矩形区域;
所述的步骤(4)的计算与矩形区域相交的最近位置圆域是通过以矩形区域为查询条件,在最近位置圆域集合的R树中查询得到的;
所述的步骤(5)的剪枝规则有两种:
51)某个最近位置圆域的半径大于集合中最小最近位置圆域半径的3倍,则该最近位置圆域可被过滤;
52)对于集合中的一个最近位置圆域,若其与集合中任一最近位置圆域圆心之间的距离的一半小于该最近位置圆域的半径,则该最近位置圆域可被过滤;
泰森多边形通过扫描线算法建立;
所述的步骤(6)中利用步骤(5)中得到的最近位置圆域集合和泰森多边形计算最终结果的步骤包括:
61)计算泰森多边形的顶点,计算各顶点与客户点数据集的最小距离;
62)计算最近位置圆域集合与泰森多边形的交点,计算各交点与客户点数据集的最小距离;
63)在1)、2)步骤产生的两类点中,根据其与客户点数据集的最小距离,选取该值最大的点作为查询结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410007605.3A CN103778196B (zh) | 2014-01-07 | 2014-01-07 | 一种基于双色反最近邻查询的最优选址方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410007605.3A CN103778196B (zh) | 2014-01-07 | 2014-01-07 | 一种基于双色反最近邻查询的最优选址方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103778196A CN103778196A (zh) | 2014-05-07 |
CN103778196B true CN103778196B (zh) | 2017-01-18 |
Family
ID=50570431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410007605.3A Active CN103778196B (zh) | 2014-01-07 | 2014-01-07 | 一种基于双色反最近邻查询的最优选址方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103778196B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105183921B (zh) * | 2015-10-23 | 2019-03-26 | 大连大学 | 移动云计算环境下的基于双色反近邻查询的商店定址系统 |
CN105760470A (zh) * | 2016-02-05 | 2016-07-13 | 大连大学 | 云计算环境下基于空间反近邻查询的医疗呼叫系统 |
CN106372265B (zh) * | 2016-11-23 | 2021-11-30 | 中山大学 | 一种含有多层次剪枝策略的位置查询优化方法 |
CN107908722B (zh) * | 2017-11-14 | 2021-10-12 | 华东师范大学 | 基于距离的逆向k排名查询方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541922A (zh) * | 2010-12-24 | 2012-07-04 | 华东师范大学 | 一种基于不确定数据集的双色反最邻近查询的方法及装置 |
-
2014
- 2014-01-07 CN CN201410007605.3A patent/CN103778196B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541922A (zh) * | 2010-12-24 | 2012-07-04 | 华东师范大学 | 一种基于不确定数据集的双色反最邻近查询的方法及装置 |
Non-Patent Citations (3)
Title |
---|
MaxFirst for MaxBRkNN;Zenan Zhou et al;《International Conference on Data Engineering》;20111231;第828-839页 * |
Voronoi-based reverse nearest neighbor query processing on spatial networks;Maytham Safar et al;《Multimedia Systems》;20091231;第15卷(第5期);第295-308页 * |
空间网络数据库中反k最近邻查询算法;朱彩云等;《小型微型计算机系统》;20090930;第30卷(第9期);第1781-1786页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103778196A (zh) | 2014-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103778196B (zh) | 一种基于双色反最近邻查询的最优选址方法 | |
CN106202335B (zh) | 一种基于云计算框架的交通大数据清洗方法 | |
CN102819536A (zh) | 树型数据处理方法及装置 | |
CN106528787A (zh) | 一种基于海量数据多维分析的查询方法及装置 | |
CN105183921A (zh) | 移动云计算环境下的基于双色反近邻查询的商店定址系统 | |
CN102915347A (zh) | 一种分布式数据流聚类方法及系统 | |
CN107145526B (zh) | 一种路网下地理社交关键字反最近邻查询处理方法 | |
CN103544316A (zh) | Url过滤的系统及其实现方法 | |
CN101650730B (zh) | 数据流中带权值频繁项挖掘方法和系统 | |
CN102156756A (zh) | 一种基于图嵌入的在道路网络中查找最优路径的方法 | |
CN105515997B (zh) | 基于bf_tcam实现零范围扩张的高效范围匹配方法 | |
CN110147372A (zh) | 一种面向htap的分布式数据库智能混合存储方法 | |
CN102054000A (zh) | 数据查询方法、装置及系统 | |
CN102456069A (zh) | 一种数据流增量聚集统计、查询方法及查询系统 | |
CN104346444A (zh) | 一种基于路网反空间关键字查询的最佳选址方法 | |
CN106528815A (zh) | 一种路网移动对象概率聚集查询方法及系统 | |
CN110119408A (zh) | 地理空间实时流数据下移动对象连续查询方法 | |
CN101430693B (zh) | 三角网格曲面模型的空间查询方法 | |
CN105992146A (zh) | 定位数据生成方法及装置 | |
CN108717448B (zh) | 一种面向键值对存储的范围查询过滤方法和键值对存储系统 | |
CN103500165A (zh) | 一种结合聚类和双key值的高维向量检索方法 | |
CN102043857A (zh) | 最近邻查询方法及系统 | |
CN107908722B (zh) | 基于距离的逆向k排名查询方法 | |
CN110347676A (zh) | 基于关系r树的不确定性时态数据管理与查询方法 | |
CN108038118B (zh) | 一种位置优先并维护最小外接矩形的kd树构建方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |