基于fpga构建的分层次栅格转矢量处理方法

文档序号:6537987阅读:250来源:国知局
基于fpga构建的分层次栅格转矢量处理方法
【专利摘要】基于FPGA构建的分层次栅格转矢量处理方法,属于计算机硬件和计算机程序两个【技术领域】。含有数据预处理步骤;采用FPGA电路提取边界节点步骤;多边形搜索步骤;创建多边形矢量步骤;创建矢量文件步骤。对经过预处理的遥感影像进行矢量化,将遥感影像上具有相同属性内容的像元,转化为包含有:不同面积、不同周长、不同属性、不同形状来表示的矢量图形元素,并且在转化后的矢量图形元素间具有完整的空间拓扑关系;在转化后的矢量图形元素属性与遥感影像上所对应的像元,在空间位置和属性上具有完全相同的一一对应关系。
【专利说明】基于FPGA构建的分层次栅格转矢量处理方法
【技术领域】
[0001]本发明涉及基于FPGA构建的分层次栅格转矢量处理方法,属于计算机硬件技术和计算机程序两个【技术领域】。
【背景技术】
[0002]矢量数据和栅格数据是地理信息系统中最长见的两种空间数据结构。但随着航天技术的快速发展,所能提供的各种类型、各种分辨率的遥感影像数据也越来越丰富,遥感影像信息已经成为地理信息系统中的一个非常重要的信息来源,同时地理信息系统的发展也对对遥感信息的依赖性变得越来越强了。但是由于栅格数据本身所具有的缺陷,使得他在地理信息系统中的应用受到了一定的限制,因此将栅格数据转换为矢量数据也就变得非常重要了 ;同时栅格转矢量技术也是属于地理信息处理技术中相对比较经典的技术问题,也产生和积累了比较多的计算方法,并在地理信息系统中得到应用。

【发明内容】

[0003]为了克服现有技术的不足,本发明提供基于FPGA构建的分层次栅格转矢量处理方法。
[0004]基于FPGA构建的分层次栅格转矢量处理方法,通过采用FPGA电路构造分层次边界拓扑搜索模型,用硬件电路模拟算法的方式,对栅格数据进行分层次边界拓扑搜索模型计算,在计算中自动生成带有边界节点坐标和节点方向的边界节点;达到对大数据的快速处理的目的JtFPGA电路产生的节点数据,在通过软件对节点数据进行搜索,构造出包含有多边形之间的相邻、包容和被包容等拓扑关系的矢量文件。
[0005]因此本发明在处理其超大数据量、拓扑关系极其复杂的遥感影像数据时,更能够显示出该发明的转换效率和高速性能。该技术的应用可以提高在大面积、大范围的各类资源调查中的效率和自动化程度,及时准确地的获取各种资源信息,从而达到节省人力物力的目的。
[0006]基于FPGA构建的分层次栅格转矢量处理方法,采用FPGA电路构造分层次边界拓扑搜索模型实现栅格转矢量中的边界提取处理器设计,充分利用计算机技术在网格计算、云计算、并行计算等方面高速发展所取得的技术成果,通过采用FPGA电路构造的分层次边界拓扑搜索模型,在硬件电路的模型计算中,自动生成带有边界节点坐标和节点方向的边界节点,通过对这些边界节点的搜索,构造出包含有多边形之间的相邻、包容和被包容等拓扑关系的矢量文件。在栅格转矢量过程中,只需要对需要转换的图像数据加载一次,就能够自动完成整个转换过程;不需要进行任何转换后的后期处理工作,并且在转换后不可能出现多边形相互间重叠、相交;相邻、包容拓扑关系错误和不完整的情况。
[0007]因此本申请技术在处理数据量庞大、拓扑关系极其复杂的遥感影像数据时,更加能够显示出本申请技术的转换效率和高速性能。
[0008]本发明所要解决的技术问题,提供了基于FPGA构建的分层次栅格转矢量处理方法,对遥感影像数据进行栅格数据矢量化,将遥感影像上具有相同属性内容的像元,转化为包含有:不同面积、不同周长、不同属性、不同形状来表示的矢量图形元素,并且也能够表现出这些不同矢量图形元素之间,所存在的相邻、包容和被包容的空间拓扑关系也能够得到完全展示。并且转化后的矢量图形元素属性与遥感影像上所对应的像元,在空间位置上具有完全相同的 对应关系。
[0009]基于FPGA构建的分层次栅格转矢量处理方法,采用与传统的转换方法不同的处理方法,通过采用FPGA电路构造的分层次边界点拓扑搜索模型,将栅格数据像元间的拓扑关系简化,在模型计算中自动生成包含有坐标位置信息的边界节点,并且这些边界节点数据还具有描述边界节点是从哪里开始、到哪里结束的边界走向的指向性信息;在通过对这些边界节点数据进行多边形搜索,通过边界节点数据的指向性,可以十分明确的定位与之相连的边界节点的确切位置信息,将这些具有特定关系的边界节点全部连接起来,就自动形成一个封闭多边形,并且通过判断封闭多边形的走向,如果是顺时针他就是一个独立多边形,他可能包含有岛多边形;如果是逆时针他就一定是被某个独立多边形所包容的岛多边形。而不可能出现多边形相互间的重叠、相交;相邻、包容拓扑关系错误和不完整情况,所有本发明具有算法简洁、快速生成的边界节点数据具有明确的指向性和唯一性的特定拓扑关系。
[0010]而且本发明包含有三个显著特点是,一个是可以对栅格数据中的某些指定的像元属性值或内容,进行栅格转矢量计算;而不存在现有栅格转矢量算法中,只能一次将栅格数据全部转化为矢量数据的强制性限制;二个是通过采用FPGA电路构造的分层次边界点拓扑搜索模型,用计算机硬件电路技术将栅格数据转化为矢量数据,具有比采用软件编程算法所无法想象的速度;三是采用软硬件技术相结合的技术方法,用计算机硬件技术对栅格数据进行边界节点快速提取,用并行计算技术对边界节点数据进行多边形搜索,从而完成栅格转矢量操作。因此本发明可以极大的提高转化效率和广泛的应用领域。
[0011]本发明的栅格转矢量算法,只需要对需要转换的图像数据加载一次,就能够自动完成整个转换过程,不需要进行任何转换后的后期处理工作,并且转换后不可能出现多边形相互间重叠、相交;相邻、包容拓扑关系错误和不完整的情况。
[0012]此本发明特别适合于超大数据量、栅格数据中像元相邻关系极其复杂的栅格转矢量计算。该算法提高在森林资源监测、湿地资源监测、土地资源监测等各种资源在分布范围、资源变化、预测分析等方面的数据处理效率;特别是需要对监测目标进行实时跟踪处理的自然灾害在发生、发展情况中的监测分析预警系统;及目标识别、目标制导等军事应用领域中的需要进行栅格转矢量的计算应用;并且该算法在转化后的矢量数据中,不存在转换误差、不需要进行任何后期处理操作,故该技术具有计算模型简单、转换效率高、速度快,自动化程度高和可有选择性的将栅格数据转化为矢量数据的突出特点。
[0013]本发明提供了基于FPGA构建的分层次栅格转矢量处理方法,包括:
[0014]I)、数据预处理步骤;
[0015]2)、采用FPGA电路提取边界节点步骤;
[0016]3)、多边形搜索步骤;
[0017]4)、创建多边形矢量步骤;
[0018]5)、创建矢量文件步骤;[0019]基于FPGA构建分层次边界拓扑搜索模型的基于FPGA构建的分层次栅格转矢量处理方法流程图见图1所示。
[0020]基于FPGA构建的分层次栅格转矢量处理方法,含有以下步骤;
[0021]I)、数据预处理步骤;
[0022]在获取遥感影像数据后,为了实现算法的简单化、避免在计算中需要对栅格数据中的四个边界上(第一行、最后一行、第一列和最后一列)的数据进行特殊计算,减少计算中的条件分支判断,提高运算效率,达到用一个统一直观的处理流程进行计算的目的,对栅格数据进行了边界扩展处理,即进行数据预处理操作。
[0023]数据预处理的目的是在将原栅格数据的四周添加一圈新的像元数据。
[0024]对于所要添加的像元数据,要求是该数据的像元值或属性内容,要与原栅格数据中任何一个的像元值或属性内容都不相同。
[0025]数据预处理的第二个目的是根据像元值或属性内容的分类,设置栅格转矢量的条件。是将栅格数据全部转换为矢量数据;还是只转换某些指定像元值或属性内容中某些类型的像元,即设置栅格转矢量所依据的基本条件。
[0026]在数据预处理结束后,启动FPGA电路提取边界节点步骤,该步骤是一个可以同时进行并行计算的流程,所需要启动的流程的个数,将根据所设置的栅格转矢量条件中的转换类型数量来确定。
[0027]FPGA电路提取边界节点理步骤;
[0028]将扩展后的栅格数据按照所设置的栅格转矢量条件,传送到栅格转矢量处理器中,处理器按分层次转换的方式,计算后分组传回节点数据,其具体数量由转换条件中的转换数量来决定;为进行多边形搜索提供边界节点数据。
[0029]2 )、采用FPGA电路提取边界节点步骤;
[0030]在采用FPGA电路构造的节点提取电路中,主要包含有参数寄存器初始化操作;栅格数据存储地址计算单元、3*3像元矩阵节点计算单元、节点保存控制单元,循环控制操作单元等硬件功能电路组成,这些硬件功能电路在系统时序的控制下,逐步进行操作,直到完成所有栅格数据的节点提取操作。
[0031]参数寄存器初始化操作:
[0032]在参数寄存器初始化操作中,包含有:栅格数据参数初始化,节点计算参数初始化两个部分。
[0033]栅格数据参数初始化主要用于记录栅格数据的基本信息,如栅格数据(指扩展后的栅格数据)存储在存储器中的开始地址、栅格数据的行数、列数;一个像元所使用的字节数量、栅格数据需要转换为矢量数据的转换条件(数组)及转换数量等参数。
[0034]节点计算参数初始化用于记录节点计算中需要使用参数信息,及在计算中需要保存的参数、计算结果等信息,并且在节点计算中还需要使用栅格数据参数中数据。
[0035]参数寄存器初始化操作完成后,进入节点提取的循环操作,其操作步骤如下:
[0036]栅格数据存储地址计算单元:
[0037]栅格数据存储地址计算单元,是根据参数寄存器的初始化内容和当前计算像元的位置信息,计算出进行3*3像元矩阵计算时,需要参与计算的栅格数据的存储地址,供3*3像元矩阵节点计算单元读取栅格数据进行计算。[0038]节点计算单元:
[0039]在3*3像元矩阵节点计算单元中,根据地址计算单元提供的栅格数据的地址,读取栅格数据(像元)按照分层次边界拓扑搜索模型要求进行计算,生成节点编码。
[0040]节点保存控制控制单元:
[0041]节点保存控制单元包含有:节点保存地址计算电路、节点有效性检查电路和条件转换分层控制电路、节点读写控制电路四部分组成。
[0042]节点保存地址计算电路,根据节点计算参数寄存器的初始化内容和节点数量计算出节点数据需要保存在内存中地址,供保存节点时使用。
[0043]节点有效性检查电路和条件转换分层控制电路,对节点计算单元所计算出的节点编码进行判断,该节点编码是否有效及该像元是否符合分层条件。
[0044]节点读写控制电路,对符合分层条件的有效节点,根据节点保存地址,将节点编码、像元的行列位置等信息保存到存储器中,供多边形搜索时使用。
[0045]循环控制操作单元包含有行循环控制操作单元和列循环控制操作单元两部分。他负责完成对栅格数据的全遍历循环控制操作,直到完成栅格数据在具体某个转换条件(层次)的边界拓扑搜索模型的计算工作,生成全部节点数据,供多边形搜索时使用。
[0046]如果循环没有结束则继续进行上述操作。
[0047]3)、多边形搜索步骤;
[0048]多边形搜索计算采用并行方法,该并行方法是:首先是创建一个多边形数据结构。然后从边界节点数据中开始读取节点数据,并以此节点为开始节点,创建一个新的多边形搜索队列。创建完多边形搜索队列后,继续读取边界节点数据,按照搜索条件开始进行多边形搜索计算,满足此多边形条件的节点添加到此多边形队列中,直到新节点的指向为开始节点时,此多边形队列已经形成一个封闭的多边形,即完成了一个多边形的搜索计算流程,多边形封闭后,将这个多边形作为多边形数据结构中的一条多边形记录进行保存;同时需要删除该多边形搜索队列。
[0049]如果读取的边界节点数据,不是现有并行计算多边形队列中的连接节点时,则需要创建一个新的多边形搜索队列,重复上述操作直到将边界节点数据中的所有节点,全部变成形成封闭多边形,完成多边形搜索计算。
[0050]4)、创建多边形矢量步骤;
[0051]在创建多边形矢量数据流程中,将根据多边形搜索计算中获得的有关该多边形的顺序号、面积、周长、开始节点位置、多边形类型、空洞多边形数量、多边形范围、节点数据集等信息记录到多边形数据结构表中,为合并多边形矢量数据进行数据准备,同时启动创建矢量数据文件操作流程。
[0052]在多边形搜索计算结束后,启动创建多边形矢量数据流程。创建多边形矢量数据的目的是,为多边形数据结构中的每个岛多边形,找到一个能够包容他的最小独立多边形,找到这个独立多边形后,将岛多边形的坐标点链表中的坐标数据,添加到包容他的独立多边形的坐标点链表的末端,修改独立多边形的面积为:S=S-Sd,S为独立多边形面积,Sd为岛多边形面积;并给独立多边形的岛多边形数量的属性值+1,他的初始值为O。
[0053]重复上述操作直到为所有岛多边形找到包容他的独立多边形为止。
[0054]5)、创建矢量文件步骤;[0055]在创建矢量文件流程中,首先根据栅格数据所使用的坐标系信息,创建矢量文件和坐标系,然后根据多边形矢量数据中独立多边形的数量,建立循环搜索过程,每次读取一个多边形矢量数量,并按照多边形矢量数据的结构写入到矢量文件中,当将多边形矢量数据中的所有独立多边形矢量数据全部写入到矢量文件中时,完成创建矢量文件流程,结束栅格转矢量流程,结束对一个栅格文件的转换工作。
[0056]本发明的优点是使用遥感影像数据提供了基于FPGA构建的分层次栅格转矢量处理方法,使用软硬件结合的技术方法,对经过预处理(指数计算、阈值分割、分类等计算处理)的遥感影像进行矢量化,将遥感影像上具有相同属性内容的像元,转化为包含有:不同面积、不同周长、不同属性、不同形状来表示的矢量图形元素,并且也能够表现出这些不同矢量图形元素之间,所存在的相邻、包容和被包容的空间拓扑关系也能够得到完全展示。通过转化后的矢量图形,可以更方便的对图形元素的属性信息,分析他在空间位置上所发生的面积变化、空间位置变化、属性信息间的相互转化和演替过程进行监测和预测,为进行缓冲区分析、叠加分析(叠加求交、叠加求和)等与空间分析计算相关联的地理信息处理能力提供了可能,增加和扩大了遥感影像数据在地理信息应用领域的范围,也为地理信息应用领域提供了更多的基础数据。
【专利附图】

【附图说明】
[0057]当结合附图考虑时,通过参照下面的详细描述,能够更完整更好地理解本发明以及容易得知其中许多伴随的优点,但此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定,如图其中:
[0058]图1为本发明的流程图;
[0059]图2为本发明的数据预处理流程示意图;
[0060]图3为本发明的上部向右型-搜索方向示意图;
[0061]图4右侧向下型-搜索方向示意图;
[0062]图5下部向左型-搜索方向示意图;
[0063]图6左侧向上型-搜索方向示意图;
[0064]图7用FPGA构造的节点提取电路流程图;
[0065]图8栅格转矢量处理器结构框图;
[0066]图9地址计算控制器单元框图;
[0067]图10节点计算单元框图;
[0068]图11节点保存控制单元框图;
[0069]图12循环控制操作单元框图;
[0070]图13多边形搜索调度与控制流程示意图;
[0071]图14多边形搜索流程示意图;
[0072]图15创建多边形矢量数据流程示意图;
[0073]图16创建矢量文件流程示意图。
[0074]下面结合附图和实施例对本发明进一步说明。【具体实施方式】
[0075]显然,本领域技术人员基于本发明的宗旨所做的许多修改和变化属于本发明的保护范围。
[0076]实施例1:如图1、图2、图3、图4、图5、图6、图7、图8、图9、图10、图11、图12、图13、图14、图15、图16所示,基于FPGA构建的分层次栅格转矢量处理方法,含有以下步骤;
[0077]1、数据预处理步骤;:
[0078]对栅格数据结构的描述如下:
[0079]用N表示该数据的最大行数,第一行为0,最后一行为N,具体到某一行时用η表
[0080]用M表不该数据的最大列数,第一列为O,最后一列为Μ,具体到某一列时用m表
[0081]在获取遥感影像数据后,为了实现算法的简单化、避免在计算中需要对栅格数据中的四个边界上(第一行、最后一行、第一列和最后一列)的数据进行特殊计算,减少计算中的条件分支判断,提高运算效率,达到用一个统一直观的处理流程进行计算的目的,对栅格数据进行了边界扩展处理,即进行数据预处理操作。
[0082]数据预处理的目的是在将原栅格数据的四周添加一圈新的像元数据。
[0083]对于所要添加的像元数据,要求是该数据的像元值或属性内容,要与原栅格数据中任何一个的像元值或属性内容都不相同。`
[0084]数据预处理的第二个目的是根据像元值或属性内容的分类,设置栅格转矢量的条件。是将栅格数据全部转换为矢量数据;还是只转换某些指定像元值或属性内容中某些类型的像元,即设置栅格转矢量所依据的基本条件。
[0085]在边界搜索流程中,将根据所设置的栅格转矢量条件,只对满足转换条件的栅格数据进行转换。栅格转矢量条件,用数组ZHTJ (i)表示,需要进行转换的属性类型数量,用ZHLX_SL 表示。
[0086]数据预处理流程见图2所示。如原栅格数据为18行,13列,包含有9种属性类别,原栅格数据见表1所示;扩展处理后的栅格数据为为20行,15列,包含有10种属性类别,扩展后的栅格数据见表2所示。
[0087]在算法中规定采用将原属性类别的最大数+1所得到的属性值,作为扩展数据的属性值,添加到原栅格数据四周,以保证所添加的扩展数据与原栅格四周边界上数据属性值的完全不同。或者用栅格数据的像元的最大值+50的方式添加扩展数据。数据扩展后的栅格数据包含有10中属性种类,比原数据增加了一种属性类型。
[0088]表1原栅格数据示例,N*M=18*13
[0089]
【权利要求】
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,他的初始值为O ; 重复上述操作直到为所有岛多边形找到包容他的独立多边形为止; 5)、创建矢量文件步骤; 在创建矢量文件流程中,首先根据栅格数据所使用的坐标系信息,创建矢量文件和坐标系,然后根据多边形矢量数据中独立多边形的数量,建立循环搜索过程,每次读取一个多边形矢量数量,并按照多边形矢量数据的结构写入到矢量文件中,当将多边形矢量数据中的所有独立多边形矢量数据全部写入到矢量文件中时,完成创建矢量文件流程,结束栅格转矢量流程,结束对一个栅格文件的转换工作。
3.根据权利要求1所述的基于FPGA构建的分层次栅格转矢量处理方法,其特征在于含有以下步骤; 栅格转矢量处理步骤; 分层次边界拓扑搜索模型:栅格数据中的一个像元就是对应于地表上的一个二维正方形区域(也有矩形的),该矩形的四条边,就是此像元与其他相邻像元的分界线;对于一个由3*3像元组成的像元矩阵来讲,处于矩阵中心的像元,称之为中心点像元,在中心点像元周围还分布有八个像元; 将所有这些相邻像元都当作一个相邻数据层;依据分层次处理的技术路线,通过将独立数据层与相邻数据层间的分界线都提取出来,连接成一个个封闭多边形,即分层次栅格转矢量。`
4.根据权利要求3所述的基于FPGA构建的分层次栅格转矢量处理方法,其特征在于含有以下步骤;采用分层次边界拓扑搜索模型进行边界节点计算时,需要将栅格数据中的每个像元,都作为中心点像元,同时读取中心点像元和四个相邻像元进行比较计算,确认每个中心点像元是否为边界节点,对栅格数据进行全遍历的一个搜索计算过程。
5.根据权利要求4所述的基于FPGA构建的分层次栅格转矢量处理方法,其特征在于含有以下步骤;栅格转矢量处理步骤的初始化内容包含:栅格数据参数初始化,节点计算参数初始化两个部分内容; 栅格数据参数初始化主要用于记录栅格数据的基本信息,如栅格数据(指扩展后的栅格数据)存储在存储器中的开始地址、栅格数据的行数、列数;一个像元所使用的字节数量、栅格数据需要转换为矢量数据的转换条件(数组)及转换数量等参数; 节点计算参数初始化用于记录节点计算中需要使用参数信息,及在计算中需要保存的参数、计算结果等信息,并且在节点计算中还需要使用栅格数据参数中数据。
6.根据权利要求1所述的基于FPGA构建的分层次栅格转矢量处理方法,其特征在于含有以下步骤;创建多边形矢量步骤;首先对多边形数据按照多边形类型和多边形最大范围进行排序,根据岛多边形的数量建立搜索循环过程,在循环中每次读取一个岛多边形数据,根据岛多边形的最大范围,在独立多边形数据中搜索找到一个能够包容他的独立多边形序列,此序列中的独立多边形从最小独立多边形向逐渐扩大的顺序排列,首先从最小独立多边形开始,判断岛多边形是否被包容,如果被包容,将岛多边形的坐标点链表数据添加到独立多边形的坐标点链表数据中,完成一个岛多边形的搜索;如果不被包容,则在包容他的独立多边形序列中寻找下一个独立多边形进行判断,直到找到一个包容他的独立多边形为止; 重复上述操作,直到为每个岛多边形找到包容他的独立多边形为止,完成创建多边形矢量数据流程。
7.根据权利要求1所述的基于FPGA构建的分层次栅格转矢量处理方法,其特征在于含有以下步骤; 创建矢量文件步骤;在创建多边形矢量数据流程结束后,独立多边形与岛多边形的拓扑关系已经建立完成,只需要将多边形矢量数据写入文件就完成栅格转矢量的全部流程和操作了 ; 在创建矢量文件流程中,首先根据栅格数据所使用的坐标系信息,创建矢量文件和坐标系,然后根据多边形矢量数据中独立多边形的数量,建立循环搜索过程,每次读取一个多边形矢量数量,并按照多边形矢量数据的结构写入到矢量文件中,当将多边形矢量数据中的所有独立多边形矢量数据全部写入到矢量文件中时,完成创建矢量文件流程,结束对栅格数据中一个栅格转矢量条件的全部转换工作; 在将多边形矢量数据写入到矢量文件时,因为栅格数据是经过扩展的,他的像元位置相对原栅格数据,在行和列的位置上还需要对多边形的坐标点都增加了一个像元的位置,需要在转换时对节 点的坐标点(X,Y)都-1。
【文档编号】G06T9/00GK103871086SQ201410054902
【公开日】2014年6月18日 申请日期:2014年2月18日 优先权日:2014年2月18日
【发明者】孟献策, 鞠洪波, 肖鹏, 陈永富, 张怀清, 刘华 申请人:中国林业科学研究院资源信息研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1