本发明专利技术属于数据分析处理技术领域,尤其涉及一种分布式泰森多边形并行构建方法,包括对原有的点数据进行分块,在分块的同时获取每个块的外接矩形,构建块之间的拓扑关系,对于每个块数据求它对应的凸包,使用分布式计算构建新的临时块,根据临时块中的数据构建三角网,剔除全部由相邻凸包点数据构建的三角网,根据三角网构建泰森多边形性,在构建多边形的同时,对内部的点与之相对应的多边形赋予点的属性值,将块产出的数据导入到图层或导出为shp文件等基本步骤。本方法能够提升泰森多边形的生产性能,让基于实时的大数据泰森多边形的分析成为可能。
【技术实现步骤摘要】
一种分布式泰森多边形并行构建方法
本专利技术属于数据分析处理
,尤其涉及一种分布式泰森多边形并行构建方法。
技术介绍
荷兰气候学家A·H·Thiessen提出了一种根据离散分布的气象站的降雨量,来计算平均降雨量的方法,即将所有相邻气象站连成三角形,作这些三角形各边的垂直平分线,将每个三角形的三条边的垂直平分线的交点(也就是外接圆的圆心)连接起来得到一个多边形。用这个多边形内所包含的一个唯一气象站的降雨强度来表示这个多边形区域内的降雨强度,并称这个多边形为泰森多边形。其中虚线构成的多边形就是泰森多边形。泰森多边形每个顶点是每个三角形的外接圆圆心。泰森多边形也称为Voronoi图,或dirichlet图。泰森多边形的应用场景越来越多,除了最开始的雨量计算外,现有例如在PM2.5的扩散情况、农业重金属采样情况以及矿藏储量等方面都有应用。现有的泰森多边形的构造多是单机的做法,即使有更多的资源也无法发挥其更多资源的特性,究其原因是泰森多边形是一种强拓扑关系的计算模式,其具有数据不可拆散性,从而导致无法并行化,提升其计算性能。
技术实现思路
本专利技术创造的目的在于,本专利技术的目的在于提供一种能够提升泰森多边形构建效率的分布式泰森多边形并行构建方法。为实现上述目的,本专利技术创造采用如下技术方案。一种分布式泰森多边形并行构建方法,具体步骤如下:步骤1:对原有的点数据进行分块操作:按照Hadoop的64M块大小的分割要求以及空间拓扑关系对原始数据进行分块;步骤2:在分块的同时获取每个块的外接矩形;步骤3:构建各个数据块之间的拓扑关系,找到各个数据块临接关系;步骤4:获取每个块数据的凸包也就是外接多边形,将凸包对应范围,并且每个凸包上的点数据存储起来;步骤5:使用分布式计算对每个块数据进行如下操作;步骤501,寻找到每个块A的数据以及与之相邻的块B的数据;步骤502,将相邻块B的凸包所有的点记录下来,与块A的数据的所有的点存储到一起,形成一个新的临时块A1;步骤6,根据临时块A1中所有的点数据构建三角网;步骤6:三角网构建过程中,剔除全部由相邻凸包点数据构建的三角网;步骤7,根据三角网构建泰森多边形性,具体是指,步骤701,找出与每个离散点相邻的所有三角形的编号并记录;步骤702,对与每个离散点相邻的三角形按顺时针或逆时针方向排序,以便下一步连接生成泰森多边形;步骤703,计算每个三角形的外接圆圆心并记录;步骤704,根据每个离散点的相邻三角形,连接这些相邻三角形的外接圆圆心,即得到泰森多边形;对于那些以相邻快的凸包点为中心构建的泰森多边形,予以剔除;步骤8,在构建多边形的同时,对内部的点与之相对应的多边形赋予点的属性值;步骤9,将每块产出的数据导入到图层或导出为shp文件:对上述方案的进一步改进还包括,步骤701中,确定每个离散点相邻的所有三角形的方法是,在已构建的三角网中找出具有一个相同顶点的所有三角形。对上述方案的进一步改进还包括,步骤703中,排序的方法为:设离散点为o,找出以o为顶点的一个三角形A;取三角形A除o以外的另一顶点,设为a,确定剩余的顶点f;以of为边确定下一个三角形F以及三角形F的另一顶点e,以oe为边确定下一个一三角形E;如此重复进行,直到回到oa边。对上述方案的进一步改进还包括,步骤704中,对于三角网边缘的泰森多边形,作垂直平分线与图廓相交,与图廓一起构成泰森多边形。以上仅为本专利技术的优选实施例而已,并不用于限制本专利技术,对于本领域的技术人员来说,本专利技术可以有各种更改和变化。凡在本专利技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本专利技术的保护范围之内。本专利技术的有益效果为:本专利技术的一种分布式泰森多边形并行构建方法,能够提升泰森多边形的生产性能,将原有的单机方式转变为分布式的方式,充分的利用硬件资源以及对分布式算法的优化,将原有的单一图层大数据的泰森多边形建模,变为多个小范围的泰森多边形的数据建模;基于生产性能的提升,让基于实时的大数据泰森多边形的分析成为可能;附图说明图1是本专利技术分布式泰森多边形并行构建方法的流程示意图;图2是步骤702中排序方法原理的示意图。具体实施方式以下结合具体实施例对本专利技术创造作详细说明。现阶段随着数据采集能力的提升,泰森多边形性的应用场景的丰富化。对于泰森多边形的生产效率提出了更高的要求,但是如同前一章所提及的:“泰森多边形是一种强拓扑关系的计算模式,其具有数据不可拆散性”,导致很多厂商对于泰森多边形的构建方式还是传统的单机构建模式,从而导致泰森多边形的建模效率非常低。从而使有些对其实时应用性高的场景得不到有效的执行。有鉴于此,本专利技术提出了一种分布式泰森多边形并行构建方法,如图1所示,其具体包括如下步骤:步骤1:对原有的点数据进行分块操作:按照Hadoop的64M块大小的分割要求,并且按照空间拓扑关系对原始数据进行分块;步骤2:在分块的同时获取每个块的外接矩形;步骤201:按照Hadoop的原则进行分块的同时,获取每块数据的外接矩形;步骤202:存储每块中点状数据集的一些基本信息(如外接矩形);步骤3:构建块之间的拓扑关系:构建各个数据块之间的拓扑关系,找到各个数据块临接关系;步骤4:对于每个块数据求它对应的凸包:步骤401,获取每个块数据的凸包也就是外接多边形;步骤402,将凸包对应范围,并且每个凸包上的点数据存储起来;步骤5:使用分布式计算对每个块数据进行如下操作;步骤501,寻找到每个块数据(下面表示为块A)与之相邻的块数据(下面表示为块B);步骤502,将相邻块B的凸包所有的点记录下来,与块A的数据的所有的点存储到一起,形成一个新的临时块A1;步骤503,将此时根据临时块A1中所有的点数据构建三角网;步骤6:三角网构建过程中,剔除全部由相邻凸包点数据构建的三角网;步骤7,根据三角网构建泰森多边形性:步骤701,找出与每个离散点相邻的所有三角形的编号,并记录下来。这只要在已构建的三角网中找出具有一个相同顶点的所有三角形即可;步骤702,对与每个离散点相邻的三角形按顺时针或逆时针方向排序,如图2所示,以便下一步连接生成泰森多边形。步骤703,计算每个三角形的外接圆圆心,并记录之;排序的方法为:设离散点为o,找出以o为顶点的一个三角形A;取三角形A除o以外的另一顶点,设为a,确定剩余的顶点f;以of为边确定下一个三角形F以及三角形F的另一顶点e,以oe为边确定下一个一三角形E;如此重复进行,直到回到oa边。步骤704,根据每个离散点的相邻三角形,连接这些相邻三角形的外接圆圆心,即得到泰森多边形。对于三角网边缘的泰森多边形,作垂直平分线与图廓相交,与图廓一起构成泰森多边形。步骤705,对于那些以相邻快的凸包点为中心构建的泰森多边形,予以剔除;步骤8,在构建多边形的同时,对内部的点与之相对应的多边形赋予点的属性值;步骤9,将每块产出的数据导入到一个图层或导出为一个shp文件:最后应当说明的是,以上实施例仅用以说明本专利技术创造的技术方案,而非对本专利技术创造保护范围的限制,尽管参照较佳实施例对本专利技术创造作了详细地说明,本领域的普通技术人员应当理解,可以对本专利技术创造的技术方案进行修改或者等同替换,而不脱离本专利技术创造技术方案的实质和范围。本文档来自技高网...
【技术保护点】
1.一种分布式泰森多边形并行构建方法,其特征在于,包括如下步骤:步骤1:对原有的点数据进行分块操作,按照Hadoop的64M块大小的分割要求以及空间拓扑关系对原始数据进行分块;步骤2:在分块的同时获取每个块的外接矩形;步骤3:构建各个数据块之间的拓扑关系,找到各个数据块临接关系;步骤4:获取每个块数据的凸包也就是外接多边形,将凸包对应范围,并且每个凸包上的点数据存储起来;步骤5:使用分布式计算对每个块数据进行如下操作;步骤501,寻找到每个块A的数据以及与之相邻的块B的数据;步骤502,将相邻块B的凸包所有的点记录下来,与块A的数据的所有的点存储到一起,形成一个新的临时块A1;步骤6,根据临时块A1中所有的点数据构建三角网;步骤6:三角网构建过程中,剔除全部由相邻凸包点数据构建的三角网;步骤7,根据三角网构建泰森多边形,具体是指,步骤701,找出与每个离散点相邻的所有三角形的编号并记录;步骤702,对与每个离散点相邻的三角形按顺时针或逆时针方向排序,以便下一步连接生成泰森多边形;步骤703,计算每个三角形的外接圆圆心并记录;步骤704,根据每个离散点的相邻三角形,连接这些相邻三角形的外接圆圆心,即得到泰森多边形;对于那些以相邻快的凸包点为中心构建的泰森多边形,予以剔除;步骤8,在构建多边形的同时,对内部的点与之相对应的多边形赋予点的属性值;步骤9,将每块产出的数据导入到图层或导出为shp文件。...
【技术特征摘要】
1.一种分布式泰森多边形并行构建方法,其特征在于,包括如下步骤:步骤1:对原有的点数据进行分块操作,按照Hadoop的64M块大小的分割要求以及空间拓扑关系对原始数据进行分块;步骤2:在分块的同时获取每个块的外接矩形;步骤3:构建各个数据块之间的拓扑关系,找到各个数据块临接关系;步骤4:获取每个块数据的凸包也就是外接多边形,将凸包对应范围,并且每个凸包上的点数据存储起来;步骤5:使用分布式计算对每个块数据进行如下操作;步骤501,寻找到每个块A的数据以及与之相邻的块B的数据;步骤502,将相邻块B的凸包所有的点记录下来,与块A的数据的所有的点存储到一起,形成一个新的临时块A1;步骤6,根据临时块A1中所有的点数据构建三角网;步骤6:三角网构建过程中,剔除全部由相邻凸包点数据构建的三角网;步骤7,根据三角网构建泰森多边形,具体是指,步骤701,找出与每个离散点相邻的所有三角形的编号并记录;步骤702,对与每个离散点相邻的三角形按顺时针或逆时针方向排序,以便下一步连接生成泰森多边形;步骤703,计算每个三角形的外接圆圆心并...
【专利技术属性】
技术研发人员:李三玉,陈俊伟,郑波,
申请(专利权)人:湖北金拓维信息技术有限公司,
类型:发明
国别省市:湖北,42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。