CN103336778B - 一种面向并行poi简化的任务拆分与分发方法 - Google Patents
一种面向并行poi简化的任务拆分与分发方法 Download PDFInfo
- Publication number
- CN103336778B CN103336778B CN201310197054.7A CN201310197054A CN103336778B CN 103336778 B CN103336778 B CN 103336778B CN 201310197054 A CN201310197054 A CN 201310197054A CN 103336778 B CN103336778 B CN 103336778B
- Authority
- CN
- China
- Prior art keywords
- poi
- point
- parallel
- data
- circle
- 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.)
- Expired - Fee Related
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明公开了一种面向并行POI简化的任务拆分与分发方法。具体步骤如下:(1)读取POI数据;(2)计算目标数据POI数量Nf;(3)设置并行计算的计算节点数N;(4)建立面向并行POI简化的数据粒度模型;(5)并行计算每个POI点的Hi集合(表示以点i为圆心C<i,j>为半径的圆内切于以点j为圆心C<i,j>为半径的圆的C<i,j>的集合);(6)判断剩余的点数Nr和目标数据POI数量Nf的关系:如果Nr大于Nf,转入第(7)步;如果Nr小于Nf,结束;(7)对每个计算节点中POI点的Hi进行并行排序;(8)并行求出全局Hi最小值Gc;(9)选取最小值Gc对应的POI点,转入第(6)步;重复步骤(6)-(9)直至结束。本发明具有简单化、自动化、智能化的特点,不仅能提高并行POI化简的效率,还能保证并行POI化简的准确性。
Description
技术领域
本发明属于地图自动综合和并行计算的交叉技术领域,特别是涉及利用任务并行的方法实现POI简化的并行化。
背景技术
POI(PointsofInterest),兴趣点,涵盖了餐饮、娱乐、金融机构、旅游景点、地标建筑、加油站、停车场等人们日常生活中最为经常的基础信息,POI数据的准确性,属性的丰富程度、表达的清晰度及其实时显示效率都将影响移动地图的质量与可用性效果。但当前POI表达存在许多问题,特别是在用户搜索特定信息时,由于查询结果数据量较大,会造成某几个区域POI的重叠、压盖等,进而影响用户的对地理空间的认知,降低地图的可用性。有关文献:[1]沈婕.移动环境地图自动综合方法研究[D].南京师范大学,2010.
地图综合是解决该问题的一个可行方案,但是其本身就是一个复杂问题,特别是针对POI的综合研究还处于起步阶段。相对于传统的纸质、桌面中的点要素简化,POI的简化操作具有新的特点,随着用户的位置和操作不断变化使得地图的范围与尺度不断变化,因此POI的简化要快速实时的响应用户的操作,才能满足用户的需求。传统的纸质、桌面中的点要素简化算法大都比较复杂,效率普遍不高,难以满足用户动态、实时地图生成的需求,现在,分布式、网格、集群、云计算等高性能计算技术,为POI简化算法效率的提高提供了新方法。
地图综合领域的并行算法设计主要是从数据分解和任务分解两个角度进行。
a)数据分解是通过特定的算法将空间数据进行划分,使得划分结果尽量的均衡;数据划分是通过对空间数据分簇实现的,分为静态分簇和动态分簇。静态分簇是根据数据的某一个或多个属性值,按照某种规则对数据进行划分;动态分簇可以通过负载均衡对空闲进程任务再分配来提高负载均衡。
b)任务分解是根据算法的特征和并行计算环境的特点,分析算法中可并行的部分,对算法进行全局和局部的并行化,就地图综合而言,包含不同的算子,可将按算子划分任务,各计算节点执行不同的任务。
发明内容
针对现有POI化简方法的局限性,结合并行计算领域的任务划分方法,本发明提供一种面向并行POI简化的任务拆分与分发方法,不仅能提高并行POI化简的效率,还能保证并行POI化简的准确性。其研究成果也为实际生产中的制图综合提供重要的理论指导和技术方法支持。
本发明的技术解决方案为:
一种面向并行POI简化的任务拆分与分发方法,其特征在于,具体步骤如下:
1.读取POI数据,定性定量地了解被综合POI数据的情况,包括:源数据POI点数Ns和源数据比例尺Ms;
2.计算目标数据POI数量Nf:目标数据的POI数量决定了综合过程中要删除的点的数量,其计算公式为:
其中Mf代表目标数据比例尺分母;
3.设置并行计算的计算节点数N;
4.建立面向并行POI简化的数据粒度模型:数据粒度模型是对并行POI简化过程中数据的抽象,具体的数学表示为:
G=(ID,C,A)
其中,G代表数据粒度,由三元组ID、C、N组成,ID表示数据集合的ID号,ID号和计算节点对应,拥有不同的ID号的数据被分配到不同的计算节点进行计算;C表示POI集合;A代表集合中的POI点数量;
5.并行计算每个POI点的Hi集合,Hi集合表示以点i为圆心C<i,j>为半径的圆内切于以点j为圆心C<i,j>为半径的圆的C<i,j>的集合:
设POI点的权值为I,第i个POI点的权值Ii为:
kj为权系数,且满足,j=1,2,…n,n代表POI点的属性个数,Wj为第i个POI点的第j个属性值;
每个计算节点计算分配到该节点上的POI点的权值,然后计算每个计算节点中所有POI点为圆心形成的圆内切与其余所有点时的C值,计算过程为:
a)首先计算第i个POI点和第j个POI点的距离:
Pi.x代表第i个POI点的X坐标,Pi.y代表第i个POI点的Y坐标,Pj.x代表第j个POI点的X坐标,Pj.y代表第j个POI点的Y坐标;
b)计算以第i个POI点为圆心形成的圆内切于以第j个POI点为圆心形成的圆时的C<i,j>值:
C<i,j>=Dis<i,j>/(Ij–Ii);
c)利用上一步的方法计算第i个POI点与所有POI点的C<i,j>值,得到Hi集合;
d)计算该计算节点上的每个点到所有POI点的Hi集合;
6.判断剩余的点数Nr和目标数据POI数量Nf的关系:
如果Nr大于Nf,转入第7步;
如果Nr小于Nf,结束;
7.对每个计算节点中POI点的Hi集合进行并行排序;
利用快速排序算法对每个POI点的Hi集合进行按升序排列,得到排列好的Hi集;
8.并行求出全局Hi集最小值Gc:首先求出每个POI点的最小的C值,然后求出每个计算节点上的最小C值,最后每个计算节点上的最小的C值,得到最小值Gc;
9.选取最小值Gc对应的POI点,转入第6步;重复步骤6-9直至结束。
本发明的技术特点及有益效果:本发明总体上具有简单化、自动化、智能化的特点,相对与目前在实际工程中应用广泛应用的各种POI简化方法,本发明主要解决的问题有:
1、充分利用并行计算技术的优点,把并行计算引入POI简化问题的求解;
2、根据POI简化问题的特点,设计了面向并行POI简化的任务拆分方法,构建了适用于POI简化的并行算法模型;
3、本发明提出的面向并行POI简化的数据粒度模型的计算方法,把POI数据按计算节点进行划分,打破了数据的相关性,使得每个计算节点的计算任务量相同;在性能相同的计算节点间,保证了负载均衡。
本发明不仅为推动POI简化技术体系朝着自动化与智能化发展提供新的思考方向,丰富相关研究的内容与方法。其研究成果也为实际生产中的制图综合提供重要的理论指导和技术方法支持。
附图说明
图1为本发明的面向并行POI简化的任务拆分与分发流程图。
图2圆增长算法计算过程,(a)为原始点集,(b)第一次增长结果,(c)第二次增长结果,(d)简化结果。
图3以矩形框数据划分方法为例的“圆”增长算法并行处理示意图,(a)数据划分结果,(b)并行第一次增长结果,(c)并行简化结果。
图4圆增长算法并行化流程图。
图5C<i,j>计算原理图。
具体实施方式
以下结合附图,以圆增长算法为例,对本发明的面向并行POI简化的任务拆分与分发方法的具体实施方式作详细说明。
本发明以改进的圆增长算法为例,做任务并行,其实现步骤如图1所示:
1.圆增长算法的原理
为方便描述“圆”增长算法的处理流程,定义以下变量,如表1所示。
表1变量的定义
“圆”增长算法的基本思想是:将点升维,用一个以其为圆心的圆来表示该点,圆的半径与点的权值成正比,即Ri=C×Ii(Ri为第i个点的圆半径,Ii为第i个点的权值,C为常量且C>0)。算法的基本过程是:逐渐增大C值使得每一次有且仅有一个圆被另外一个圆包含,此时选取被包含的点。重复此过程直到只包含一个点,此时确定了所有点集的选取队列,其基本过程如附图2所示。
2.圆增长算法改进
通过上一步的分析可知,每一次的选取点(该点将被加入到删除队列中)过程,都将执行计算点群中任意点之间距离和增加C使得有且仅有一个以点i为圆心C为半径的圆内切于另外一个以点j为圆心C为半径的圆这两个过程。
改进方法1:保存任意点之间的距离值,方便下次计算。
这种方法虽然一定程度上提高了效率,但是需要耗费很大的空间。比如点集合V中含有100个点,那么就需要开辟100*100个空间来保存这些数据,如果数据量达到100w,那么该方案将会很大的浪费空间。
改进方法2:一次计算以任意点i形成圆内切于以任意点j形成圆。
改进方法1中,增长C导致每次都需重新的计算距离,因此在不改变“圆”增长算法本质的基础上修改其处理流程:
a)计算点集合中以任意点i形成圆内切于其余所有点时的C值;
b)对点i的Hi进行升序排序,保存其最小值C<i,j>;
c)求最小的Gc,并将对应的i点加入到选取集合中,更新每个Hi的最小值;
d)重复第三步骤直到所有点都被选取;
该方法适应于选取特定数目的点,然后将其删除,针对这种情况,可以对Hi集合进行优化,减少存储空间和更新Hi的次数。
3.圆增长算法并行化分析
算法并行化通常分为数据并行化和任务并行化两个方面,下面就这两个方面进行分析。
数据并行性分析:
“圆”增长算法的核心是增长C值,进而增长点形成圆的空间,使其包含更多的小圆,那么随着C值的不断增长,点i形成的圆可能会跨越出它所被分配的数据空间,与相邻空间中的点j形成全局最小值,但是由于它们所处数据块不同,这个最小值不会被处理,这将导致全局最小值并局部最小值代替与“圆”增长算法的核心思想冲突。以矩形框数据划分方法为例,算法并行执行流程图如图3所示。
图3中图a采用矩形框的数据划分方法将点集合V划分为两个子集合Part1和Part2,其中Part1包含点B、点C和点E,Part2包含点A和点D。图b中使用“圆”增长算法的对每个点集合做选取,Part1的选取点C并将其删除,Part2选取D并将其删除。图c中显示了最终的简化结果。
任务并行性分析:
本发明针对改进后的“圆”增长算法进行任务并行化的分析。改进后算法可分为三个步骤,步骤3依赖步骤1和步骤2,步骤2依赖步骤1,步骤1是独立的,因此可将这三步计算独立并行化,首先对步骤1并行化,然后再对步骤2并行化,步骤3每次选取点的过程对求解最小值并行化。其流程图如图4所示。
4.读取POI数据,定性定量的了解被综合POI数据的情况,主要包括:源数据POI点数Ns,源数据比例尺Ms。
5.计算目标数据POI数
目标数据的POI数量决定了综合过程中要删除的点的数量,其计算公式为:
其中Nf代表目标数据POI数量,Ns代表原始数据POI数量,Ms代表原始数据比例尺分母,Mf代表目标数据比例尺分母。
6.设置并行计算的计算节点数N;
7.建立面向并行POI简化的数据粒度模型:
数据划分模型是对并行POI简化过程中数据的抽象,具体的数学表示为:
G=(ID,C,A)(2)
其中,G代表数据粒度,由三元组ID、C、N组成,ID表示数据集合的ID号,ID号和计算节点对应,拥有不同的ID号的数据被分配到不同的计算节点进行计算;C表示POI集合;A代表集合中的POI点数量。
8.并行计算每个POI的Hi集合
设POI点的权值为I,第i个POI的权值Ii为:
kj为权系数(权系数的设定需要根据POI的数据类型和具体的应用来确定),且满足,Wj为第i个POI点的第j个属性值。
每个计算节点计算分配到该节点上的POI点的权值,然后计算每个计算节点中所有POI点为圆心形成的圆内切与其余所有点时的C值。计算过程为:
a)首先计算POI点i和POI点j的距离:
Pi.x代表POI点i的X坐标,Pi.y代表POI点i的Y坐标,Pj.x代表POI点j的X坐标,Pj.y代表POI点j的Y坐标;
b)计算以POI点i为圆心形成的圆内切于以POI点j为圆心形成的圆时的C<i,j>值
Ri=C×Ii(5)
Rj=C×Ij(6)
Dis<i,j>=Ri-Rj(7)
利用上面三个公式可以推出C<i,j>=Dis<i,j>/(Ij–Ii)(8)
其计算原理如图5所示;
c)利用上一步的方法计算点i与所有POI点的C<i,j>值,得到Hi集合;
d)计算该计算节点上的每个点到所有POI点的Hi集合。
9.判断剩余的点数Nr和目标数据点数和Nf的关系:
如果Nr大于Nf,转入第10步;
如果Nr小于Nf,结束;
10.对每个计算节点中POI点的Hi进行并行排序;
利用快速排序算法对每个POI点的Hi集进行按升序排列,得到排列好的Hi集合。
11.并行求出全局Hi最小值Gc;
首先求出每个POI点的最小的C值
然后求出每个计算节点上的最小C值
最后每个计算节点上的最小的C值,得到最小值Gc。
12.选取Gc对应的POI点,转入第9步;重复9-12直至结束。
本文中所描述的具体实例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
Claims (1)
1.一种面向并行POI简化的任务拆分与分发方法,其特征在于,具体步骤如下:
(1)读取POI数据,定性定量地了解被综合POI数据的情况,包括:源数据POI点数Ns和源数据比例尺Ms;
(2)计算目标数据POI数量Nf:目标数据的POI数量决定了综合过程中要删除的点的数量,其计算公式为:
其中Mf代表目标数据比例尺分母;
(3)设置并行计算的计算节点数N;
(4)建立面向并行POI简化的数据粒度模型:数据粒度模型是对并行POI简化过程中数据的抽象,具体的数学表示为:
G=(ID,S,A)
其中,G代表数据粒度,由三元组ID、S、A组成,ID表示数据集合的ID号,ID号和计算节点对应,拥有不同的ID号的数据被分配到不同的计算节点进行计算;S表示POI集合;A代表集合中的POI点数量;
(5)并行计算每个POI点的Hi集合,Hi集合表示当以点i为圆心Ri为半径的圆内切于以点j为圆心Rj为半径的圆时所对应的C值的集合:
设POI点的权值为I,第i个POI点的权值Ii为:
kj为权系数,且满足,j=1,2,…n,n代表POI点的属性个数,Wj为第i个POI点的第j个属性值;
每个计算节点计算分配到该节点上的POI点的权值,然后计算每个计算节点中所有POI点为圆心形成的圆内切与其余所有点时的C值,计算过程为:
a)首先计算第i个POI点和第j个POI点的距离:
Pi.x代表第i个POI点的X坐标,Pi.y代表第i个POI点的Y坐标,Pj.x代表第j个POI点的X坐标,Pj.y代表第j个POI点的Y坐标;
b)计算以第i个POI点为圆心形成的圆内切于以第j个POI点为圆心形成的圆时的C值:
C<i,j>=Dis<i,j>/(Ij–Ii);
c)利用上一步的方法计算第i个POI点与所有POI点的C值,得到Hi集合;
d)计算该计算节点上的每个点到所有POI点的Hi集合;
(6)判断剩余的点数Nr和目标数据POI数量Nf的关系:
如果Nr大于Nf,转入第(7)步;
如果Nr小于Nf,结束;
(7)对每个计算节点中POI点的Hi集合进行并行排序;
利用快速排序算法对每个POI点的Hi集合进行按升序排列,得到排列好的Hi集;
(8)并行求出全局Hi集最小值Gc:首先求出每个POI点的最小的C值,然后求出每个计算节点上的最小C值,最后将每个计算节点上的最小C值进行排序,得到一个全局的最小值Gc;
(9)选取最小值Gc对应的POI点,转入第(6)步;重复步骤(6)-(9)直至结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310197054.7A CN103336778B (zh) | 2013-05-23 | 2013-05-23 | 一种面向并行poi简化的任务拆分与分发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310197054.7A CN103336778B (zh) | 2013-05-23 | 2013-05-23 | 一种面向并行poi简化的任务拆分与分发方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103336778A CN103336778A (zh) | 2013-10-02 |
CN103336778B true CN103336778B (zh) | 2016-06-15 |
Family
ID=49244943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310197054.7A Expired - Fee Related CN103336778B (zh) | 2013-05-23 | 2013-05-23 | 一种面向并行poi简化的任务拆分与分发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103336778B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104036688B (zh) * | 2014-05-27 | 2019-05-14 | 厦门雅迅网络股份有限公司 | 基于地图载负量动态筛选电子地图点状要素的方法 |
CN105989024A (zh) * | 2015-01-30 | 2016-10-05 | 北京陌陌信息技术有限公司 | 确定用户所在的位置区域的方法和装置 |
CN106021458A (zh) * | 2016-05-16 | 2016-10-12 | 广州鼎鼎信息科技有限公司 | 一种云环境下的大数据快速聚合查询方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101493334A (zh) * | 2009-03-10 | 2009-07-29 | 深圳市凯立德计算机系统技术有限公司 | 导航系统及其周边兴趣点检索方法 |
CN102933938A (zh) * | 2010-02-08 | 2013-02-13 | 通腾波兰股份有限公司 | 用于评估兴趣点的属性的方法及设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130097162A1 (en) * | 2011-07-08 | 2013-04-18 | Kelly Corcoran | Method and system for generating and presenting search results that are based on location-based information from social networks, media, the internet, and/or actual on-site location |
-
2013
- 2013-05-23 CN CN201310197054.7A patent/CN103336778B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101493334A (zh) * | 2009-03-10 | 2009-07-29 | 深圳市凯立德计算机系统技术有限公司 | 导航系统及其周边兴趣点检索方法 |
CN102933938A (zh) * | 2010-02-08 | 2013-02-13 | 通腾波兰股份有限公司 | 用于评估兴趣点的属性的方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103336778A (zh) | 2013-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Huang et al. | Explorations of the implementation of a parallel IDW interpolation algorithm in a Linux cluster-based parallel GIS | |
CN106443833B (zh) | 一种基于云计算的数值天气预报方法 | |
Yu et al. | Evaluating China's urban environmental sustainability with Data Envelopment Analysis | |
CN103336778B (zh) | 一种面向并行poi简化的任务拆分与分发方法 | |
CN103544385A (zh) | 顾及空间异质性的多尺度空间负荷预测方法 | |
CN102982389A (zh) | 使用基于MapReduce的蚁群优化技术求解组合优化问题的方法 | |
CN103268342A (zh) | 基于cuda的dem动态可视化加速系统和方法 | |
Lin et al. | A spark-based high performance computational approach for simulating typhoon wind fields | |
CN115965102A (zh) | 一种碳排放时空大数据的定位和计算方法及系统 | |
Liao et al. | Errors prediction for vector-to-raster conversion based on map load and cell size | |
CN103279985A (zh) | 一种复杂地形结构体系三维有限元模型的智能化建模方法 | |
CN113743659A (zh) | 一种基于成分法和马尔可夫元胞自动机的城市布局预测方法及应用 | |
CN116026341B (zh) | 多无人机均衡路径规划方法及装置 | |
CN108596390B (zh) | 一种解决车辆路径问题的方法 | |
Li et al. | Analysis of the challenges and solutions of building a smart city | |
CN110110448A (zh) | 一种基于wrf的天气模拟方法、系统和可读存储介质 | |
CN109992747A (zh) | 一种基于gis平台的空间平衡抽样方法 | |
CN116049501A (zh) | 一种空间场景空间关系自然语言描述生成方法 | |
García-García et al. | Efficient distributed algorithms for distance join queries in spark-based spatial analytics systems | |
CN110019167A (zh) | 一种中长期新能源资源资料库构建方法及系统 | |
CN108491482A (zh) | 一种顾及邻近度关系的地质图动态综合方法及系统 | |
CN102693161B (zh) | 一种并行的土地资源质量评价因子空间量化方法 | |
CN107169590B (zh) | 基于平面格局三要素和分形计算的城市形态分析管控方法 | |
Wichmann et al. | Methods for calculating walking distances | |
Balasubramaniam et al. | Understanding urban spatio-temporal usage patterns using matrix tensor factorization |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160615 Termination date: 20190523 |