栅格数据写入的方法及装置,栅格数据读取的方法及装置制造方法及图纸

技术编号:8131120 阅读:204 留言:0更新日期:2012-12-27 03:20
本发明专利技术提供了一种栅格数据写入的方法及装置,栅格数据读取的方法及装置,其中,所述栅格数据写入的方法包括:步骤S101,获取原始栅格数据;步骤S102,依次提取9个连续栅格单元的值;步骤S103,判断所述9个连续栅格单元的值是否在0到9之间;若是,则执行步骤S104,若否,则执行步骤S105;步骤S104,采用第一目标数值代替9个连续栅格单元的值;步骤S105,从所述9个连续栅格单元的值中提取前4个栅格单元的值,采用第二目标数值代替4个连续栅格单元的值;步骤S106,判断是否遍历完所述栅格单元,若是,则执行步骤S107;若否,则返回步骤S102;步骤S107,将所述第一和第二目标数值组织为目标栅格数据。本发明专利技术可以节省栅格数据的存储空间,提高栅格数据的处理效率。

【技术实现步骤摘要】

本申请涉及栅格数据处理的
,特别是涉及到一种栅格数据的写入方法,一种栅格数据的写入装置,一种栅格数据的读取方法,以及一种栅格数据的读取装置。
技术介绍
栅格数据是基于栅格模型的数据结构,是指将空间分割成有规则的网格,称为栅格单元,在各个栅格单元上给出相应的属性值来表示地理实体的一种数据组织形式。在现代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个连续栅格单元的值;所述第一目标数值为根据所述9个连续栅格单元的值生成的4字节整型数; 步骤S105,从所述9个连续栅格单元的值中提取前4个栅格单元的值,采用第二目标数值代替所述4个连续栅格单元的值;所述第二目标数值为根据所述4个连续栅格单元的值生成的4字节整型数;步骤S106,判断是否遍历完所述M*N个栅格单元,若是,则执行步骤S107 ;若否,则返回步骤S102 ;步骤S107,将所述第一目标数值和第二目标数值组织为目标栅格数据,写入所述目标栅格数据。优选地,在所述步骤S102之后,还包括如下步骤步骤S1021,若从所述M*N个栅格单元中提取到9_K个连续栅格单元,则补充K个特征值,其中K > 0,K < 9。优选地,所述第一目标数值为一个10位整型数加上所述9个连续栅格单元的值所得的4字节整型数。优选地,所述第二目标数值为根据所述9个连续栅格单元的值中提取前4个栅格单元的值合并成的4字节整型数。本申请实施例还公开了一种栅格数据写入的装置,包括原始栅格数据获取模块,用于获取原始栅格数据,所述原始栅格数据为所有栅格单元值都分布在O到99之间的整数的栅格数据,包括M*N个栅格单元;其中,所述M为行,N为列; 栅格单元提取模块,用于从所述M*N个栅格单元中依次提取9个连续栅格单元的值;栅格单元数值判断模块,用于分别判断所述9个连续栅格单元的值是否在O到9之间;若是,则调用第一目标数值生成模块,若否,则调用第二目标数值生成模块;第一目标数值生成模块,用于采用第一目标数值代替所述9个连续栅格单元的值;所述第一目标数值为根据所述9个连续栅格单元的值生成的4字节整型数;第二目标数值生成模块,用于从所述9个连续栅格单元的值中提取前4个栅格单元的值,采用第二目标数值代替所述4个连续栅格单元的值;所述第二目标数值为根据所述4个连续栅格单元的值生成的4字节整型数;遍历判断模块,用于判断是否遍历完所述M*N个栅格单元,若是,则调用目标栅格数据写入模块;若否,则返回栅格单元提取模块;目标栅格数据写入模块,用于将所述第一目标数值和第二目标数值组织为目标栅格数据,写入所述目标栅格数据。优选地,所述装置还包括补充模块,用于若从所述M*N个栅格单元中提取到9-K个连续栅格单元,则补充K个特征值,其中K > 0,K < 9。优选地,所述第一目标数值为一个10位整型数加上所述9个连续栅格单元的值所得的4字节整型数。优选地,所述第二目标数值为根据所述9个连续栅格单元的值中提取前4个栅格单元的值合并成的4字节整型数。本申请实施例还公开了一种栅格数据读取的方法,包括步骤S201,读取目标栅格数据,所述目标栅格数据中包括第一目标数值和第二目标数值;其中,所述第一目标数值为根据9个连续栅格单元的值生成的4字节整型数;所述第二目标数值为根据4个连续栅格单元的值生成的4字节整型数;步骤S202,依次解析所述目标栅格数据中的栅格单元值,判断是为第一目标数值或第二目标数值;若为第一目标数值,则执行步骤S203,若为第二目标数值,则执行步骤204 ;步骤S203,将所述第一目标数值从4字节整型数还原成9个连续栅格单元的值;步骤S204,将所述第二目标数值从4字节整型数还原成4个连续栅格单元的值;步骤S205,判断是否遍历完所述目标栅格数据,若是,则执行步骤S206 ;若否,则返回步骤S202 ;步骤S206,按序组织所述栅格单元的值,获得原始栅格数据,所述原始栅格数据为所有栅格单元值都分布在O到99之间的整数的栅格数据,包括M*N个栅格单元,每个栅格单元有对应的值;其中,所述M为行,N为列。优选地,所述第一目标数值为一个10位整型数加上所述9个连续栅格单元的值所得的4字节整型数;所述步骤S203包括将所述目标栅格数据中的栅格单元值的4字节整型数,减去一个10位整型数,将计算结果按序排列为9个连续栅格单元的值。优选地,所述第二目标数值为根据所述4个连续栅格单元的值生成的4字节整型数,所述步骤S204包括将所述目标栅格数据中的栅格单元值的4字节整型数,按序提取为4个连续栅格·单元的值。优选地,所述步骤S202包括依次解析所述目标栅格数据中的栅格单元值,判断当前的栅格单元值是否大于10位整型数,若是,则判定为目第一目标数值,若否,则判定为第二目标数值。本申请实施例还公开了一种栅格数据读取的装置,包括目标栅格数据读取模块,用于读取目标栅格数据,所述目标栅格数据中包括第一目标数值和第二目标数值;其中,所述第一目标数值为根据9个连续栅格单元的值生成的4字节整型数;所述第二目标数值为根据4个连续栅格单元的值生成的4字节整型数;目标数值判断模块,用于依次解析所述目标栅格数据中的栅格单元值,判断是为第一目标数值或第二目标数值;若为第一目标数值,则调用第一目标数值还原模块,若为第二目标数值,则调用第二目标数值还原模块;第一目标数值还原模块,用于将所述第一目标数值从4字节整型数还原成9个连续栅格单元的值;第二目标数值还原模块,用于将所述第二目标数值从4字节整型数还原成4个连续栅格单元的值;遍历判断模块,用于判断是否遍历完所述目标栅格数据,若是,则调用原始栅格数据获取模块;若否,则返回判断模块;原始栅格数据获取模块,按序组织所述栅格单元的值,获得原始栅格数据,所述原始栅格数据为所有栅格单元值都分布在O到99之间的整数的栅格数据,包括M*N个栅格单元,每个栅格单元有对应的值;其中,所述M为行,N为列。优选地,所述第一目标数值为一个10位整型数加上所述9个连续栅格单元的值所得的4字节整型数;所述第一目标数值还原模块包括第一计算子模块,用本文档来自技高网...

【技术保护点】
一种栅格数据写入的方法,其特征在于,包括:步骤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字节整型数; 步骤...

【专利技术属性】
技术研发人员:孙成宝郑国柱
申请(专利权)人:北京地拓科技发展有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1