栅格因子数据写入的方法及装置、读取的方法及装置的制作方法

文档序号:6374862阅读:152来源:国知局
专利名称:栅格因子数据写入的方法及装置、读取的方法及装置的制作方法
技术领域
本申请涉及栅格因子数据处理的技术领域,特别是涉及到一种栅格因子数据的写入方法,一种栅格因子数据的写入装置,一种栅格因子数据的读取方法,以及,一种栅格因子数据的读取装置。
背景技术
栅格数据用一个规则栅格来描述与每一个栅格单元位置相对应的空间现象特征的位置和取值。在概念上空间现象的变化由栅格单元值的变化来反映。GIS(GeographicInformation System,地理信息系统)系统中许多数据都用栅格格式来表示。栅格数据模型在GIS系统中也被称为栅格(Grid)、栅格地图、表面覆盖(Surface Cover)或影像。栅格由行、列、栅格单元组成。行、列由栅格左上角起始。在二维坐标系统中,行作为y坐标、列作为X坐标。在这点上与纬度作为I坐标、经度作为X坐标有点类似。 栅格数据用单个栅格单元代表点、用一系列相邻栅格单元代表线、邻接栅格的集合代表面。栅格中的每一个栅格单元有一个值,整型或浮点型。整型栅格单元值通常代表类别数据。比如,土地类型常用I代表城市用地、2代表林地等。浮点型栅格单元值常表示连续数据,比如,降水量模型可能有20、15、12、23等降水量值。浮点型栅格比整型栅格需要更多的计算机存储资源,这是涉及大范围的GIS系统项目必须考虑的一个重要因素。假设栅格数据是由M行N列个栅格单元组成,每个栅格单元都存储浮点型数据。若用普通方法,每个栅格单元用4字节进行存储,则需要M*N*4个字节,这样所需的存储空间非常大,这对系统的存储、性能,以及网络的传输效率都要求很高。由于GIS等系统中数据量巨大,存储这种浮点型栅格因子数据所需的存储空间相当庞大,传输这种浮点型栅格因子数据的资源耗费大,系统的计算处理处理效率低。如何减少浮点型栅格因子数据所需的存储空间,提高浮点型栅格因子数据存储与传输的效率,提高计算性能,是目前需要本领域技术人员迫切解决的技术问题。

发明内容
本申请所要解决的技术问题是提供一种栅格因子数据写入的方法及装置,栅格因子数据读取的方法及装置,用以减少栅格数据所需的存储空间,提高浮点型栅格因子数据存储与传输的效率,提高计算性能。为了解决上述问题,本申请公开了一种栅格因子数据写入的方法,包括步骤S101,获取原始栅格因子数据;所述原始栅格因子数据包括M*N个栅格因子单元,所述M为行,N为列,所述M*N个栅格因子单元的取值为O到I之间的浮点型数;步骤S102,从所述M*N个栅格因子单元中依次提取3个连续栅格因子单元的值;步骤S103,判断所述3个连续栅格因子单元的值小数点后的位数是否为5位,若是,则执行步骤105 ;若否,则执行步骤S104 ;步骤S104,将所述栅格因子单元的值小数点后的位数处理为5位;
步骤S105,将所述3个连续栅格因子数据的值小数点后的数字按序排列,形成一个小数点后为15位的双精度型数;步骤S106,判断是否遍历完所述M*N个栅格因子单元,若是,则执行步骤S107 ;若否,则返回步骤S102 ;步骤S107,将所述双精度型数组织为目标栅格因子数据,写入所述目标栅格因子数据。优选地,在所述步骤S102之后,还包括如下步骤若从所述M*N个栅格因子单元中提取到3-K个连续栅格因子单元,则补充K个第一特征值,其中,所述K为大于O且小于3的正整数。 优选地,所述步骤S104包括若所述栅格因子单元的值小数点后的位数大于5位,则舍弃栅格因子单元的值小数点5位后的数字;若所述栅格因子单元的值小数点后的位数小于5位,则在栅格因子单元的值后补充第二特征值,使小数点后的位数为5位。优选地,所述方法还包括当所述栅格因子单元的取值为I时,将该取值替换为O. 99999 ;当所述栅格因子单元的取值为O时,将该取值替换为O. 00000。本申请实施例还公开了一种栅格因子数据写入的装置,包括原始栅格因子数据获取模块,用于获取原始栅格因子数据;所述原始栅格因子数据包括M*N个栅格因子单元,所述M为行,N为列,所述M*N个栅格因子单元的取值为O到I之间的浮点型数;栅格因子单元的值提取模块,用于从所述M*N个栅格因子单元中依次提取3个连续栅格因子单元的值;位数判断模块,用于判断所述3个连续栅格因子单元的值小数点后的位数是否为5位,若是,则调用目标栅格因子数据形成模块;若否,则调用位数处理模块;位数处理模块,用于将所述栅格因子单元的值小数点后的位数处理为5位;目标栅格因子数据形成模块,用于将所述3个连续栅格因子数据的值小数点后的数字按序排列,形成一个小数点后为15位的双精度型数;判断模块,用于判断是否遍历完所述M*N个栅格因子单元,若是,则调用目标栅格因子数据写入模块;若否,则返回栅格因子单元的值提取模块;目标栅格因子数据写入模块,用于将所述双精度型数组织为目标栅格因子数据,写入所述目标栅格因子数据。优选地,在所述栅格因子单元的值提取模块之后,还包括如下模块补充模块,用于若从所述M*N个栅格因子单元中提取到3-K个连续栅格因子单元,则补充K个第一特征值,其中,所述K为大于O且小于3的正整数。优选地,所述位数处理模块包括舍弃子模块,用于若所述栅格因子单元的值小数点后的位数大于5位,则舍弃栅格因子单元的值小数点5位后的数字;补充子模块,用于若所述栅格因子单元的值小数点后的位数小于5位,则在栅格因子单元的值后补充第二特征值,使小数点后的位数为5位。优选地,所述装置还包括第一替换模块,用于在所述栅格因子单元的取值为I时,将该取值替换为O.99999 ;第二替换模块,用于在所述栅格因子单元的取值为O时,将该取值替换为O.00000。本申请实施例还公开了一种栅格因子数据读取的方法,包括步骤S201,读取目标栅格因子数据;其中,所述目标栅格因子数据由小数点后为15位的双精度型数组成;步骤S202,依次解析目标栅格因子数据中的栅格因子单元的值,将目标栅格因子 数据小数点后的数字按序分为3组,每组5位,形成小数点后为5位的3个连续的栅格因子单元的值。步骤S203,判断是否遍历完所述目标栅格因子数据,若是,则执行步骤S204 ;若否,则返回步骤S202 ;步骤S204,按序组织所述栅格因子单元的值,获得原始栅格因子数据;所述原始栅格因子数据包括M*N个栅格因子单元,所述M为行,N为列,所述M*N个栅格因子单元的取值为O到I之间的浮点型数。本申请实施例还公开了一种栅格因子数据读取的装置,包括目标栅格因子数据读取模块,用于读取目标栅格因子数据;其中,所述目标栅格因子数据由小数点后为15位的双精度型数组成;目标栅格因子数据解析模块,用于依次解析目标栅格因子数据中的栅格因子单元的值,将目标栅格因子数据小数点后的数字按序分为3组,每组5位,形成小数点后为5位的3个连续的栅格因子单元的值。遍历判断模块,用于判断是否遍历完所述目标栅格因子数据,若是,则调用原始栅格因子数据获取模块;若否,则返回目标栅格因子数据解析模块;原始栅格因子数据获取模块,用于按序组织所述栅格因子单元的值,获得原始栅格因子数据;所述原始栅格因子数据包括M*N个栅格因子单元,所述M为行,N为列,所述M*N个栅格因子单元的取值为O到I之间的浮点型数。与现有技术相比,本申请包括以下优点本申请对于栅格因子单元的值分布在O到I之间的栅格因子数据,将原始栅格因子数据依次提取3个连续的栅格因子单元,用一个8字节的双精度型数替代,这样节省栅格因子数据的存储空间,有效提闻系统的性能。具体而言,本申请实施例可以用一个8字节的双精度型数替代原始栅格因子单元中3个连续的栅格因子单元,在这种情况下,原先需3个4字节的栅格因子数据,用8字节即可存储,这样,在进行栅格数据备份时,可以用更少的资源存储同样的信息,充分利用了存储空间。另外,由于存储空间的减少,本申请还可以提高浮点型栅格因子数据存储与传输的效率,提高计算性能。


图I是本申请一种栅格因子数据写入的方法实施例的步骤流程图;图2是本申请一种栅格因子数据读取的方法实施例的步骤流程图;图3是本申请一种栅格因子数据写入的装置实施例的结构框图;图4是本申请一种栅格因子数据读取的装置实施例的结构框图。
具体实施例方式为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本申请作进一步详细的说明。本申请的核心构思之一在于,对于数据都存储在O到I之间的栅格因子数据,将原始栅格因子数据依次提取3个连续栅格因子单元的值,用一个小数点后为15位的双精度型数替代,这样,原先需要3个4字节浮点型数存储的栅格因子数据,现在只需要一个8字节的双精度型数即可存储,大大节省了存储空间。参照图1,示出了本申请一种栅格因子数据写入的方法实施例的步骤流程图,具体可以包括以如下步骤步骤S101,获取原始栅格因子数据;· 其中,所述原始栅格因子数据包括M*N个栅格因子单元,所述M为行,N为列,所述M*N个栅格因子单元的取值为O到I之间的浮点型数。在GIS系统中,有一类栅格数据普遍存在于系统的计算处理中,常常充当计算系数或者因子的角色,取值在O到I之间,称之为“栅格因子数据”。本申请实施例中的原始栅格因子数据,即指这种其栅格因子单元的取值为O到I之间的浮点型数的“栅格因子数据”,即所述原始栅格因子数据的栅格因子单元存储的是浮点类型数,并且取值范围在O到I之间。步骤S102,从所述M*N个栅格因子单元中依次提取3个连续栅格因子单元的值;假设本申请实施例是基于32位机器,浮点型数占4字节存储空间,双精度型数占8字节存储空间。本申请提出的存储方法是,对栅格因子数据,从第一个栅格因子单元开始,连续3个栅格因子单元做为一个处理对象。步骤S103,判断所述3个连续栅格因子单元的值小数点后的位数是否为5位,若是,则执行步骤105 ;若否,则执行步骤S104 ;步骤S104,将所述栅格因子单元的值小数点后的位数处理为5位;在本申请的一种优选实施例中,所述步骤S104进一步包括以下步骤子步骤S11,若所述栅格因子单元的值小数点后的位数大于5位,则舍弃栅格因子单元的值小数点5位后的数字;子步骤S12,若所述栅格因子单元的值小数点后的位数小于5位,则在栅格因子单元的值后补充第二特征值,使小数点后的位数为5位。例如,所述第二特征值可以取O值,当提取的3个连续栅格因子单元的值分别为O. 12345,O. 6789,O. 0123456,将每个栅格因子单元的值转换为小数点后为5位。其中,对于O. 12345,由于小数点后的位数刚好为5位,则不需要进行处理,对于O. 6789,由于小数点后的位数小于5位,则在后面补第二特征值O,使小数点后的位数为5位,即改写为O. 67890,对于O. 0123456,由于小数点后的位数大于5位,则通过丢弃小数点5位后的数字,使小数点后的位数为5位,即改写为O. 01234。通过上述步骤,得到3个小数点后为5位的栅格因子单元的值为 O. 12345,0. 67890,0. 01234。在本申请的一种优选实施例中,所述方法还可以包括如下步骤当栅格因子单元的取值为I时,将该取值替换为O. 99999 ;当栅格因子单元的取值为O时,将该取值替换为O. 00000。通过将整型数替换为浮点型数,便于应用本申请实施例进行运算。步骤S105,将所述3个连续栅格因子数据的值小数点后的数字按序排列,形成一个小数点后为15位的双精度型数;通过将栅格因子单元存储的浮点型数都改写成小数点后5位数,这样得到3个连续的修正后的数,再将这3个修正后的数串联起来,组成一个双精度型数,这个数在小数点·后有15位数,以这个双精度数替代原先的3个浮点型数进行存储。例如,当3个连续栅格因子数据的值小数点后的位数处理为5位时,所得的栅格因子单元的值为O. 12345,O. 67890,O. 01234,按序排列所得数据,得到的一个小数点后为15位的双精度型数为O. 123456789001234。这样,原先需要3个4字节存储的浮点型栅格因子数据,现在用一个8字节的双精度型数即可存储,在进行栅格因子数据备份时,可以充分节省存储空间。步骤S106,判断是否遍历完所述M*N个栅格因子单元,若是,则执行步骤S107 ;若否,则返回步骤S102 ;在具体实现中,若从栅格因子单元中提取到不足3个连续的栅格因子单元时,则用第一特征值补充到3个连续的栅格因子单元。在这种情况下,本申请实施例还可以包括以下步骤若从所述M*N个栅格因子单元中提取到3-K个连续栅格因子单元,则补充K个第一特征值,其中,所述K为大于O且小于3的正整数。对栅格因子数据的M*N个栅格因子单元,以连续3个栅格因子单元为一个处理对象,顺序处理完所有的栅格因子单元。如果最后剩下I个或2个栅格因子单元,则以O. O值补齐3个栅格因子单元,组成一个处理对象进行处理。例如,所取第一特征值可以取值为O值,当提取到不足3个栅格因子单元为O. 12345,O. 6789,则可以补充I个O值的栅格因子单元,最后补充所得的3个连续栅格因子单元为 O. 12345,0. 6789,0ο步骤S 107,将所述双精度型数组织为目标栅格因子数据,写入所述目标栅格因子数据。参照图2,示出了本申请一种栅格因子数据读取的方法实施例的步骤流程图,具体可以包括以如下步骤步骤S201,读取目标栅格因子数据;其中,所述目标栅格因子数据由小数点后为15位的双精度型数组成;步骤S202,依次解析目标栅格因子数据中的栅格因子单元的值,将目标栅格因子数据小数点后的数字按序分为3组,每组5位,形成小数点后为5位的3个连续的栅格因子单元的值。
在具体实现中,应用系统从文件读取改写后的栅格因子数据,并解析栅格因子单元值。假设读取文件的双精度型数有T个,则每个双精度型数的小数点后的位数都为15位。对这T个双精度型数按顺序处理,若双精度型数为O. abcdefghijklmnp,将其小数点后的数字按序分为3组,每组5位 ,重新组成的3个小数点后5位数的栅格因子单元的值为O. abcde,O. fghij,O. klmnp。本申请可以对栅格因子数据进行高效存储,进行栅因子格数据备份外,本申请还可以对普通的栅格因子数据进行高效的组装,能得到更少的数据量,在进行网络传输时,传输的接受方再按本申请进行解析,便可得到原始的栅格因子数据。这样会节省普通方法的1/3数据传输量。步骤S203,判断是否遍历完所述目标栅格因子数据,若是,则执行步骤S204 ;若否,则返回步骤S202 ;步骤S204,按序组织所述栅格因子单元的值,获得原始栅格因子数据;所述原始栅格因子数据包括M*N个栅格因子单元,所述M为行,N为列,所述M*N个栅格因子单元的取值为O到I之间的浮点型数。在具体实现中,本申请对原始栅格因子数据所做的组装以及对组装后的数据进行解析,都是在CPU里可快速简单的进行计算处理,效率非常快,比起普通方法读写文件,网络传输,不是一个数量级别的,所以本申请可很好的提高系统性能。需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。参照图3,示出了本申请一种栅格因子数据写入的装置实施例的结构框图,具体可以包括以如下模块原始栅格因子数据获取模块401,用于获取原始栅格因子数据;所述原始栅格因子数据包括M*N个栅格因子单元,所述M为行,N为列,所述M*N个栅格因子单元的取值为O到I之间的浮点型数;栅格因子单元的值提取模块402,用于从所述M*N个栅格因子单元中依次提取3个连续栅格因子单元的值;在本申请的一种优选实施例中,在所述栅格因子单元的值提取模块之后,还包括如下模块补充模块,用于若从所述M*N个栅格因子单元中提取到3-K个连续栅格因子单元,则补充K个第一特征值,其中,所述K为大于O且小于3的正整数。位数判断模块403,用于判断所述3个连续栅格因子单元的值小数点后的位数是否为5位,若是,则调用目标栅格因子数据形成模块;若否,则调用位数处理模块;位数处理模块404,用于将所述栅格因子单元的值小数点后的位数处理为5位;在本申请的一种优选实施例中,所述位数处理模块包括舍弃子模块,用于若所述栅格因子单元的值小数点后的位数大于5位,则舍弃栅格因子单元的值小数点5位后的数字;补充子模块,用于若所述栅格因子单元的值小数点后的位数小于5位,则在栅格因子单元的值后补充第二特征值,使小数点后的位数为5位。在本申请的一种优选实施例中,所述装置还可以包括如下模块第一替换模块,用于在所述栅格因子单元的取值为I时,将该取值替换为O.99999 ;第二替换模块,用于在所述栅格因子单元的取值为O时,将该取值替换为O.00000。目标栅格因子数据形成模块405,用于将所述3个连续栅格因子数据的值小数点后的数字按序排列,形成一个小数点后为15位的双精度型数;遍历判断模块406,用于判断是否遍历完所述M*N个栅格因子单元,若是,则调用目标栅格因子数据写入模块;若否,则返回栅格因子单元的值提取模块;
目标栅格因子数据写入模块407,用于将所述双精度型数组织为目标栅格因子数据,写入所述目标栅格因子数据。对于图3所示的装置实施例而言,由于其与图I所示的方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。参照图4,示出了本申请一种栅格因子数据读取的装置实施例的结构框图,具体可以包括以如下模块目标栅格因子数据读取模块501,用于读取目标栅格因子数据;其中,所述目标栅格因子数据由小数点后为15位的双精度型数组成;目标栅格因子数据解析模块502,用于依次解析目标栅格因子数据中的栅格因子单元的值,将目标栅格因子数据小数点后的数字按序分为3组,每组5位,形成小数点后为5位的3个连续的栅格因子单元的值。遍历判断模块503,用于判断是否遍历完所述目标栅格因子数据,若是,则调用原始栅格因子数据获取模块;若否,则返回目标栅格因子数据解析模块;原始栅格因子数据获取模块504,用于按序组织所述栅格因子单元的值,获得原始栅格因子数据;所述原始栅格因子数据包括M*N个栅格因子单元,所述M为行,N为列,所述M*N个栅格因子单元的取值为O到I之间的浮点型数。对于图4所示的装置实施例而言,由于其与图2所示的方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。本领域内的技术人员应明白,本申请的实施例可提供为方法、装置、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或
者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,
并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。 以上对本申请所提供的一种栅格因子数据写入的方法及装置,栅格因子数据读取的方法及装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
权利要求
1.一种栅格因子数据写入的方法,其特征在于,包括 步骤S101,获取原始栅格因子数据;所述原始栅格因子数据包括M*N个栅格因子单元,所述M为行,N为列,所述M*N个栅格因子单元的取值为O到I之间的浮点型数; 步骤S102,从所述M*N个栅格因子单元中依次提取3个连续栅格因子单元的值; 步骤S103,判断所述3个连续栅格因子单元的值小数点后的位数是否为5位,若是,则执行步骤105 ;若否,则执行步骤S104 ; 步骤S104,将所述栅格因子单元的值小数点后的位数处理为5位; 步骤S105,将所述3个连续栅格因子数据的值小数点后的数字按序排列,形成一个小数点后为15位的双精度型数; 步骤S106,判断是否遍历完所述M*N个栅格因子单元,若是,则执行步骤S107 ;若否,则返回步骤S102 ; 步骤S107,将所述双精度型数组织为目标栅格因子数据,写入所述目标栅格因子数据。
2.根据权利要求I所述的方法,其特征在于,在所述步骤S102之后,还包括如下步骤 若从所述M*N个栅格因子单元中提取到3-K个连续栅格因子单元,则补充K个第一特征值,其中,所述K为大于O且小于3的正整数。
3.根据权利要求I或2所述的方法,其特征在于,所述步骤S104包括 若所述栅格因子单元的值小数点后的位数大于5位,则舍弃栅格因子单元的值小数点5位后的数字; 若所述栅格因子单元的值小数点后的位数小于5位,则在栅格因子单元的值后补充第二特征值,使小数点后的位数为5位。
4.根据权利要求I所述的方法,其特征在于,还包括 当所述栅格因子单元的取值为I时,将该取值替换为O. 99999 ; 当所述栅格因子单元的取值为O时,将该取值替换为O. 00000。
5.一种栅格因子数据写入的装置,其特征在于,包括 原始栅格因子数据获取模块,用于获取原始栅格因子数据;所述原始栅格因子数据包括M*N个栅格因子单元,所述M为行,N为列,所述M*N个栅格因子单元的取值为O到I之间的浮点型数; 栅格因子单元的值提取模块,用于从所述M*N个栅格因子单元中依次提取3个连续栅格因子单元的值; 位数判断模块,用于判断所述3个连续栅格因子单元的值小数点后的位数是否为5位,若是,则调用目标栅格因子数据形成模块;若否,则调用位数处理模块; 位数处理模块,用于将所述栅格因子单元的值小数点后的位数处理为5位; 目标栅格因子数据形成模块,用于将所述3个连续栅格因子数据的值小数点后的数字按序排列,形成一个小数点后为15位的双精度型数; 判断模块,用于判断是否遍历完所述M*N个栅格因子单元,若是,则调用目标栅格因子数据写入模块;若否,则返回栅格因子单元的值提取模块; 目标栅格因子数据写入模块,用于将所述双精度型数组织为目标栅格因子数据,写入所述目标栅格因子数据。
6.根据权利要求5所述的装置,其特征在于,在所述栅格因子单元的值提取模块之后,还包括如下模块 补充模块,用于若从所述M*N个栅格因子单元中提取到3-K个连续栅格因子单元,则补充K个第一特征值,其中,所述K为大于O且小于3的正整数。
7.根据权利要求5或6所述的装置,其特征在于,所述位数处理模块包括 舍弃子模块,用于若所述栅格因子单元的值小数点后的位数大于5位,则舍弃栅格因子单元的值小数点5位后的数字; 补充子模块,用于若所述栅格因子单元的值小数点后的位数小于5位,则在栅格因子单元的值后补充第二特征值,使小数点后的位数为5位。
8.根据权利要求5所述的装置,其特征在于,还包括 第一替换模块,用于在所述栅格因子单元的取值为I时,将该取值替换为O. 99999 ; 第二替换模块,用于在所述栅格因子单元的取值为O时,将该取值替换为O. 00000。
9.一种栅格因子数据读取的方法,其特征在于,包括 步骤S201,读取目标栅格因子数据;其中,所述目标栅格因子数据由小数点后为15位的双精度型数组成; 步骤S202,依次解析目标栅格因子数据中的栅格因子单元的值,将目标栅格因子数据小数点后的数字按序分为3组,每组5位,形成小数点后为5位的3个连续的栅格因子单元的值。
步骤S203,判断是否遍历完所述目标栅格因子数据,若是,则执行步骤S204 ;若否,则返回步骤S202 ; 步骤S204,按序组织所述栅格因子单元的值,获得原始栅格因子数据;所述原始栅格因子数据包括M*N个栅格因子单元,所述M为行,N为列,所述M*N个栅格因子单元的取值为O到I之间的浮点型数。
10.一种栅格因子数据读取的装置,其特征在于,包括 目标栅格因子数据读取模块,用于读取目标栅格因子数据;其中,所述目标栅格因子数据由小数点后为15位的双精度型数组成; 目标栅格因子数据解析模块,用于依次解析目标栅格因子数据中的栅格因子单元的值,将目标栅格因子数据小数点后的数字按序分为3组,每组5位,形成小数点后为5位的3个连续的栅格因子单元的值。
遍历判断模块,用于判断是否遍历完所述目标栅格因子数据,若是,则调用原始栅格因子数据获取模块;若否,则返回目标栅格因子数据解析模块; 原始栅格因子数据获取模块,用于按序组织所述栅格因子单元的值,获得原始栅格因子数据;所述原始栅格因子数据包括M*N个栅格因子单元,所述M为行,N为列,所述M*N个栅格因子单元的取值为O到I之间的浮点型数。
全文摘要
本申请提供了一种栅格因子数据写入的方法及装置、读取的方法及装置,其中,所述栅格因子数据写入的方法包括步骤S101,获取原始栅格因子数据;步骤S102,提取3个连续栅格因子单元的值;步骤S103,判断栅格因子单元的值小数点后的位数是否为5位,若是,则执行步骤105;若否,则执行步骤S104;步骤S104,将栅格因子单元的值小数点后的位数处理为5位;步骤S105,将3个连续栅格因子数据的值小数点后的数字按序排列,形成一个小数点后为15位的双精度型数;步骤S106,判断是否遍历完,若是,则执行步骤S107;若否,则返回步骤S102;步骤S107,将双精度型数组织为目标栅格因子数据,写入目标栅格因子数据。本申请可以提高栅格因子数据存储与传输的效率,提高计算性能。
文档编号G06F17/30GK102902712SQ20121028762
公开日2013年1月30日 申请日期2012年8月13日 优先权日2012年8月13日
发明者孙成宝, 郑国柱 申请人:北京地拓科技发展有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1