[发明专利]基于FPGA构建的分层次栅格转矢量处理方法有效
申请号: | 201410054902.3 | 申请日: | 2014-02-18 |
公开(公告)号: | CN103871086B | 公开(公告)日: | 2017-02-08 |
发明(设计)人: | 孟献策;鞠洪波;肖鹏;陈永富;张怀清;刘华 | 申请(专利权)人: | 中国林业科学研究院资源信息研究所;中天共创科技(北京)有限公司 |
主分类号: | G06T9/00 | 分类号: | G06T9/00 |
代理公司: | 北京市商泰律师事务所11255 | 代理人: | 毛燕生 |
地址: | 100091 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 fpga 构建 层次 栅格 矢量 处理 方法 | ||
1.基于FPGA构建的分层次栅格转矢量处理方法,其特征在于包括:
1)、数据预处理步骤;
2)、采用FPGA电路提取边界节点步骤;
3)、多边形搜索步骤;
4)、创建多边形矢量步骤;
5)、创建矢量文件步骤。
2.根据权利要求1所述的基于FPGA构建的分层次栅格转矢量处理方法,其特征在于含有以下步骤;
1)、数据预处理步骤;
在获取遥感影像数据后,对栅格数据进行了边界扩展处理,在将原栅格数据的四周添加一圈新的像元数据;
对于所要添加的像元数据,要求是该数据的像元值或属性内容,要与原栅格数据中任何一个的像元值或属性内容都不相同;
根据像元值或属性内容的分类,设置栅格转矢量的条件;是将栅格数据全部转换为矢量数据;还是只转换某些指定像元值或属性内容中某些类型的像元,即设置栅格转矢量所依据的基本条件;
在数据预处理结束后,启动节点提取步骤;
在节点提取步骤中;可以根据转换条件,将扩展后的栅格数据按照所设置的栅格转矢量条件,传送到栅格转矢量处理器中,处理器按分层次转换条件进行节点提取,计算后传回节点数据,为多边形搜索提供边界节点数据;其具体转换数量由转换条件决定;
只对栅格数据中的某些指定的像元属性值或内容,进行栅格转矢量计算;而不存在现有栅格转矢量算法中,只能一次将栅格数据全部转化为矢量数据的强制性限制;
2)、采用FPGA电路提取边界节点步骤;
在采用FPGA电路构造的节点提取电路中,主要包含有参数寄存器初始化操作;栅格数据存储地址计算单元、3*3像元矩阵节点计算单元、节点保存控制单元,循环控制操作单元等硬件功能电路组成,这些硬件功能电路在系统时序的控制下,逐步进行操作,直到完成所有栅格数据的节点提取操作;
参数寄存器初始化操作:
在参数寄存器初始化操作中,包含有:栅格数据参数初始化,节点计算参数初始化两个部分;
栅格数据参数初始化主要用于记录栅格数据的基本信息,如栅格数据(指扩展后的栅格数据)存储在存储器中的开始地址、栅格数据的行数、列数;一个像元所使用的字节数量、栅格数据需要转换为矢量数据的转换条件(数组)及转换数量等参数;
节点计算参数初始化用于记录节点计算中需要使用参数信息,及在计算中需要保存的参数、计算结果等信息,并且在节点计算中还需要使用栅格数据参数中数据;
参数寄存器初始化操作完成后,进入节点提取的循环操作,其操作步骤如下:
栅格数据存储地址计算单元:
栅格数据存储地址计算单元,是根据参数寄存器的初始化内容和当前计算像元的位置信息,计算出进行3*3像元矩阵计算时,需要参与计算的栅格数据的存储地址,供3*3像元矩阵节点计算单元读取栅格数据进行计算;
节点计算单元:
在3*3像元矩阵节点计算单元中,根据地址计算单元提供的栅格数据的地址,读取栅格数据(像元)按照分层次边界拓扑搜索模型要求进行计算,生成节点编码;
节点保存控制控制单元:
节点保存控制单元包含有:节点保存地址计算电路、节点有效性检查电路和条件转换分层控制电路、节点读写控制电路四部分组成;
节点保存地址计算电路,根据节点计算参数寄存器的初始化内容和节点数量计算出节点数据需要保存在内存中地址,供保存节点时使用;
节点有效性检查电路和条件转换分层控制电路,对节点计算单元所计算出的节点编码进行判断,该节点编码是否有效及该像元是否符合分层条件;
节点读写控制电路,对符合分层条件的有效节点,根据节点保存地址,将节点编码、像元的行列位置等信息保存到存储器中,供多边形搜索时使用;
循环控制操作单元包含有行循环控制操作单元和列循环控制操作单元两部分;负责完成对栅格数据的全遍历循环控制操作,直到完成栅格数据在具体某个转换条件(层次)的边界拓扑搜索模型的计算工作,生成全部节点数据,供多边形搜索时使用;
如果循环没有结束则继续进行上述操作;
3)、多边形搜索步骤;
当节点提取电路运行结束时,符合条件的节点数据已经全部提取出来;启动多边形搜索流程进行多边形搜索计算,此流程是一个并行计算的操作流程,其所需启动的流程的个数,将根据所设置的栅格转矢量条件中的转换类型数量来确定;或者按照行或列进行分组进行并行计算;
在流程中需要对每个多边形搜索队列的接受和反馈信息进行处理,控制和调度多边形搜索对流的运行状况,保证并行计算的正确运行;
首先是创建一个多边形数据结构;然后从边界节点数据中开始读取节点数据,并以此节点为开始节点,创建一个新的多边形搜索队列;创建完多边形搜索队列后,继续读取边界节点数据,按照搜索条件开始进行多边形搜索计算,满足此多边形条件的节点添加到此多边形队列中,直到新节点的指向为开始节点时,此多边形队列已经形成一个封闭的多边形,即完成了一个多边形的搜索计算流程,多边形封闭后,将这个多边形作为多边形数据结构中的一条多边形记录进行保存;同时需要删除该多边形搜索队列;
如果读取的边界节点数据,不是现有并行计算多边形队列中的连接节点时,则需要创建一个新的多边形搜索队列,重复上述操作直到将边界节点数据中的所有节点,全部变成形成封闭多边形,完成多边形搜索计算;
4)、创建多边形矢量步骤;
在创建多边形矢量数据流程中,将根据多边形搜索计算中获得的有关该多边形的顺序号、面积、周长、开始节点位置、多边形类型、空洞多边形数量、多边形范围、节点数据集等信息记录到多边形数据结构表中,为合并多边形矢量数据进行数据准备,同时启动创建矢量数据文件操作流程;
在多边形搜索计算结束后,启动创建多边形矢量数据流程;创建多边形矢量数据的目的是,为多边形数据结构中的每个岛多边形,找到一个能够包容他的最小独立多边形,找到这个独立多边形后,将岛多边形的坐标点链表中的坐标数据,添加到包容他的独立多边形的坐标点链表的末端,修改独立多边形的面积为:S=S-Sd,S为独立多边形面积,Sd为岛多边形面积;并给独立多边形的岛多边形数量的属性值+1,他的初始值为0;
重复上述操作直到为所有岛多边形找到包容他的独立多边形为止;
5)、创建矢量文件步骤;
在创建矢量文件流程中,首先根据栅格数据所使用的坐标系信息,创建矢量文件和坐标系,然后根据多边形矢量数据中独立多边形的数量,建立循环搜索过程,每次读取一个多边形矢量数量,并按照多边形矢量数据的结构写入到矢量文件中,当将多边形矢量数据中的所有独立多边形矢量数据全部写入到矢量文件中时,完成创建矢量文件流程,结束栅格转矢量流程,结束对一个栅格文件的转换工作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国林业科学研究院资源信息研究所;中天共创科技(北京)有限公司,未经中国林业科学研究院资源信息研究所;中天共创科技(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410054902.3/1.html,转载请声明来源钻瓜专利网。