当前位置: 首页 > 专利查询>南京大学专利>正文

基于多边形复杂度的并行栅格化数据划分方法技术

技术编号:19780458 阅读:52 留言:0更新日期:2018-12-15 11:56
本发明专利技术涉及一种基于多边形复杂度的并行栅格化数据划分方法,包括以下步骤:遍历所有多边形,计算每个多边形的最小外接矩形包含的栅格数目并归一化;计算各多边形的复杂度PC,并按从小到达的顺序进行排序形成队列;每次从队列首端和末端分别取出一个多边形,将其依次分配给所有的进程,直至所有的多边形分配完毕;各进程分别对被分配的多边形的最小外接矩形依次进行栅格化,其栅格化的结果以矩形栅格组存在,记录所述矩形栅格组的左上角点坐标以及该矩形栅格组的X方向和Y方向的栅格长度;各进程分别将其栅格化后得到的矩形栅格组写入到目标栅格中。本发明专利技术可以保证负载均衡并提高栅格化并行处理的效率。

【技术实现步骤摘要】
基于多边形复杂度的并行栅格化数据划分方法
本专利技术涉及一种基于多边形复杂度的并行栅格化数据划分方法,属于图像处理

技术介绍
矢量数据栅格化是地理信息系统(GeographicInformationSystem,GIS)中的基础问题。矢量栅格化包括点的栅格化、线的栅格化以及多边形的栅格化,以多边形栅格化最为复杂。多边形栅格化不需要进行多边形之间的互操作,划分粒度为单个多边形,因而多边形栅格化的复杂度只与多边形自身有关。多边形栅格化一般过程为:遍历多边形,判断每个多边形内部及边界上的栅格单元,并将多边形属性值赋给这些栅格单元。传统的多边形栅格化算法主要有扫描线法、边界代数法和包含检验法等;以后改进的栅格化算法大都由这几类方法衍生的。各算法虽然原理不同,但具有一些相同点:①多边形栅格化的关键步骤是判定多边形内部及边界上的栅格单元并将其进行填充;②对单个多边形的栅格化处理过程都可在多边形最小外接矩形(MinimumBoundingRectangle,通常简称为MBR)内进行,与其他多边形以及最小外接矩形以外的区域无关;③多边形栅格化不依赖于具体的填充计算算法,其基本过程都是对矢量数据集中的多边形逐个进行栅格填充。随着对地观测技术的快速发展和矢量数据规模的急剧增长,现有栅格化算法的串行模式和单机的硬件平台,已经无法满足大规模矢量数据快速栅格化处理的需求。随着大数据时代的到来,采用高性能并行计算技术来减少大规模地理数据的处理时间已成为重要手段。因此,发展多边形并行栅格化技术就尤为迫切和必需。在并行化过程中,数据如何划分是最关键的问题,良好的数据划分可有效提高并行效率、实现负载均衡。通用的多边形划分方法包括基于多边形ID的划分方法(DecompositionbasedonPolygonIDSequence,DPIDS)和基于空间位置的划分方法(DecompositionbasedonSpatialPosition,DSP),已在一些多边形计算中得到应用。然而,考虑到多边形存储结构复杂、计算类型多样,传统方法不能适用所有多边形计算,需要针对特定算法设计划分方法,如针对空间数据查询操作构造空间曲线对多边形进行划分,针对磁盘分配利用规则格网将栅格进行划分,并通过映射函数转换为对多边形的划分,针对不同数据对象采用动态的任务分配方法,实现多边形叠置计算,等等。针对栅格化算法的并行化,现有的研究重点是考虑如何利用新型硬件架构实现算法并行化,采用通用方法进行多边形划分,DPIDS方法不考虑多边形的属性和关系特征,根据多边形的ID排列顺序均匀划分给各进程,而DSP方法将目标栅格范围划分成大小相等的栅格块并分配到不同的进程,再将每个区域映射到矢量数据空间中,建立其与矢量源数据间的映射关系,从而形成对源数据划分的结果。以上两种方法均忽略了从算法特征和多边形特征方面设计合理的划分方法,无法保证负载均衡。因此,研究新的多边形栅格化的数据划分方法以进一步提高栅格化并行处理效率显得尤为重要。
技术实现思路
本专利技术要解决技术问题是:克服上述技术的缺点,提供一种可以保证负载均衡并提高栅格化并行处理效率的栅格化数据划分方法。为了解决上述技术问题,本专利技术提出的技术方案是:一种基于多边形复杂度的并行栅格化数据划分方法,包括以下步骤:步骤一、遍历所有多边形,记录下各多边形包含的边界数目、最小外接矩形的角点坐标,根据每个多边形的最小外接矩形的角点坐标和栅格尺寸计算该多边形的最小外接矩形包含的栅格数目;步骤二、计算各归一化后多边形的边界数目值和归一化后最小外接矩形包含的栅格数目值;步骤三、计算各多边形的复杂度PC,并按从小到达的顺序进行排序形成队列,其中PC=a×Nb+(1-a)×Nr,式中,Nb为归一化后当前多边形的边界数目值,a为预设的权重值,Nr为归一化后当前多边形最小外接矩形包含的栅格数目值;步骤四、每次从队列首端和末端分别取出一个多边形,将其依次分配给所有的进程,直至所有的多边形分配完毕;步骤五、各进程分别对被分配的多边形的最小外接矩形依次进行栅格化,其栅格化的结果以矩形栅格组存在,记录所述矩形栅格组的左上角点坐标以及该矩形栅格组的X方向和Y方向的栅格长度;步骤六、各进程分别将其栅格化后得到的矩形栅格组写入到目标栅格中,即以每个矩形栅格组的左上角点坐标作为定位坐标,分别在X方向和Y方向的对应栅格长度内的栅格写入其属性值。由
技术介绍
中可知,对单个多边形的填充计算在该多边形的最小外接矩形(MBR)中进行,因而多边形的形状与大小均为影响该多边形处理效率的因素。其中,多边形的形状可用多边形的边界数目(BoundaryNumber,BN)、形状指数(ShapeIndex,SI)表示;多边形大小可用面积和MBR包含的栅格数目(RasterPixelNumber,RPN)表示。对同一个算法,栅格化时间可以反映出多边形的复杂程度,多边形越复杂,处理时间越长。为了比较上述四种因素对于栅格化效率的影响程度,申请人对每一种因素在相同条件下改变该因素的值,并保证其他因素不变,形成多个测试多边形,从而比较各多边形处理时间。结果表明,改变多边形的面积、SI、BN及RPN对运行效率均有影响,但影响程度不同。具体来说,对于多边形面积及SI,随着面积和SI的成倍增加,多边形的处理时间增加较缓慢;对于BN及RPN,随着BN和RPN的增加,处理时间近似呈线性增长。由此可以看出,在多边形栅格化中,BN和RPN是影响处理效率的主要因素。正因为此,申请人将BN和RPN作为评估多边形复杂度的标准,BN和RPN越多,则栅格化计算判断的次数越多,复杂度越高。考虑到在具体划分过程中并不需要计算具体函数关系,只需表示出多边形的复杂度高低,因而复杂度可简要表示为BN和RPN之和的形式。另外,不同的栅格化算法复杂度对BN和RPN的敏感程度不同,进而在计算复杂度时需要对BN和RPN赋予不同的权重,因此申请人将多边形复杂度(PolygonComplexity,PC)表示为:PC=a×Nb+(1-a)×Nr式中,Nb为归一化后当前多边形的边界数目值,a为BN的权重值,Nr为归一化后当前多边形最小外接矩形包含的栅格数目值,1-a为RPN的权重值。因为对BN和RPN均作了归一化处理,因此PC值为[0,1]区间内的实数,PC值越大表明复杂度越大。本专利技术在进行并行栅格化数据划分时,对每个多边形的复杂度进行排序形成队列,每次从队列首端和末端分别取出一个多边形,将其依次分配给所有的进程。这样,每个进程包含的多边形数目不一定相等,但栅格化的计算复杂程度大致相当,这样就保证了各进程的负载均衡。另外,在栅格化多边形时,直接对多边形的最小外接矩形进行栅格化,这样处理简单,栅格化速度更快,也提高了栅格化效率,进一步保证了各进程的负载均衡。本专利技术的并行栅格化方法取得了较高的加速比,大大地减少了栅格化处理时间,有效地解决了海量矢量数据快速栅格化的问题。相较于传统方法,本专利技术的方法受数据排列、空间分布的影响较小,基本能达到负载均衡。在步骤六中各进程的多边形矩形栅格组融合过程中,存在因写入顺序不同而引起相同栅格单元多次赋值的问题,为了解决公共栅格单元的属性值归属,上述技术方案的再进一步改进是:步骤五中,各进程记录每个矩形栅本文档来自技高网
...

【技术保护点】
1.一种基于多边形复杂度的并行栅格化数据划分方法,包括以下步骤:步骤一、遍历所有多边形,记录下各多边形包含的边界数目、最小外接矩形的角点坐标,根据每个多边形的最小外接矩形的角点坐标和栅格尺寸计算该多边形的最小外接矩形包含的栅格数目;步骤二、计算各归一化后多边形的边界数目值和归一化后最小外接矩形包含的栅格数目值;步骤三、计算各多边形的复杂度PC,并按从小到达的顺序进行排序形成队列,其中PC=a×Nb+(1‑a)×Nr,式中,Nb为归一化后当前多边形的边界数目值,a为预设的权重值,Nr为归一化后当前多边形最小外接矩形包含的栅格数目值;步骤四、每次从队列首端和末端分别取出一个多边形,将其依次分配给所有的进程,直至所有的多边形分配完毕;步骤五、各进程分别对被分配的多边形的最小外接矩形依次进行栅格化,其栅格化的结果以矩形栅格组存在,记录所述矩形栅格组的左上角点坐标以及该矩形栅格组的X方向和Y方向的栅格长度;步骤六、各进程分别将其栅格化后得到的矩形栅格组写入到目标栅格中,即以每个矩形栅格组的左上角点坐标作为定位坐标,分别在X方向和Y方向的对应栅格长度内的栅格写入其属性值。

【技术特征摘要】
1.一种基于多边形复杂度的并行栅格化数据划分方法,包括以下步骤:步骤一、遍历所有多边形,记录下各多边形包含的边界数目、最小外接矩形的角点坐标,根据每个多边形的最小外接矩形的角点坐标和栅格尺寸计算该多边形的最小外接矩形包含的栅格数目;步骤二、计算各归一化后多边形的边界数目值和归一化后最小外接矩形包含的栅格数目值;步骤三、计算各多边形的复杂度PC,并按从小到达的顺序进行排序形成队列,其中PC=a×Nb+(1-a)×Nr,式中,Nb为归一化后当前多边形的边界数目值,a为预设的权重值,Nr为归一化后当前多边形最小外接矩形包含的栅格数目值;步骤四、每次从队列首端和末端分别取出一个多边形,将其依次分配给所有的进程,直至所有的多边形分配完毕;步骤五、各进程分别对被分配的多边形的最小外接矩形依次进行栅格化,其栅格化的结果以矩形栅格组存在,记录所述矩形栅格组的左上角点坐标以及该矩形栅格组的X方向和Y方向的...

【专利技术属性】
技术研发人员:李满春周琛陈振杰程亮姜朋辉
申请(专利权)人:南京大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1