[发明专利]一种基于分布式的海量遥感影像快速建立金字塔算法有效
申请号: | 201110258127.X | 申请日: | 2011-09-02 |
公开(公告)号: | CN102446208A | 公开(公告)日: | 2012-05-09 |
发明(设计)人: | 吕振华;高峥;胡俊;赵慧;吴健平;黄飞鹏;李波;陈逸 | 申请(专利权)人: | 华东师范大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 上海硕力知识产权代理事务所 31251 | 代理人: | 童素珠 |
地址: | 200062 上海市普*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 分布式 海量 遥感 影像 快速 建立 金字塔 算法 | ||
1.一种基于分布式的海量遥感影像快速建立金字塔算法,包括:传统金字塔的构造方法,其特征在于:该方法是对传统金字塔算法的改进,利用分布式数据存储和并行计算能力,通过控制节点和计算节点之间的通信传递金字塔创建任务和原始影像块文件列表,用控制节点来指导计算节点的金字塔创建,实现海量遥感影像快速建立金字塔算法,包括三部分:N*M宫格划分,金字塔创建任务分配及调度,和金字塔创建,其中:
N*M宫格划分:在N*M宫格划分中涉及到“逻辑区域影像”、“子图”、区域影像、影像块及瓦片,上述“逻辑区域影像”、“子图”为逻辑概念,而非物理存在,区域影像、影像块和瓦片是真实的物理存在,按照地理空间顺序排列而成,覆盖一定地理范围的瓦片集合称为“子图”,其记录子图的图幅大小、左上角顶点的经纬度位置的元数据信息,按照地理空间顺序排列而成,覆盖一定地理范围的“子图”集合称为“逻辑区域影像”,是由影像块组成的区域影像的逻辑表示,“逻辑区域影像”记录了区域影像的图幅大小、左上角顶点的经纬度位置的元数据信息,以上五者逻辑包含关系为:区域影像包含子图,子图包含影像块,影像块包含瓦片,利用宫格划分方法,将遥感数据均匀的分配到各个计算节点,将金字塔的创建划分成各项任务并行执行且并行计算,来实现正确划分宫格和计算宫格信息,N*M宫格划分在控制节点上执行;
金字塔创建任务分配及调度:根据N*M宫格划分参数为每个宫格生成对应的逻辑子任务,并将这些子任务加入任务队列,同时控制节点启动监控程序,监控作业的状态,任务调度采用“FIFO”先进先出模式,计算节点以PULL的方式积极向控制节点发送任务计划请求,从任务队列中取出任务计划并执行,在执行成功后,计算节点向控制节点提交状态信息,控制节点作为任务调度模块,读取任务配置参数生成金字塔创建的大作业,金字塔创建任务分配及调度在控制节点上执行;
金字塔创建:根据接收到的任务计划,包括:宫格信息和影像块集合,将分布存储在该计算节点的“子图”,作为金字塔的输入文件并计算节点,按金字塔创建方法来创建金字塔,各个计算节点根据收到的宫格信息,同分布存储在该节点的“子图”一起作为输入文件,并行地创建金字塔的0层,计算节点以指定金字塔的层数作为循环控制条件,上层金字塔文件作为输入,采用4个像素点提取1个像素点写入下层金字塔文件的做法,得到金字塔的下层,金字塔创建在计算节点上执行;
海量遥感影像快速建立金字塔算法的具体工作步骤是:
步骤1:开始(1)
准备就绪:基于PC集群的数据分布存储;
步骤2:输入初始参数(2)
在控制节点指定金字塔创建的相关参数,包括:宫格矩阵的行数N、宫格矩阵的列数M,源文件的磁盘路径,金字塔的目标路径,金字塔层数,瓦片的宽和高;
如果判断模块的金字塔层数<0(21),则进入异常结束(9)模块,如果判断模块的金字塔层数非<0(21),则进入源文件存在(22)的判断模块?
如果判断模块的源文件存在(22),则进入瓦片宽>0(23)的判断模块?如果判断模块的源文件不存在(22),则进入异常结束(9)模块;
如果判断模块的瓦片宽>0(23),则进入瓦片高>0(24)的判断模块?如果判断模块的瓦片宽非>0(23),则进入异常结束(9)模块;
如果判断模块的瓦片高>0(24),则进入计算“逻辑区域”(3)模块,如果判断模块的瓦片高非>0(24),则进入异常结束(9)模块;
步骤3:计算“逻辑区域”(3)
控制节点根据源文件的磁盘路径,获取源文件列表,并计算源文件影像块对应的逻辑区域影像;
执行完计算“逻辑区域”(3)模块后,则进入判断模块的宫格矩阵列M>0(31);
如果判断模块的宫格矩阵列M>0(31),则进入宫格矩阵行N>0(32)的判断模块?如果判断模块的宫格矩阵列M非>0(31),则进入异常结束(9)模块;
如果判断模块的宫格矩阵行N>0(32),则进入划分“逻辑区域”成N*M宫格(4),如果判断模块的宫格矩阵行N非>0(32),则进入异常结束(9)模块;
步骤4:划分“逻辑区域”成N*M宫格(4)
N*M划分宫格:控制节点按照“宫格中的瓦片是完整的遥感文件”以及“等分矩阵瓦片数”的规则划分逻辑区域影像成N*M个不等大小的宫格,则每个宫格对应区域影像的一部分——子图,属于同一个子图的影像块将分配到同一个计算节点中;
a).计算瓦片个数
按照瓦片指定的宽、高,计算逻辑区域影像所能切割得到的瓦片个数Nnum*Mnum,其中Nnum表示纵向每列瓦片个数,Mnum表示横向每行瓦片个数;
b).等分瓦片个数
等分瓦片个数Nnum*Mnum到N*M个宫格中,其中N为宫格矩阵的行数,M为宫格矩阵的列数,记宫格[i,j]分别为宫格在矩阵中行号和列号,除了最后一行和最后一列的宫格之外,其他宫格的瓦片数均为(Nnum/N)*(Mnum/M),其中,处于矩阵最后一行的宫格其瓦片个数应为
c).计算子图的经纬度坐标
根据每个宫格包含的瓦片数,瓦片宽、高和逻辑区域影像左上角的顶点经纬度坐标,计算得到所有宫格对应子图的左上角顶点和右下角顶点经纬度坐标;
d).计算宫格子图对应的影像块文件列表
根据步骤c的左上角和右下角顶点的经纬度坐标生成经纬度坐标矩形,同所有待创建金字塔的影像块文件的经纬度坐标外包矩形相比较,包含在该矩形内及与该矩形相交的影像块都属于该宫格;
e).封装宫格信息
将步骤b到d中的瓦片个数、瓦片宽和高、宫格左上角和右下角顶点的经纬度坐标,宫格所属影像块文件列表封装成宫格信息,用于金字塔的创建,并完成从控制节点传递到计算节点的创建任务;
步骤5:循环计算每个宫格的子图(5)
执行完划分“逻辑区域”成N*M宫格(4)模块后,则进入循环计算每个宫格的子图(5)模块;
步骤6:分配创建任务(6)
执行完循环计算每个宫格的子图(5)模块后,则进入分配创建任务(6)模块,分配创建任务(6)模块并行地创建金字塔A(61)、创建金字塔B(62)…及创建金字塔N,并进行并行计算;
步骤7:创建金字塔失败个数>0(7)?
执行完分配创建任务(6)模块后,则进入判断模块的创建金字塔失败个数>0(7);
如果判断模块的创建金字塔失败个数>0(7),则进入异常结束(9)模块,如果判断模块的创建金字塔失败个数非>0(7),则进入成功结束(8)模块;
步骤8:成功结束(8)
当判断模块的创建金字塔失败个数非>0(7),则成功结束(8)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华东师范大学,未经华东师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110258127.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:锚网支护巷道新型前探梁
- 下一篇:插接式可扩展插排