CN108897840A - 一种并行空间叠加计算中的任务拆分方法及装置 - Google Patents
一种并行空间叠加计算中的任务拆分方法及装置 Download PDFInfo
- Publication number
- CN108897840A CN108897840A CN201810676964.6A CN201810676964A CN108897840A CN 108897840 A CN108897840 A CN 108897840A CN 201810676964 A CN201810676964 A CN 201810676964A CN 108897840 A CN108897840 A CN 108897840A
- Authority
- CN
- China
- Prior art keywords
- geographic
- grid
- collection
- task
- result
- 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.)
- Pending
Links
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明适用于地理信息技术领域,提供一种并行空间叠加计算中的任务拆分方法及装置,所述方法包括:输入两个地理要素集;根据所述两个地理要素集的地理范围,确定参与计算的地理范围;将所述参与计算的地理范围划分为若干个地理格网;将两个地理要素集中的要素标记ID;将被标记的两组地理要素集中有相同格网ID的要素作为一个任务单元,并将其在同一计算节点上计算,不同的任务单元分布在不同节点上执行,输出结果要素集;将所述结果要素集进行合并,得到最终的计算结果;输出结果要素集。本方法满足MapReduce思想,可用于Hadoop、Spark等大数据计算框架。
Description
技术领域
本发明属于地理信息技术领域,尤其涉及一种并行空间叠加计算中的任务拆分方法及装置。
背景技术
随着国家大数据战略逐步落地,政府部门的数据资产日益完善,数据总量和数据质量在不断提高。传统的单机算法已经不能满足应用需要,比如计算全省范围内2016年至2017年的土地变更情况。
目前常见的并行地理要素叠加分析的任务拆分方法:
根据叠加规则和两个要素集的地理范围,计算出参与计算的地理范围,再将地理范围划分成m*n的地理格网;
将要素集中完全包含在地理格网内部的要素作为一组,即是m*n组,也就是两个要素集分别有m*n组计算任务;
计算任务编号相同的两组要素独立计算,多组计算任务可分配在多个计算节点上并行执行;
在地理格网边线上的要素单独作为一组,与另一个要素集的全集作为一个任务,并将此任务在一个独立的计算节点执行。
将各节点上的执行结果进行合并。
上述方法流程不能很好的适应Spark框架,不符合Map/Reduce思想,同时,存在数据倾斜问题;另外,格网的稀疏密度会影响跨格网要素的数量,如果格网稀疏,那么单个格网内的要素会变多,如果格网密集,那么跨格网要素就会变多,这种任务拆分方式很容易造成单个计算节点压力过大,以至于溢出。
发明内容
鉴于上述问题,本发明的目的在于提供一种并行空间叠加计算中的任务拆分方法及装置,旨在解决现有地理要素叠加分析的任务拆分方法不能很好的适应Spark框架及可能会导致单个任务所计算的数据量过大,使系统出现单点故障等技术问题。
本发明采用如下技术方案:
所述并行空间叠加计算中的任务拆分方法包括如下步骤:
S1、输入两个地理要素集;
S2、根据所述两个地理要素集的地理范围,确定参与计算的地理范围;
S3、将所述参与计算的地理范围划分为若干个地理格网;
S4、将两个地理要素集中完全包含在地理格网内部的要素标记相应的格网ID,对于跨边界的要素做切割操作得到子要素,并将包含在地理格网内部的子要素标记对应的格网ID,最后得到两组被标记的地理要素集;
S5、将被标记的两组地理要素集中有相同格网ID的要素作为一个任务单元,并将其在同一计算节点上计算,不同的任务单元分布在不同节点上执行,输出结果要素集;
S6、将所述结果要素集进行合并,得到最终的计算结果;
S7、输出结果要素集。
进一步的,每个地理要素集具有一个要素集ID,地理要素集中的各要素具有一个要素ID,步骤S5输出的结果要素集中每个要素均标记Key,用于记录结果要素集中各要素来源,所述Key由两个要素集ID和两个要素ID共四个元素组成;
步骤S6中,将结果要素集中具有同Key的要素进行合并。
进一步的,步骤S1中所述地理要素用于表示位于地球表面或接近地球表面的事物,使用点、线和面表示,
点:用于定义小到无法用线或面表示的地理要素的离散位置,
线:用于表示宽度过小而无法用面表示的地理对象,
面:闭合区域即多边形区域,用于表示同质要素的形状和位置。
进一步的,所述地理格网为规则或不规则多边形格网。
另一方面,所述并行空间叠加计算中的任务拆分装置包括:
要素输入单元,用于地理要素集的数据输入;
范围提取单元,用于确定参与计算的地理范围;
格网划分单元,用于地理范围的网格划分,将地理范围划分成规则或者不规则的多边形格网;
要素标记单元,用于将两个地理要素集中完全包含在地理格网内部的要素标记相应的格网ID,对于跨边界的要素做切割操作得到子要素,并将包含在地理格网内部的子要素标记对应的格网ID,最后得到两组被标记的地理要素集;
数据计算单元,用于将被标记的两组地理要素集中有相同格网ID的要素作为一个任务单元,并将其在同一计算节点上计算,不同的任务单元分布在不同节点上执行,输出结果要素集;
合并单元,用于将计算结果进行合并,得到最终的计算结果;
数据输出单元,用于输出结果要素集。
本发明的有益效果是:现有的大规模地理要素叠加并行计算的任务拆分方法很容易造成单个计算节点压力过大,以至于溢出,本发明方法采用地理格网切割法组织任务单元,使每个任务单元具有独立性和对等性;此外,为保留原地理要素的完整性和拓扑性,地理要素被切割后所产生的子要素之间采用原地理要素集ID和原地理要素ID,并将原地理要素集ID和原地理要素ID形成的组合Key进行关联,待所有任务被各计算节点执行完毕后,通过Key对结果要素进行合并;本方法满足MapReduce思想,可用于Hadoop、Spark等大数据计算框架;同时,此任务拆分方法是在地理范围上对全量数据进行了相对均衡的重新组织,这样可以有效避免全量数据参与计算,最大限度上规避了数据倾斜问题,使整个系统更加健壮。
附图说明
图1是本发明实施例提供的并行空间叠加计算中的任务拆分方法流程图;
图2是本发明实施例提供的A、B两个地理要素集示意图;
图3是本发明实施例提供的地理范围示意图;
图4是本发明实施例提供的地理格网示意图;
图5是本发明实施例提供的地理格网切割示意图;
图6是本发明实施例提供的任务单元在节点上计算的示意图;
图7是本发明实施例提供的地理要素合并后的示意图;
图8是本发明实施例提供的输出结果要素集示意图;
图9是本发明实施例提供的并行空间叠加计算中的任务拆分装置原理图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
如图1所示,本发明实施例提供的并行空间叠加计算中的任务拆分方法包括如下步骤:
S1、输入两个地理要素集;
如图2所示,本步骤中,假设输入的两个地理要素集分别为A、B两个地理要素集,要素集ID用DataSet_ID表示,DataSet_ID:A表示为地理要素集A,DataSet_ID:B表示为地理要素集B。其中地理要素集A包含A1、A2、A3、A4共四个地理要素,地理要素集B包含B1、B2、B3、B4共四个地理要素。在每个地理要素集中每个要素都有一个要素ID用Object_ID表示。A1即地理要素集A中的第一个元素,即Object_ID:1,后同。
地理要素用于表示位于地球表面或接近地球表面的事物,地理要素可以是自然事物(例如河流和植被),可以是人造事物(例如道路、管线、井和建筑物),也可以是细分用地(例如县、行政区和地块)。
虽然还有多种其他类型的要素,但地理要素最常使用点、线或面来表示。
点:用于定义小到无法用线或面表示的地理要素的离散位置,例如井位、电话线杆和河水位标,点也可表示地址位置、GPS坐标或山峰。
线:用于表示宽度过小而无法用面表示的地理对象(例如街道中心线和河流)的形状和位置,线也可用于表示只具有长度而不具有面积的要素,例如等值线和行政边界。
面:是闭合区域(多边形),用于表示同质要素(例如州、县、宗地、土壤类型和土地利用区域)的形状和位置。在以下示例中,面表示地块。
S2、根据所述两个地理要素集的地理范围,确定参与计算的地理范围;
如图3所示,本步骤中,假设确定参与计算的地理范围E,地理范围E将A、B两个地理要素集包含,即图3所示方框范围。
S3、将所述参与计算的地理范围划分为若干个地理格网;
如图4所示,所述地理格网为规则或不规则多边形格网,在本发明实施例中采用的是四边形格网,当然还可以采用其他方式,如蜂窝格网等。
假设将地理范围E按照M行、N列划分为M*N个地理格网,在本发明实施例中,假设按2行、2列,分为2*2个地理格网,格网ID用Grid_ID表示,四个地理格网分别为Grid:1、Grid:2、Grid:3、Grid:4。
S4、将两个地理要素集中完全包含在地理格网内部的要素标记相应的格网ID,对于跨边界的要素做切割操作得到子要素,并将包含在地理格网内部的子要素标记对应的格网ID,最后得到两组被标记的地理要素集;
如图5所示,本方法采用地理格网切割法,包含在格网内的要素属于该格网,如A1、B1属于格网Grid:1,A2属于Grid:2,A3、B3属于Grid:4,另外的,如像B2位于Grid:1和Grid:2的边界上,那么对该格网边线相交的B2进行切割,切割结果在格网内部的子要素属于该网格,如B2的左半部分子要素属于Grid:1,右半部分子要素属于Grid:2,其他位于边界上的地理要素同理分割,分割后的地理要素按照对应的格网进行标记ID。比如要素A1最终标识为:
DataSet_ID:A
Object_ID:1
Grid_ID:1
即A1来自于地理要素集A中的第一个要素,且属于格网Grid:1。
要素B2被切割后的左部分最终标识为:
DataSet_ID:B
Object_ID:2
Grid_ID:1
即B2左部分来自于为地理要素集B中的第二个要素,且属于格网Grid:1。
其他要素标识如图5所示。
本发明通过地理格网切割法组织任务单元,使每个任务单元具有独立性和对等性,最终得到A、B两个被标记的地理要素集。
S5、将被标记的两组地理要素集中有相同格网ID的要素作为一个任务单元,并将其在同一计算节点上计算,不同的任务单元分布在不同节点上执行,输出结果要素集;
如图6所示,本步骤中,被标记的A、B地理要素中有相同格网ID的要素作为一个任务单元,例如Grid:1内的所有地理要素,包括要素和子要素,具有相同的格网ID,作为一个任务单元,即在一个计算节点上计算,在本发明是实例中,即有4个任务单元并行在四个计算节点上计算,不同的任务单元分布在不同的节点上执行,从而实现计算并行化,输出结果要素集,具体的计算规则按实际需求设置,比如相交、联合、擦除等。在本发明是实施例中,以相交计算方法为例,假设相交计算后输出结果要素集C,其中相交计算后,得到的计算结果分别为C1、C2、C3、C4。
本发明中,每个地理要素集具有一个要素集ID,地理要素集中的各要素具有一个要素ID(Object_ID),步骤S5输出的结果要素集C中每个要素均标记Key,用于记录结果要素集中各要素来源,所述Key由两个要素集ID和两个要素ID共四个元素组成,比如C1可标识为:
DataSet_ID:C
Object_ID:1
Key:A1B1
即C1为结果要素集C中的第一个要素,且Key为A1B1,说明C1由地理要素集A中的第一个元素以及地理要素集B中的第一元素相交得到。
而C4分成两个部分,左部分在计算节点3中计算,右部分在计算节点4中计算,这两部分C4均可标识为:
DataSet_ID:C
Object_ID:4
Key:A4B4
另外,在本发明实施例中,所述Key的设计可以是由其他能唯一标识一个要素的关键属性或组合属性来代替。
本方法为保留原地理要素的完整性和拓扑性,地理要素被切割后所产生的子要素之间采用原地理要素集ID和原地理要素ID,并将原地理要素集ID和原地理要素ID形成的组合Key进行关联。
S6、将所述结果要素集进行合并,得到最终的计算结果;
如图7所示,本步骤中,待所有任务被各计算节点执行完毕后,通过Key对结果要素进行合并。将相同Key的要素进行合并,即图是中要素C4的左右两部分进行合并为一个新的C4。
S7、输出结果要素集。
输出的结果要素集如图8所示
本发明实施例所述方法满足MapReduce思想,可用于Hadoop、Spark等大数据计算框架;同时,此任务拆分方法是在地理范围上对全量数据进行了相对均衡的重新组织,这样可以有效避免全量数据参与计算,最大限度上规避了数据倾斜问题,使整个系统更加健壮。
实施例二:
如图9所示,本发明提供一种并行空间叠加计算中的任务拆分装置,用于完成本发明提供的并行空间叠加计算中的任务拆分方法,所述并行空间叠加计算中的任务拆分装置包括:
要素输入单元,用于地理要素集的数据输入;
范围提取单元,用于确定参与计算的地理范围;
格网划分单元,用于地理范围的网格划分,将地理范围划分成规则或者不规则的多边形格网;
要素标记单元,用于将两个地理要素集中完全包含在地理格网内部的要素标记相应的格网ID,对于跨边界的要素做切割操作得到子要素,并将包含在地理格网内部的子要素标记对应的格网ID,最后得到两组被标记的地理要素集;
数据计算单元,用于将被标记的两组地理要素集中有相同格网ID的要素作为一个任务单元,并将其在同一计算节点上计算,不同的任务单元分布在不同节点上执行,输出结果要素集;
合并单元,用于将计算结果进行合并,得到最终的计算结果;
数据输出单元,用于输出结果要素集。
本实施例提供的各个功能单元对应实现了实施例一中的步骤S1-S7,具体实现过程这里不再赘述。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种并行空间叠加计算中的任务拆分方法,其特征在于,所述方法包括如下步骤:
S1、输入两个地理要素集;
S2、根据所述两个地理要素集的地理范围,确定参与计算的地理范围;
S3、将所述参与计算的地理范围划分为若干个地理格网;
S4、将两个地理要素集中完全包含在地理格网内部的要素标记相应的格网ID,对于跨边界的要素做切割操作得到子要素,并将包含在地理格网内部的子要素标记对应的格网ID,最后得到两组被标记的地理要素集;
S5、将被标记的两组地理要素集中有相同格网ID的要素作为一个任务单元,并将其在同一计算节点上计算,不同的任务单元分布在不同节点上执行,输出结果要素集;
S6、将所述结果要素集进行合并,得到最终的计算结果;
S7、输出结果要素集。
2.如权利要求1所述并行空间叠加计算中的任务拆分方法,其特征在于,每个地理要素集具有一个要素集ID,地理要素集中的各要素具有一个要素ID,步骤S5输出的结果要素集中每个要素均标记Key,用于记录结果要素集中各要素来源,所述Key由两个要素集ID和两个要素ID共四个元素组成;
步骤S6中,将结果要素集中具有同Key的要素进行合并。
3.如权利要求1所述并行空间叠加计算中的任务拆分方法,其特征在于,步骤S1中所述地理要素用于表示位于地球表面或接近地球表面的事物,使用点、线和面表示,
点:用于定义小到无法用线或面表示的地理要素的离散位置,
线:用于表示宽度过小而无法用面表示的地理对象的形状和位置,
面:是闭合区域即多边形,用于表示同质要素的形状和位置。
4.如权利要求2所述并行空间叠加计算中的任务拆分方法,其特征在于,所述地理格网为规则或不规则多边形格网。
5.一种并行空间叠加计算中的任务拆分装置,其特征在于,所述装置包括:
要素输入单元,用于地理要素集的数据输入;
范围提取单元,用于确定参与计算的地理范围;
格网划分单元,用于地理范围的网格划分,将地理范围划分成规则或者不规则的多边形格网;
要素标记单元,用于将两个地理要素集中完全包含在地理格网内部的要素标记相应的格网ID,对于跨边界的要素做切割操作得到子要素,并将包含在地理格网内部的子要素标记对应的格网ID,最后得到两组被标记的地理要素集;
数据计算单元,用于将被标记的两组地理要素集中有相同格网ID的要素作为一个任务单元,并将其在同一计算节点上计算,不同的任务单元分布在不同节点上执行,输出结果要素集;
合并单元,用于将计算结果进行合并,得到最终的计算结果;
数据输出单元,用于输出结果要素集。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810676964.6A CN108897840A (zh) | 2018-06-27 | 2018-06-27 | 一种并行空间叠加计算中的任务拆分方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810676964.6A CN108897840A (zh) | 2018-06-27 | 2018-06-27 | 一种并行空间叠加计算中的任务拆分方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108897840A true CN108897840A (zh) | 2018-11-27 |
Family
ID=64346487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810676964.6A Pending CN108897840A (zh) | 2018-06-27 | 2018-06-27 | 一种并行空间叠加计算中的任务拆分方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108897840A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113704380A (zh) * | 2021-10-26 | 2021-11-26 | 土豆数据科技集团有限公司 | 基于空间格网的分布式叠加分析方法、装置及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101751449A (zh) * | 2009-09-16 | 2010-06-23 | 中国科学院计算技术研究所 | 一种用于地理信息系统中的空间叠加分析方法和系统 |
US20120293545A1 (en) * | 2011-05-19 | 2012-11-22 | Andreas Engh-Halstvedt | Graphics processing systems |
CN106952324A (zh) * | 2017-04-07 | 2017-07-14 | 山东理工大学 | 矢量多边形栅格化并行叠加处理装置及方法 |
CN107066542A (zh) * | 2017-03-14 | 2017-08-18 | 中国科学院计算技术研究所 | 地理信息系统中的矢量空间叠加分析并行方法及系统 |
-
2018
- 2018-06-27 CN CN201810676964.6A patent/CN108897840A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101751449A (zh) * | 2009-09-16 | 2010-06-23 | 中国科学院计算技术研究所 | 一种用于地理信息系统中的空间叠加分析方法和系统 |
US20120293545A1 (en) * | 2011-05-19 | 2012-11-22 | Andreas Engh-Halstvedt | Graphics processing systems |
CN107066542A (zh) * | 2017-03-14 | 2017-08-18 | 中国科学院计算技术研究所 | 地理信息系统中的矢量空间叠加分析并行方法及系统 |
CN106952324A (zh) * | 2017-04-07 | 2017-07-14 | 山东理工大学 | 矢量多边形栅格化并行叠加处理装置及方法 |
Non-Patent Citations (3)
Title |
---|
彭成: "基于hadoop的GIS空间分析平台关键技术研究", 《中国优秀硕士学位论文全文数据库 基础科学辑》 * |
江洋: "基于MapReduce的简单要素模型并行叠置分析方法研究", 《中国优秀硕士学位论文全文数据库 基础科学辑》 * |
靳凤营等: "基于Spark的土地利用矢量数据空间叠加分析方法", 《浙江大学学报(理学版)》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113704380A (zh) * | 2021-10-26 | 2021-11-26 | 土豆数据科技集团有限公司 | 基于空间格网的分布式叠加分析方法、装置及存储介质 |
CN113704380B (zh) * | 2021-10-26 | 2022-03-11 | 土豆数据科技集团有限公司 | 基于空间格网的分布式叠加分析方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106897445A (zh) | 一种基于ArcGIS的改进边界划定操作的新型方法 | |
Mahdavi et al. | Site suitability evaluation for ecotourism using MCDM methods and GIS: Case study-Lorestan province, Iran | |
CN103236086A (zh) | 一种顾及地表水文上下文的多尺度dem建模方法 | |
CN105912770A (zh) | 水文实时预报系统 | |
CN107180450A (zh) | 一种基于dem的河谷横断面形态的算法 | |
CN105631168A (zh) | 一种实时高效的流域洪水演进可视化仿真方法 | |
CN109241846A (zh) | 遥感影像的时空变化估测方法、装置与存储介质 | |
CN105184224B (zh) | 一种东北地区水田分类与信息提取系统及方法 | |
CN107704531B (zh) | 一种osm地图数据中路网交叉口节点自动合并方法 | |
Fichera et al. | Application, validation and comparison in different geographical contexts of an integrated model for the design of ecological networks | |
CN104992249B (zh) | 一种被动分洪情景下的分洪区避险转移模型建立方法 | |
CN104978763A (zh) | 一种基于三维Douglas-Peucker算法的河网要素与DEM的同步综合地图仿真方法 | |
Verhagen et al. | Finding Byzantine junctions with Steiner trees | |
CN110309248A (zh) | 一种基于Voronoi图的交通道路网络自动划分交通小区的方法 | |
CN104915539A (zh) | 一种基于遥感分类获取流域下垫面信息的方法 | |
CN108897840A (zh) | 一种并行空间叠加计算中的任务拆分方法及装置 | |
CN107782323A (zh) | 一种基于城市间最优路径的高等级导航路网的生成方法 | |
Pribadi et al. | Determining optimal location of new growth centers based on LGP–IRIO model to reduce regional disparity in Indonesia | |
WO2018196214A1 (zh) | 一种地理影响民居建筑形态的统计系统及统计方法 | |
Nielsen et al. | The layout and internal development of celtic fields: structural and relative chronological analyses of three danish field systems | |
CN110162903A (zh) | 一种基于格网并行的城市建筑迎风面密度计算方法及系统 | |
CN109900242A (zh) | 一种跨国流域生态监测方法及系统 | |
Meliana et al. | A Comparison Review of Kevin Lynch’s Urban Theory with the Chinese Cosmography of Feng Shui in the Heritage Area, Case Study: Pasar Baru, Jakarta | |
Maury¹ et al. | Land use/land cover change detection in Auranga River Basin, Jharkhand | |
CN109271471A (zh) | 一种基于矢量数据模型的南方丘陵区汇流网络构建方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181127 |
|
RJ01 | Rejection of invention patent application after publication |