CN105005609B - 距离敏感大小可变化的最优范围位置查询的计算方法 - Google Patents
距离敏感大小可变化的最优范围位置查询的计算方法 Download PDFInfo
- Publication number
- CN105005609B CN105005609B CN201510396850.2A CN201510396850A CN105005609B CN 105005609 B CN105005609 B CN 105005609B CN 201510396850 A CN201510396850 A CN 201510396850A CN 105005609 B CN105005609 B CN 105005609B
- Authority
- CN
- China
- Prior art keywords
- rectangle
- grid
- size
- crosspoint
- point
- 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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种距离敏感大小可变化的最优范围位置查询的计算方法,该方法包括以下步骤:为数据构造网格,每个网格单元进行映射,并构建横纵线得到交叉点集,为所有有效的交叉点定位构造一个最大矩形,并使其慢慢回缩直至找到一个最优的矩形大小及其位置。本发明能够灵活、方便的查询最优位置放置问题;通过遍历所有可能的情况,利用分治法,剪枝法能够在较快的时间,得出一个正确的结果。
Description
技术领域
本发明涉及基于位置服务(LBS)的技术领域以及空间数据库领域,具体地说是距离敏感大小可变化的最优范围位置查询(Maximum Range Sum)的计算方法。
背景技术
在现代社会中,基于位置的服务(LBS)越来越受到重视和应用。LBS能够运用在各个领域和各种环境中,例如航行,旅游规划,设施建设和运输等等。这些LBS应用都需要存储和处理非常大量的空间数据,需要运用空间数据库技术和算法来为每个LBS应用提供一个正确适当的方式去解决。在空间数据库中有一个重要的LBS问题,称为MaxRS问题,最优范围位置查询(Maximizing Range Sum),给定一个固定大小的范围,在整个数据集中找到一个最优的位置,使得这个范围能够覆盖最多的权值点。这个问题在LBS中应用十分广泛,例如为一家披萨店找地址,能外送范围覆盖最多居民的地方;又例如为一个服务设备找地址,能覆盖最多用户的地方。但这个问题有一定局限性,例如需要固定的大小范围,而且无法考虑离查询点的距离。所以要在此基础上提出一个新的查询,能够解决不固定范围大小,并且可以考虑与查询点距离的远近。这样的查询能够更加适应需求多变的LBS应用,能够为MaxRS问题的应用带来更多的可变性和易用性。
目前国内外诸多学者在LBS的研究中发表了许多论文和期刊,其中就有不少关注MaxRS问题的研究。主要分为两类,包括内存算法,以及外存算法。其中内存算法是指所有数据可以全部放入内存中进行计算,衡量算法主要依靠空间复杂度,和时间复杂度,主要比较算法之间得出结果所需要消耗的时间。例如S.C.NANDY等人就提出用扫描线与间隔树结合,在O(nlogn)的时间复杂度内解决问题。外存算法是指数据量庞大至放不下内存,这种算法主要衡量其IO的次数,因为IO是整个算法的最大瓶颈。其中Dong-Wan Choi等人就用Slab-files的方式在较好的IO数下解决MaxRS问题。另外陶宇飞等人,提出一种新颖的方法,使用网格划分的方式,能够在较快时间内得到一个MaxRS的近似解。
但是在现有MaxRS问题中,范围始终是固定不变的,因此不够易用、灵活。面对某些无法固定或者无需固定范围的场景时无法有效解决。
发明内容
针对现有技术的不足,本发明提出一种新型的MaxRS问题称为距离敏感大小可变化的MaxRS问题,即范围大小不固定,也能考虑与查询点的距离因素,并考虑距离变远和范围变大所要付出的代价,使得到的结果是最优的结果。并且为此新问题提供一种新颖的算法,通过量化最优解的判定,以及对所有可能解用分治法和剪枝法进行计算,另外对算法进行网格优化,能够较好地解决本问题。
本发明的具体技术方案是:
一种距离敏感大小可变化的最优范围位置查询的计算方法,特点是:该方法包括以下具体步骤:
1)为整个数据集建立一个网格;
2)对每个网格单元映射,计算score上限;
3)对每个网格单元在上限不低于当前最优的情况下,为网格内所有的数据点构建横纵线;
4)所有横行与纵线交叉得到一个交叉点集,并除去无用的交叉点;
5)以每个交叉点为矩形远角far-corner构造一个最大矩形并且用范围查询找到在这个矩形范围内的所有数据点;
6)使每个最大矩形慢慢回缩,回缩的同时计算优劣值score;
7)计算完所有网格单元,输出最优矩形的位置及其大小;其中:
所述步骤1)中,网格以查询点为中心,并且网格单元大小为最大矩形
所述步骤2)中,网格单元的映射是指每个网格的相邻且离查询点较近的三个网格要为当前网格提供横线纵线以及权值;每个网格单元的score上限是权值之和,再减去最小的代价得到的理论上限;
所述步骤4)中,除去无用的交叉点是指:在交叉点的任意一条交叉线上没有数据点或者数据点离交叉点的距离分别大于长和宽,则这些交叉点是没用的,需去除;
所述步骤5)中,以交叉点为far-corner以为大小构建一个矩形,其范围查询是利用Quad-tree来进行;
所述步骤6)中,矩形回缩时保证长宽比不变,far-corner固定,由于离查询点距离和矩形大小在时刻变化,score值会不同,需要保留最优的score值及此时的矩形位置和大小。
与现有技术相比,本发明有以下优点:
1、易用性:该查询比现有技术MaxRS问题要更加灵活易用,能够查询不固定大小的范围,以及考虑到查询点的距离,而不受范围固定的约束和无视查询点的距离。所以更加易用,适用范围更加广泛。
2、正确性:算法是确定性算法,能够找到唯一的最优结果,而不是先前最高效的近似解算法。
3、高效性:经过优化的算法,能够在较快的时间内得到结果。
4、实用性:该查询具有广泛的实用意义,能够为餐馆,公共设施等等找到最优的架设位置,以及他们的服务范围。
附图说明
图1为本发明查询例子示意图;
图2为本发明构建网格示意图;
图3为本发明网格单元映射示意图;
图4为本发明以交叉点构建一个最大矩形示意图;
图5为本发明矩形回缩示意图。
具体实施方式
本发明所述的计算方法,针对的查询其定义:
在二维空间R2给定一个点的集合P,在P中每个点都会有一个独立非负的值w(p)作为这个点的权值。然后给定一个固定比例和最大大小的矩形以及查询点的位置ro及其初始大小(初始大小限制了最小矩形大小,可以为0)。其查询问题的目标是找到一个位置放置这个矩形并确定其大小,使得这个矩形能够覆盖到的点的权值最大并且付出的距离代价以及大小代价最小。其“覆盖权值”为被覆盖的点的权值之和:
covered-weight(r)=∑p∈P∩rw(p).
假设所有P中的点权值都为1,那么”覆盖权值”就可以简单的定义为被r所覆盖的点的个数。附图1是一个简单的查询例子,ro是初始查询点,r1-r4是四个候选解的集合,他们各自的权值分别是4,3,4,4。其中r1,r2,r3都拥有相同的大小,r4的大小比他们的要大。在这个例子中,r3是最好的查询结果,因为它比r1要更近,比r2“覆盖权值”更多,比r4要更小,于是r3就是最优的查询结果。
为了使查询更加简单易懂,提出以下概念。
cost(r,ro)=αdist(r,ro)+(1-α)area(r,ro)
dist(r,ro)=|ro.x–r.x|+|ro.y–r.y|
area(r,ro)=|r.l·r.w–ro.l·ro.w|
以上公式定义了距离代价dist(r,ro)和矩形变大代价size area(r,ro),其中α是一个可变参数,表示对某个代价的倾向性。例如α为1时只关心距离代价,而α为0时只关心矩形变大的代价。一个任意的矩形,都会有这两个属性代价,而总代价cost即这两个属性代价的和。那么任意一个矩形就能够有一个判别标准的优劣值score:
其中β和γ是系统参数,为了归一化整个公式。
那么查询就被简化成为求一个最优的矩形,使得这个矩形的优劣值score值是最高的。
下面结合附图和具体实施例对本发明作进一步详细描述。
本发明包含以下具体步骤:
1)为整个数据集建立一个网格,整个数据集中以查询点为中心,以最大矩形为网格单元的大小构造一个网格,直至所有数据点都被这个网格所包含,参阅图2,为一个构建网格的例子,用Ni,j来代表每个网格单元,其中ro就是查询点的位置,而且每个网格单元大小都是另外,以查询点为中心自然地将整个网格分为四个象限。由于四个象限的计算方法相似且对称所以以下都以第一象限为例。
2)对于每个网格单元需要做映射,来保证不缺失任何可能的候选情况。并且为了能够方便地减枝一整个网格单元,还需要计算这个网格单元的score上限。参阅图3,其示意的映射存在第一象限中(所有象限都是向查询点的反方向映射),其中,关注右上角网格单元的映射,p1,p2会向此单元提供横线和权值,同样的p4会提供纵线和权值,而p3只会为其提供一个权值。利用这些权值和这个网格单元本身拥有的权值,可以计算一个score上限,所有权值之和减去最小的距离代价得到一个score上限,这个上限指的是如果矩形的右上角落在这个网格单元内,那么顶多能达到的score最高值。利用它能对网格单元进行初步的剪枝。
scoreU(Ni,j)=β∑w(p)-λdistmin
3)对于没有被剪枝的网格单元,为其内部所有的数据点构造横纵线。那么再加上之前映射的横纵线,每个网格单元就拥有了一个横线集合和一个纵线集合。
4)每个网格单元中,横线集合与纵线集合会相交得到一个交叉点集。在这些交叉点中,需要去除大量无用交叉点,在这些交叉点的任意一条交叉线上没有数据点,或者数据点离交叉点的距离分别大于长和宽,则这些交叉点是没有用的。
5)为剩下的所有交叉点构造最大矩形构造方式是以交叉点为矩形远角,在本实施例中是右上角(第一象限是右上角,第二象限是左上角;即离查询点最远的那个角),并且以最大矩形为大小构建一个矩形r,参阅图4中黑实线矩形即为一个交叉点构造的最大矩形。并且用Quad-tree索引查询得到被这个矩形r所覆盖到的数据点。这些数据点为下一步的回缩提供依据。
6)为了进一步得到更好的矩形,我们需要对矩形进行缩小,缩小的过程中,首先far-corner不能移动,其次矩形的长宽比例必须保持不变,参阅图5,在矩形回缩中,在碰到一个数据点之前矩形r所获的权值并不会变,但是由于离查询点距离和矩形大小在时刻变化,score值也会不同,此时当cost为最小时,score值即为最大。用k来表示r.l,则可以用这个唯一的变量来代表cost公式如下:
area(k)=(k·k·ratio)-(ro.l·ro.w)
cost(k)=αdist(k)+(1-α)area(k)
再对cost求一阶导,结果如下:
使之等于0,于是得到一个最值,此时k为:
进一步计算cost的二阶导数是恒大于0的(当α=0时容易验证k取最小时cost最小),于是上述得到的最值是最大值,又知k的浮动范围大小,就可以得到这一步内的cost的最小值及score的最大值。将其与当前最好的score比较,留下比较好的那个。在碰到一个数据点之前,这一步矩形的收缩就完成了。遇到下一个数据点后矩形r所获的权值会减去这个数据点的权值,并再次进行回缩。最后保留最优的score值及距离这个矩形的位置和大小。
7)所有网格单元计算完毕后,算法最后输出一个最优的,也就是score值最高的矩形,包括其位置和大小。
Claims (1)
1.一种距离敏感大小可变化的最优范围位置查询的计算方法,其特征在于该方法包括以下具体步骤:
1)为整个数据集建立一个网格;
2)对每个网格单元映射,计算score上限;
3)对每个网格单元在上限不低于当前最优的情况下,为网格内所有的数据点构建横纵线;
4)所有横行与纵线交叉得到一个交叉点集,并除去无用的交叉点;
5)以每个交叉点为矩形远角far-corner构造一个最大矩形并且用范围查询找到在这个矩形范围内的所有数据点;
6)使每个最大矩形慢慢回缩,回缩的同时计算优劣值score;
7)计算完所有网格单元,输出最优矩形的位置及其大小;其中:
所述步骤1)中,网格以查询点为中心,并且网格单元大小为最大矩形
所述步骤2)中,网格单元的映射是指每个网格的相邻且离查询点较近的三个网格要为当前网格提供横线纵线以及权值;每个网格单元的score上限是权值之和,再减去最小的代价得到的理论上限;其代价值设置为:cost(r,ro)=αdist(r,ro)+(1-α)area(r,ro),其中,ro是初始查询点,r为候选矩形,dist(r,ro)为距离代价,area(r,ro)为矩形变大代价,α是一个可变参数;
所述步骤4)中,除去无用的交叉点是指:在交叉点的任意一条交叉线上没有数据点或者数据点离交叉点的距离分别大于长和宽,则这些交叉点是没有用的,需去除;
所述步骤5)中,以交叉点为far-corner以为大小构建一个矩形,其范围查询是利用Quad-tree来进行;
所述步骤6)中,矩形回缩时保证长宽比不变,far-corner固定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510396850.2A CN105005609B (zh) | 2015-07-08 | 2015-07-08 | 距离敏感大小可变化的最优范围位置查询的计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510396850.2A CN105005609B (zh) | 2015-07-08 | 2015-07-08 | 距离敏感大小可变化的最优范围位置查询的计算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105005609A CN105005609A (zh) | 2015-10-28 |
CN105005609B true CN105005609B (zh) | 2018-03-13 |
Family
ID=54378285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510396850.2A Active CN105005609B (zh) | 2015-07-08 | 2015-07-08 | 距离敏感大小可变化的最优范围位置查询的计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105005609B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117742667A (zh) * | 2024-02-19 | 2024-03-22 | 北京智行者科技股份有限公司 | 图形连线中路径的确定方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102176206A (zh) * | 2011-01-18 | 2011-09-07 | 宇龙计算机通信科技(深圳)有限公司 | 兴趣点周边查找方法及装置 |
CN102541922A (zh) * | 2010-12-24 | 2012-07-04 | 华东师范大学 | 一种基于不确定数据集的双色反最邻近查询的方法及装置 |
CN104135715A (zh) * | 2014-06-10 | 2014-11-05 | 腾讯科技(深圳)有限公司 | 一种位置服务的实现方法、装置,及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8543579B2 (en) * | 2005-06-17 | 2013-09-24 | International Business Machines Corporation | Range query methods and apparatus |
-
2015
- 2015-07-08 CN CN201510396850.2A patent/CN105005609B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541922A (zh) * | 2010-12-24 | 2012-07-04 | 华东师范大学 | 一种基于不确定数据集的双色反最邻近查询的方法及装置 |
CN102176206A (zh) * | 2011-01-18 | 2011-09-07 | 宇龙计算机通信科技(深圳)有限公司 | 兴趣点周边查找方法及装置 |
CN104135715A (zh) * | 2014-06-10 | 2014-11-05 | 腾讯科技(深圳)有限公司 | 一种位置服务的实现方法、装置,及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105005609A (zh) | 2015-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Meraihi et al. | A comprehensive survey of Crow Search Algorithm and its applications | |
Sun et al. | Estimating the spatial distribution of solar photovoltaic power generation potential on different types of rural rooftops using a deep learning network applied to satellite images | |
CN103336783B (zh) | 联合泰森多边形与反距离加权的密度图制图方法 | |
CN102682115B (zh) | 一种基于Voronoi图的点密度专题图制作方法 | |
Huang et al. | A land-use spatial optimum allocation model coupling a multi-agent system with the shuffled frog leaping algorithm | |
CN104657436A (zh) | 基于MapReduce的静态瓦片金字塔并行构建方法 | |
CN110334391A (zh) | 一种多维度约束风电场集电线路自动规划方法 | |
CN107730099A (zh) | 一种空间规划模型建立方法 | |
CN107895031B (zh) | 建筑信息模型在三维数字城市场景中自适应动态调度方法 | |
CN107833282A (zh) | 一种地形建模和网格生成方法及装置 | |
CN109271683A (zh) | 一种面向日照约束的建筑群自动排布算法 | |
CN109697316A (zh) | 城市设计数字化、可视化交互系统 | |
CN107918953A (zh) | 基于三维空间的激光扫描电力线点云的提取方法及装置 | |
CN110084865A (zh) | 一种离散点分级加权拟合规则格网的方法 | |
CN106844757A (zh) | 一种天线方位角异常数据挖掘方法 | |
CN109885082A (zh) | 一种基于任务驱动下的无人机航迹规划的方法 | |
Thai et al. | Challenges estimating distributed solar potential with utilization factors: California universities case study | |
CN105005609B (zh) | 距离敏感大小可变化的最优范围位置查询的计算方法 | |
CN105893590A (zh) | 一种用于数字地形分析建模知识案例化自动处理方法 | |
CN108537401A (zh) | 城市三维绿色空间覆盖率的评估方法、系统、存储介质及终端 | |
CN104700218B (zh) | 用于确定电网分区数量以及电网分区的方法和系统 | |
CN110672100A (zh) | 基于多分辨率的快速地形路径规划并行化方法 | |
CN107103381A (zh) | 一种数据中心的规划方法和系统 | |
Rylatt et al. | Using GIS to estimate the replacement potential of solar energy for urban dwellings | |
Li et al. | [Retracted] Analysis of the Spatial Distribution Pattern of the Urban Landscape in the Central Plains under the Influence of Multiscale and Multilevel Morphological Geomorphology |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |