一种云平台下的顾及层次路网约束的点载负量计算方法与流程

文档序号:14121548阅读:319来源:国知局
一种云平台下的顾及层次路网约束的点载负量计算方法与流程

本发明涉及地图自动综合和云计算的交叉技术领域,尤其涉及一种云平台下的顾及层次路网约束的点载负量计算方法。



背景技术:

点数据信息是现在网络地图和移动地图甚至其他专业性地图(如地质图件)需要表达的重要因素,随着手机以及网络带宽的发展使得用户的访问量及上传量不断加大,导致点要素规模与日俱增。如今点数据已成为空间大数据的一个非常重要的组成部分,尤其是近几年伴随着大数据时代的发展,点要素的数据量更是以一种惊人的速度增加。如果点要素的数据量非常巨大,在点要素显示表达时不能很好地对点要素数据进行表达。空间地理数据在进行尺度变换等操作时,符号图形之间极易出现拥挤、压盖等占位矛盾现象,在线过滤在一定程度上缓解了这个问题,但是过滤仅仅是从计算机领域提出的解决方案,,还不能体现要素之间的空间关系,有关文献:[1]grantmckenzie.poipulse:amulti-granular,semanticsignatures-basedinformationobservatoryfortheinteractivevisualizationofbiggeosocial[j].

制图综合是解决这个问题的有效途径,但是由于制图综合本身就是一个十分复杂的问题,其中在云平台下的点综合还处于起步阶段,国内外专家学者在这方面的研究较少。相对于单机情况下的点综合,云平台下的点综合可以处理更大规模的数据,并且在可以快速实时地响应用户前端的表达需求。传统的点综合算法效率不高,导致实时地图的生成需求不能满足日益增长的数据规模,现在云计算等高性能计算技术的发展,为点综合算法效率的提高提供了新的方法,但是在这种新方法下,原先的制图综合的约束条件也需要进行新的计算和交互方法。



技术实现要素:

发明目的:本发明针对现有单机点综合的局限性,结合云平台的计算特点,本发明提供一种云平台下的顾及层次路网约束的点载负量计算方法,不仅可以保证云平台下点综合的准确性,也可以提高点综合的计算效率。其研究成果也为实际生产中的制图综合提供重要的理论知道和技术方法支持。

技术方案:本发明所述的云平台下的顾及层次路网约束的点载负量计算方法包括以下步骤:

(1)依据地理范围从空间数据集中提取要进行综合的路网数据,包括源数据点数据量ns和源数据比例尺分母ms。

(2)根据源数据点数据量ns、源数据比例尺分母ms和目标数据比例尺分母mf,计算综合后目标数据中的点数量num:

(3)依据从空间数据集上提取的路网数据进行基于层次路网的数据划分,得到多个数据簇,具体表示为:

g=(id,c,a)

其中,g表示层次路网划分后的数据簇,有三元组id、c、a组成,其中id表示数据簇的id号,id号与路网网眼相对应,并且与集群中的计算节点对应,拥有不同的id号的数据分配到不同的计算节点中运算;c代表数据簇内的点数据集合;a表示数据簇内的点数据量。

(4)根据数据簇内的点数据量ni、地图载负量nf和原始地图比例尺下点数据量ns计算该数据簇综合后应该分配到的点数据量ai:

(5)根据层次路网对点要素的几何约束计算得到载负量bi,如果ai大于bi,则表明该层次路网内的点过多,需要以层次路网对点要素的约束为主导约束,则选用bi作为该数据簇内的载负量mi;否则选用ai作为载负量mi。其中,载负量bi的计算公式为:

式中,表示第i个数据簇内第j个网眼的载负量。

(6)更新ni的值,返回执行步骤(4),从而计算得到每个数据簇内的载负量。

(7)对所有数据簇内的载负量进行累加得到若sum≤num,则进行结果输出,若不满足,则返回执行步骤(3)。

有益效果:本发明与现有技术相比,其显著优点是:(1)充分利用数据划分的优点,把数据划分思路引入到载负量计算问题的求解中;(2)根据层次路网划分的特点,提出层次路网划分下的点综合载负量的计算方法,把点数据按照计算节点和层次路网进行划分不仅可以保护点数据的空间相关性并且可以使得各个计算节点的任务量相对平衡。

附图说明

图1是本发明的一个实施例的流程示意图;

图2是云平台下数据划分的流程示意图;

图3是层次路网对点要素的几何约束示意图;

图4是poi载负量计算示意图。

具体实施方式

下面结合所附流程图,对本发明的具体实施作详细说明:

1.地图载负量计算的原理

地图载负量是衡量地图内容多少的数量指标,可以作为地图制图综合中各种研究的直接依据,是制图综合中非常重要的约束条件之一。其计算公式为:

其中nf表示地图载负量,ns表示源数据比例尺下点数据量,ms表示源数据比例尺分母,mf代表目标数据比例尺分母,点数据量即poi(兴趣点)的数据量。

如图2所示,在云平台上进行点综合的第一步是需要进行数据划分,在实施例中所涉及的数据划分方法为基于层次路网的划分,在该方法下,点数据能在保证空间关系的基础上更大程度地保障负载均衡。在云平台下的点综合中的载负量对点综合的约束作用类似于传统的点综合过程,由于点综合算子算法依赖于mapreduce并行计算框架,在进行算法实现的过程中,势必需要对原始点数据集合进行数据划分,划分后的数据进行点综合算法实现,在数据划分过后,原始点数据集合被分为若干数据块,对划分后的数据块进行综合的过程中,不能够用传统的点综合载负量进行约束,因此需要针对数据划分对载负量进行再次计算,满足在云平台下数据划分后点综合对载负量的计算。

2.载负量算法改进

通过上一步分析可知,针对每一个数据簇,需要重新计算单元内的载负量。因此本实施例提出的改进方法:利用层次路网对点要素的几何约束来计算数据簇内的载负量。在地图表达中,路网对点要素的几何约束限定了一条道路路段两边以及一个道路网眼内部,能够清晰表达的点要素的个数,即道路路段的图上长度应大于等于所有位于道路一边的点要素符号直径加上最小间隔之和的总和,而网眼内能够清晰呈现的点要素个数也受网眼约束,道路网眼是点要素的生存空间(点要素的尺寸约束加上点要素之间的最小间隔,构成点要素的最小生存空间)的多少整数倍,即网眼内能够清晰呈现的点要素个数。

如图3所示:以d1表示网眼最外轮廓,d2表示d1外轮廓填充满poi后的内部轮廓,以此类推d3,d4,d5…….用e1表示d1外轮廓下充满poi的个数,e2表示d2轮廓下的点要素个数,以此类推。

上式中numroadnet表示道路网眼约束下的poi的总数,为网眼内能够清晰呈现的poi个数,pi表示第i个网眼中poi的个数,n为网眼个数。

ei的数目由构成ei的边计算,每条边对poi约束类比道路路段对poi的约束,则ei计算公式可以描述为:

其中,l为构成di轮廓的多边形的各个路段实际长度,mf为目标比例尺分母,m为多边形的边数,r为点要素符号半径,d为点要素之间的最小间隔。

而道路路段的图上长度应大于等于所有位于道路一边的点要素符号直径加上最小间隔之和的总和,所以道路路段约束下的poi个数为:

其中,lr表示完整道路路段的实际长度。

在完成上述计算以后,如图4所示,道路网眼约束的poi个数和道路路段约束的poi个数在网眼边处重复计算了两次,所以需要重新计算网眼边约束的poi个数,上面两者相加的基础上减去网眼边约束的个数,网眼边约束的poi个数的计算方法类似于道路路段约束,逐网眼计算并求和:

numnetroad表示网眼边约束的poi个数,qi表示构成各网眼的道路(网眼边)约束下的poi个数,li表示各网眼的网眼边的实际长度。

由式(2)(4)(5)推理可得poi载负量计算公式:

其中,numroad为道路路段约束的poi个数,numroadnet为网眼内能够清晰呈现的poi个数,numnetroad为网眼边约束的poi个数。按照以上方法可以很好的计算单个网眼内的地图载负量。

3、点载负量计算方法

如图1所示,对于全部数据簇内的数据点数量计算流程如下:

(1)依据地理范围从空间数据集中提取要进行综合的路网数据,包括源数据点数据量ns和源数据比例尺分母ms。

(2)根据源数据点数据量ns、源数据比例尺分母ms和目标数据比例尺分母mf,计算综合后目标数据中的点数量num:

(3)依据从空间数据集上提取的路网数据进行基于层次路网的数据划分,得到多个数据簇,具体表示为:

g=(id,c,a)

其中,g表示层次路网划分后的数据簇,有三元组id、c、a组成,其中id表示数据簇的id号,id号与路网网眼相对应,并且与集群中的计算节点对应,拥有不同的id号的数据分配到不同的计算节点中运算;c代表数据簇内的点数据集合;a表示数据簇内的点数据量。

(4)根据数据簇内的点数据量ni、地图载负量nf和原始地图比例尺下点数据量ns计算该数据簇综合后应该分配到的点数据量ai:

(5)根据层次路网对点要素的几何约束计算得到载负量bi,如果ai大于bi,则选用bi作为该数据簇内的载负量mi;否则选用ai作为载负量mi。其中,载负量bi的计算公式为:

式中,表示第i个数据簇内第j个网眼的载负量,按照式(6)计算即可得到。

(6)更新ni的值,返回执行步骤(4),从而计算得到每个数据簇内的载负量。

(7)对所有数据簇内的载负量进行累加得到若sum≤num,则进行结果输出,若不满足,则返回执行步骤(3)。

以上所揭露的仅为本发明一种较佳实施例而已,不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1