【技术实现步骤摘要】
本申请涉及栅格数据处理的
,特别是涉及到一种栅格数据的写入方法,一种栅格数据的写入装置,一种栅格数据的读取方法,以及一种栅格数据的读取装置。
技术介绍
栅格数据是基于栅格模型的数据结构,是指将空间分割成有规则的网格,称为栅格单元,在各个栅格单元上给出相应的属性值来表示地理实体的一种数据组织形式。在现代GIS系统应用中,大量的使用栅格数据,尤其是海量栅格数据,对应用系统的存储空间,性能要求,网络宽带等都提出了很多挑战。假设栅格数据是由M行N列个栅格单元组成,每个栅格单元存储的是O到99的整·数值。若用普通方法,每个栅格单元用I字节进行存储,则需要M*N个字节,所需的存储空间非常大,这对系统的存储、性能,以及网络的传输效率都要求很高。因此,本领域技术人员迫切需要解决的一个技术问题在于,如何节省栅格数据的存储空间,提高栅格数据的处理效率。
技术实现思路
本申请所要解决的技术问题是提供一种栅格数据写入的方法及装置,栅格数据读取的方法及装置,用以节省栅格数据的存储空间,提高栅格数据的处理效率。为了解决上述问题,本申请公开了一种栅格数据写入的方法,包括步骤S101,获取原始栅格数据,所述原始栅格数据为所有栅格单元值都分布在O到99之间的整数的栅格数据,包括M*N个栅格单元;其中,所述M为行,N为列;步骤S102,从所述M*N个栅格单元中依次提取9个连续栅格单元的值;步骤S103,分别判断所述9个连续栅格单元的值是否在O到9之间;若是,则执行步骤S104,若否,则执行步骤S105 ;步骤S104,采用第一目标数值代替所述9个连续栅格单元的值;所述第一目标数值为根据所 ...
【技术保护点】
一种栅格数据写入的方法,其特征在于,包括:步骤S101,获取原始栅格数据,所述原始栅格数据为所有栅格单元值都分布在0到99之间的整数的栅格数据,包括M*N个栅格单元;其中,所述M为行,N为列;步骤S102,从所述M*N个栅格单元中依次提取9个连续栅格单元的值;步骤S103,分别判断所述9个连续栅格单元的值是否在0到9之间;若是,则执行步骤S104,若否,则执行步骤S105;步骤S104,采用第一目标数值代替所述9个连续栅格单元的值;所述第一目标数值为根据所述9个连续栅格单元的值生成的4字节整型数;步骤S105,从所述9个连续栅格单元的值中提取前4个栅格单元的值,采用第二目标数值代替所述4个连续栅格单元的值;所述第二目标数值为根据所述4个连续栅格单元的值生成的4字节整型数;步骤S106,判断是否遍历完所述M*N个栅格单元,若是,则执行步骤S?107;若否,则返回步骤S102;步骤S107,将所述第一目标数值和第二目标数值组织为目标栅格数据,写入所述目标栅格数据。
【技术特征摘要】
1.一种栅格数据写入的方法,其特征在于,包括 步骤S101,获取原始栅格数据,所述原始栅格数据为所有栅格单元值都分布在O到99之间的整数的栅格数据,包括M*N个栅格单元;其中,所述M为行,N为列; 步骤S102,从所述M*N个栅格单元中依次提取9个连续栅格单元的值; 步骤S103,分别判断所述9个连续栅格单元的值是否在O到9之间;若是,则执行步骤S104,若否,则执行步骤S105 ; 步骤S104,采用第一目标数值代替所述9个连续栅格单元的值;所述第一目标数值为根据所述9个连续栅格单元的值生成的4字节整型数; 步骤S105,从所述9个连续栅格单元的值中提取前4个栅格单元的值,采用第二目标数值代替所述4个连续栅格单元的值;所述第二目标数值为根据所述4个连续栅格单元的值生成的4字节整型数; 步骤S106,判断是否遍历完所述M*N个栅格单元,若是,则执行步骤S 107 ;若否,则返回步骤S102 ; 步骤S107,将所述第一目标数值和第二目标数值组织为目标栅格数据,写入所述目标栅格数据。2 根据权利要求I所述的方法,其特征在于,在所述步骤S102之后,还包括如下步骤 步骤S1021,若从所述M*N个栅格单元中提取到9-K个连续栅格单元,则补充K个特征值,其中K>0,K<9。3.根据权利要求I或2所述的方法,其特征在于,所述第一目标数值为一个10位整型数加上所述9个连续栅格单元的值所得的4字节整型数。4.根据权利要求3所述的方法,其特征在于,所述第二目标数值为根据所述9个连续栅格单元的值中提取前4个栅格单元的值合并成的4字节整型数。5.一种栅格数据写入的装置,其特征在于,包括 原始栅格数据获取模块,用于获取原始栅格数据,所述原始栅格数据为所有栅格单元值都分布在O到99之间的整数的栅格数据,包括Μ*Ν个栅格单元;其中,所述M为行,N为列; 栅格单元提取模块,用于从所述Μ*Ν个栅格单元中依次提取9个连续栅格单元的值;栅格单元数值判断模块,用于分别判断所述9个连续栅格单元的值是否在O到9之间;若是,则调用第一目标数值生成模块,若否,则调用第二目标数值生成模块; 第一目标数值生成模块,用于采用第一目标数值代替所述9个连续栅格单元的值;所述第一目标数值为根据所述9个连续栅格单元的值生成的4字节整型数; 第二目标数值生成模块,用于从所述9个连续栅格单元的值中提取前4个栅格单元的值,采用第二目标数值代替所述4个连续栅格单元的值;所述第二目标数值为根据所述4个连续栅格单元的值生成的4字节整型数; 遍历判断模块,用于判断是否遍历完所述Μ*Ν个栅格单元,若是,则调用目标栅格数据写入模块;若否,则返回栅格单元提取模块; 目标栅格数据写入模块,用于将所述第一目标数值和第二目标数值组织为目标栅格数据,写入所述目标栅格数据。6.根据权利要求5所述的装置,其特征在于,还包括补充模块,用于若从所述M*N个栅格单元中提取到9-K个连续栅格单元,则补充K个特征值,其中K > O,K <9。7.根据权利要求5或6所述的装置,其特征在于,所述第一目标数值为一个10位整型数加上所述9个连续栅格单元的值所得的4字节整型数。8.根据权利要求7所述的装置,其特征在于,所述第二目标数值为根据所述9个连续栅格单元的值中提取前4个栅格单元的值合并成的4字节整型数。9.一种栅格数据读取的方法,其特征在于,包括 步骤S201,读取目标栅格数据,所述目标栅格数据中包括第一目标数值和第二目标数值; 其中,所述第一目标数值为根据9个连续栅格单元的值生成的4字节整型数;所述第二目标数值为根据4个连续栅格单元的值生成的4字节整型数; 步骤...
【专利技术属性】
技术研发人员:孙成宝,郑国柱,
申请(专利权)人:北京地拓科技发展有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。