[发明专利]栅格数据处理方法及系统无效
申请号: | 201110444082.5 | 申请日: | 2011-12-27 |
公开(公告)号: | CN102542041A | 公开(公告)日: | 2012-07-04 |
发明(设计)人: | 孙成宝;李团宏;曹刚;李嵩 | 申请(专利权)人: | 北京地拓科技发展有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 苏培华 |
地址: | 100084 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 栅格 数据处理 方法 系统 | ||
技术领域
本申请涉及计算机数据处理技术领域,特别是涉及一种栅格数据处理方法及系统。
背景技术
基于栅格模型的数据结构简称为栅格数据结构,是指将空间分割成有规则的网格,成为栅格数据块,在各个栅格数据块上给出相应的属性值来表示地理实体的一种数据组织形式。栅格数据结构因为相对简单,而且空间分析和地理现象的模拟比较容易,有利于遥感数据的匹配应用和分析,输出方法快速,且成本比较低廉,因此被广泛应用于地理信息系统(Geographic Information System,GIS)中。
但是,在地理信息系统的应用中,经常需要频繁的读写处理栅格数据,而栅格数据结构的图形数据量大、冗余度高,在进行数据读写时需要耗费大量的时间,对于频繁读写来说,效率会进一步地降低。因为栅格数据结构的图形数据量大,会占用系统较多的空间,一般来说这些数据都是存储在硬盘中,当系统需要时,在从硬盘的文件中进行I/O操作来实现数据的读写,而频繁的读写,无疑会增加I/O操作的次数,占用大量系统资源,降低系统的反应速度。
发明内容
本申请所要解决的技术问题是提供一种栅格数据处理方法及系统,能够解决频繁读写栅格数据因为数据量大而降低系统处理效率和速度、以及占用系统过多空间的问题。
为了解决上述问题,本申请公开了一种栅格数据处理方法,包括以下步骤:
步骤101,获取当前需要读/写的栅格数据块的块号;
步骤102,基于所述块号查询所述栅格数据块中的数据是否存储于内存中,若是,则进行步骤105;反之,则进行步骤103;
步骤103,判断所述内存中用于存储栅格数据块的预定区域是否还有存储空间,若是,则进行步骤104;若否,则释放至少一个存储时间在先的栅格数据块,进行步骤104;
步骤104,从硬盘中将所述栅格数据块的数据载入,并存储于内存中;
步骤105,从内存中读取当前栅格数据块的数据。
进一步地,所述判断所述内存中用于存储栅格数据块的预定区域是否还有存储空间包括:
将已经存储的栅格数据块所占用的空间与预定区域阈值比较,若小于阈值,则说明预定区域还有存储空间,反之,则说明没有存储空间;或
查看预定区域的剩余容量,若大于零,则说明预定区域还有存储空间,反之,则说明没有存储空间。
进一步地,假设每个栅格数据数据块所占用的内存空间相同,所述已经存储的栅格数据块所占用的空间通过如下方式确定:
统计内存中存储的栅格数据块的总量以及单个栅格数据块所占用的内存空间;
将二者相乘。
进一步地,所述将当前栅格数据块的数据存储于内存包括:
将栅格数据块的块号作为索引号,栅格数据块的数据作为索引对象进行存储;或
将栅格数据块的块号作为关键字,栅格数据块的数据作为值进行存储;或
将栅格数据块的块号作为关键字,栅格数据块的存储地址作为值进行存储。
进一步地,所述从内存中读取当前栅格数据块的数据包括:
将所述栅格数据块的块号作为索引号在内存中进行索引,查找所述索引号对应的索引对象;或
将所述栅格数据块的块号作为关键字在内存中进行查找与所述关键字对应的栅格数据块的数据;或
将所述栅格数据块的块号作为关键字在内存中进行查找与所述关键字对应的栅格数据块的数据的存储地址,并根据所述存储地址读取所述栅格数据块的数据。
进一步地,所述内存中维护Map映射表,所述Map映射表的关键字为栅格数据块的块号,值为此栅格块数据在内存中的地址,所述Map映射表根据存储时间先后对存储记录进行排序,所述释放至少一个存储时间在先的栅格数据块包括:释放Map映射表里最前面的记录,所述将当前栅格数据块的数据存储于内存中包括:在Map映射表的末尾添加一条记录。
为了解决上述问题,本申请还公开了一种栅格数据处理系统,包括:
块号获取模块,用于获取当前需要读/写的栅格数据块的块号;
查询模块,用于基于所述块号查询所述栅格数据块中的数据是否存储于内存中,若是,则发送指令给数据读取模块,反之,则发送指令给判断模块;
判断模块,用于判断所述内存中用于存储栅格数据块的预定区域是否还有存储空间,若是,则发送指令给载入及存储模块;若否,则释放至少一个存储时间在先的栅格数据块后发送指令给载入及存储模块;
载入及存储模块,用于从硬盘中将所述栅格数据块的数据载入,并存储于内存中;和
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京地拓科技发展有限公司,未经北京地拓科技发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110444082.5/2.html,转载请声明来源钻瓜专利网。