一种时空栅格数据存储管理方法和系统的制作方法

文档序号:6439759阅读:318来源:国知局
专利名称:一种时空栅格数据存储管理方法和系统的制作方法
技术领域
本发明涉及数据存储及信息处理技术领域,尤其涉及一种时空栅格数据存储管理方法和系统。
背景技术
地理信息系统(Geographic Information System, GIS)是一种具有采集空间数据并存储、管理、分析与表现空间信息的计算机系统。采用GIS技术使高效管理具有空间分布特征的原始数据及其制图输出成为可能,并逐步成为现代企业管理和政府决策的有力助手。数据则是地理信息系统的基础,在现有的系统开发设计中,投入成本最大的就是数据处理,其投入费用占系统建立和维护的70%以上。从应用的角度来看,近几年GIS的应用领域不断扩大,出现了大量成熟的商业GIS平台,空间数据的建设越来越受到重视。基于空间数据基础设施的建设,人们开始了空间数据共享和互操作的研究。但是多种数据格式的互相转换,均需要以栅格图像矢量化为前提。采用栅格图像,取消矢量化数据的步骤是对GIS数据处理的发展趋势,提出了一些基于栅格数据的地理信息系统技术体系,并得到了应用实践。时空GIS是一种采集、存储、管理、分析与显示地理实体随时间变化信息的计算机系统。它不但包含传统地理信息系统的空间特性.而且涵盖时间特性;它不但反映事物和现象的存在状态,而且表达其发展变化过程及规律。在系统中增加对时间维的表达、分析能力,提供历史分析与趋势分析的功能,是时空GIS的独特之处。对于GIS中重要的栅格数据类型,其时空特性在应用中也是具有重要的研究价值,因此本专利解决时空栅格数据的存储问题;传统地理信息系统中的栅格数据,是在某一特定时间下,对某一事物或者现象的空间属性表达。比如,1990年的中国土地利用类型的栅格数据,表达了在1990年这个特定时间下的中国土地利用类型现状信息。为了能表达其发展变化过程及规律,需要支持时间的特性。直观的解决方法是,对发展变化过程的起始时间点t,保存其完整的栅格数据,对变化过程中的一系列时间点tl,t2,t3,…,tn逐个添加保存到栅格数据里。由于数据量巨大,这种方法在实际中大部分情况下是不可行的,这是因为一、在海量栅格数据情况下,比如100G(或更大),每增加一个时间点t,就需要大约增加100G(或更大)的存储空间。这样,在应用中会经常发生没有足够的存储空间支持时空栅格特性。二、对于某一时间下栅格数据量本身不是很大的情况下,在某些应用中,需要保存非常多的时间点t的栅格数据,比如,每天采集一次数据保存,这样,最后需要的存储空间还是非常巨大的。所以,为了支持时空栅格数据,其存储技术得要创新才能适应具体应用,需要提出一种可行的时空栅格存储技术方案。

发明内容
有鉴于此,本发明提供一种时空栅格数据存储管理方法和系统,可大大减少存储时空栅格数据所需的空间,以适应时空GIS系统具体应用。本发明提供的一种时空栅格数据的存储管理方法,包括采集栅格数据,以起始时间点、的空间属性信息的栅格数据作为基础栅格数据Dtl 并保存;获取发展变化过程中一系列时间点ti;的栅格数据Di,得到栅格数据Di与上一时间点栅格数据Dg之间的变化量值Cli并保存,i = 1,2,…,η。更适宜地,该存储管理方法,进一步包括读出时间点ti的栅格数据读取所保存的基础栅格数据Dtl,再分别读出所保存的时间点tl,t2,…,的栅格数据变化量值dl,d2,…,di;将基础栅格数据Dtl,与dl,d2,…,Cli相加得到时间点、的栅格数据。本发明提供的一种时空栅格数据的存储管理系统,包括数据采集单元,用于采集栅格数据,将获取的起始时间点、的空间属性信息的栅格数据作为基础栅格数据发送给第一存储单元;第一存储单元,用于保存所述基础栅格数据Dtl ;变化检测单元,用于检测发展变化过程中一系列时间点ti;的栅格数据Di,的变化量,得到栅格数据Di与栅格数据Dg之间的变化量值Cli并提供给第二存储单元;第二存储单元,用于保存所述变化量值dp i = 1,2,…,η。更适宜地,该存储管理系统,还具有用于读出时间点、的栅格数据的数据读取单元,该数据读取单元具体包括读出模块,用于读取所保存的基础栅格数据Dtl,再分别读出所保存的时间点tl, t2,…,、的栅格数据变化量值dl,d2,…,di;合成模块,用于将基础栅格数据Dtl与dl,d2,…,Cli相加得到时间点、的栅格数据;输出模块,用于提供所述合成模块得到的时间点、的栅格数据。综上所述,本发明提供的时空栅格数据存储技术方案,通过确定起始点的空间属性信息的栅格数据作为基础栅格数据Dtl并保存,在获取并保存各时间点之间的变化量,这样不必保存每一时间点的全部栅格数据,大大减少存储时空栅格数据所需的空间,以适应时空GIS系统具体应用。


图1为本发明提供的时空栅格数据存储方法的流程图;图2为本发明实施例中提供的时空栅格数据逻辑结构示意图;图3为本发明实施例中提供的基础栅格数据分块示意图;图4为本发明实施例中提供的基础栅格数据块的数据结构图;图5为本发明实例中提供的基础栅格数据块的某一时间点的变化量数据结构示意图;图6为本发明实例中采用压缩处理时的时空栅格数据逻辑结构示意图;图7为本发明实例中提供的一种时空栅格数据的存储管理系统架构示意图。
具体实施例方式鉴于在很多的时空GIS系统具体应用中,需要保存非常多的时间点的栅格数据, 时空栅格数据的数据量巨大,现有技术中提供的存储方法需要占用庞大的存储空间,为了支持时空栅格数据的存储管理,本发明提供了一种可行的时空栅格存储其存储方法,可大大减少存储时空栅格数据所需的空间,以适应时空GIS系统具体应用。参照图1,本发明提供的一种时空栅格数据的存储管理方法,包括如下步骤S01,采集栅格数据,以起始时间点、的空间属性信息的栅格数据作为基础栅格数据D0并保存;S02,获取发展变化过程中一系列时间点ti;的栅格数据Di,得到栅格数据Di与上一时间点栅格数据Dp1之间的变化量值Cli并保存,i = 1,2,…,η。进一步地,该存储管理方法,还包括步骤S03,读出时间点、的栅格数据。S03a,读取所保存的基础栅格数据Dtl,再分别读出所保存的时间点tl,t2,…,ti 的栅格数据变化量值dl, d2,…,Cli ;S03b,将基础栅格数据D。,与dl,d2,…,(Ii相加得到时间点、的栅格数据。本发明具体实施例中,所述基础栅格数据Dtl采用分块方式保存,具体分为KX L个数据块,K = 21, L = 2J, i,j分别为彡2的整数。同样地,所述栅格数据Di,采用分块方式保存具体分为KXL个数据块,K = 21, L = 2j,i,j分别为彡2的整数。通常,所述基础栅格数据Dtl以一文件形式保存;所述栅格数据Cli也以文件形式保存。根据具体情况和需求,该存储管理方法,还包括所述基础栅格数据Dtl在保存之前进行压缩,并保存压缩后的数据;和/或所述栅格数据Cli在保存之前进行压缩,并保存压缩后的数据。为使本发明的原理、特性和优点更加清楚,下面结合具体实施例对本发明进行详细描述。实施例参照图1和图2,本发明实施例提供的一种时空栅格数据的存储管理方法,包括如下步骤步骤S11、采集栅格数据,以起始时间点、的空间属性信息的栅格数据作为基础栅格数据Dtl并保存;存储基础栅格数据。基础栅格数据是指描述发展变化过程的起始时间点t的空间属性信息的栅格数据。基础栅格数据可以用一文件来存储,假设文件名称为TRd_baSe。基础栅格数据采用经典的分块方式,如图3所示。假设采用的分块大小为256M56象素,如图4所示,图3中的每个块数据类似。步骤S12、获取时间点ti;的栅格数据Di,得到栅格数据Di与上一时间点栅格数据 Dh之间的变化量值屯并保存,i = 1,2,…,η。存储发展变化过程中(除了起始点)一系列时间点tl,t2,…,tn的栅格变化量, 增加一个文件,假设文件为TRd_SnapS,用来保存这些数据。
TRcLSnaps也采用分块思想.假设现在要存储η个时间点对应的栅格变化量数据, 在逻辑结构如图2所示。TRcLSnaps中存储的块数与基础栅格文件里的块数保持一致,所不同的是,TRd_ Snaps中的每个块存储的数据包括时间点tl,t2,…,tn的变化量数据dl,d2,…,dn。假设基础栅格数据分块大小采用256M56象素,则dl,d2,…dn分别均是256M56象素大小的数据块,以dl为例子如图5所示,每个格子中表示每个时间点栅格图像与上一时间点象素的变化量,即栅格数据Di与上一时间点栅格数据Dg之间的变化量值屯。如果按此方式直接存储每个时间点的变化量,没有根本解决海量数据存储的问题;从图5中,由此可以看出,某一时间点的变化量,是相对于前一时间点而言。在实际应用中,相邻的2个时间点栅格数据变化部分是很小的,这样,图4中文件的逻辑数据结构中存储的绝大部分为0,局部来看,就是图5中表现的大部分象素的变化量是0。基于有此特点的数据结构,采用对变化量数据进行压缩处理,如果是有效压缩,即压缩后大小小于压缩前大小(大部分情况都这样的),则存储压缩后数据,否则直接存储(压缩算法很多,在此不再一一列举),这样TRcLSnaps文件的每一个块的每个时间点变化量数据就可以用很少的字节就可以存储了,这就是为什么保存2个时间点之间的栅格数据变化量的根本原因。TRd_ Snaps文件的本质作用就是用来保存不同时间点的栅格之间的变化量。在实际应用中,这种方法是可以满足一般需求,除非这个海量的栅格需要存储变化发展中的很多个时间点栅格数据,并且绝大部分的时间点之间的栅格数据变化非常大,没有规则。逻辑结构如图6所示,每个时间点栅格图像与上一时间点象素的变化量经压缩后保存。步骤S13、读出时间点、的栅格数据。按照本发明提供的方法保存的时空栅格数据,在需要时如何读出所保存的时间点 tm的栅格数据呢?具体地,可先读基础栅格数据文件TRcLbase的块的数据,得到块buf_baSe ;再读 TRcLSnaps文件的tl时间点的块的数据buf_snapl,再读TRd_SnapS文件的t2时间点的块的数据buf_snap2,以此类推,得到tm时间点的块的数据buf_snapm,然后将块数据buf_ base、buf_snapl、buf_snap2、…、buf_snapm相加得到时间点tm的栅格块s的数据。参照图7,本发明还提供一种时空栅格数据的存储管理系统700,包括数据采集单元710,用于采集栅格数据,将获取的起始时间点、的空间属性信息的栅格数据作为基础栅格数据发送给第一存储单元;第一存储单元720,用于保存所述基础栅格数据Dtl ;变化检测单元730,用于检测发展变化过程中一系列时间点ti;的栅格数据Di,的变化量,得到栅格数据Di与栅格数据Dg之间的变化量值Cli并提供给第二存储单元;第二存储单元740,用于保存所述变化量值屯,i = 1,2,…,η。该存储管理系统700,还具有用于读出时间点、的栅格数据的数据读取单元850, 该数据读取单元750具体包括如下模块(图7中未示出)读出模块750a,用于读取所保存的基础栅格数据Dtl,再分别读出所保存的时间点 tl,t2,…,、的栅格数据变化量值dl,d2,…,di;合成模块750b,用于将基础栅格数据Dtl与dl,d2,…,(Ii相加得到时间点、的栅格数据;输出模块750c,用于提供所述合成模块得到的时间点、的栅格数据。存储管理系统700,还包括压缩单元760,用于在保存之前对所述基础栅格数据Dtl进行压缩,并将压缩后的数据提供给第一存储单元820 ;和/或在保存之前对的所述栅格数据变化量值Cli进行压缩,并将压缩后的数据提供给第二存储单元840。近10年来有很多对时空Gis的研究,但都未能从实际上提出可行的支持海量时空栅格数据的具体方法。本发明可以在实际中有效的支持时间特性的栅格数据的分析处理。应用实例以2000年的中国植被类型分类栅格为基础栅格数据为例,该基础栅格数据文件 TRd_base大小为16. 3G,增加2001年、2002年、2003年、2004年、2005年的变化发展过程的栅格数据,如果采用分别单独存储方式,则需要增加大约81. 5G的存储空间,而采用本发明所提供的方法,文件TRcLSnaps的实际大小仅为2. 6( 大小,由于每年的植被变化不会发生太大规模的混乱变化,所以,本发明对海量时空栅格的支持是非常有效的。以上对本发明所提供的栅格数据存储方法及读取方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种时空栅格数据的存储管理方法,其特征在于,包括采集栅格数据,以起始时间点、的空间属性信息的栅格数据作为基础栅格数据Dtl并保存;获取发展变化过程中一系列时间点ti;的栅格数据Di,得到栅格数据Di与上一时间点栅格数据Dg之间的变化量值屯并保存,i = 1,2,…,η。
2.如权利要求1所述的存储管理方法,其特征在于,进一步包括读出时间点、的栅格数据读取所保存的基础栅格数据Dtl,再分别读出所保存的时间点tl,t2,…,的栅格数据变化量值dl,d2,…,di;将基础栅格数据Dtl,与dl,d2,…,Cli相加得到时间点、的栅格数据。
3.如权利要求1所述的存储管理方法,其特征在于,所述基础栅格数据Dtl采用分块方式保存,具体分为KXL个数据块,K = 21, L = 2J, i,j分别为> 2的整数。
4.如权利要求3所述的存储管理方法,其特征在于,所述栅格数据Di,采用分块方式保存具体分为KXL个数据块,K = 21, L = 2J, i,j分别为> 2的整数。
5.如权利要求1所述的存储管理方法,其特征在于, 所述基础栅格数据Dtl以一文件形式保存; 所述栅格数据Cli以文件形式保存。
6.如权利要求1至5中任一项所述的存储管理方法,其特征在于,还包括 所述基础栅格数据Dtl在保存之前进行压缩,并保存压缩后的数据;和/或所述栅格数据Cli在保存之前进行压缩,并保存压缩后的数据。
7.—种时空栅格数据的存储管理系统,其特征在于,包括数据采集单元,用于采集栅格数据,将获取的起始时间点、的空间属性信息的栅格数据作为基础栅格数据发送给第一存储单元;第一存储单元,用于保存所述基础栅格数据Dtl ;变化检测单元,用于检测发展变化过程中一系列时间点的栅格数据Di,的变化量, 得到栅格数据Di与栅格数据Dg之间的变化量值Cli并提供给第二存储单元; 第二存储单元,用于保存所述变化量值屯,i = 1,2,…,η。
8.如权利要求7所述的存储管理系统,其特征在于,还具有用于读出时间点、的栅格数据的数据读取单元,该数据读取单元具体包括读出模块,用于读取所保存的基础栅格数据Dtl,再分别读出所保存的时间点tl,t2,···, 、的栅格数据变化量值dl, d2,…,Cli ;合成模块,用于将基础栅格数据D0与dl, d2,…,Cli相加得到时间点、的栅格数据; 输出模块,用于提供所述合成模块得到的时间点、的栅格数据。
9.如权利要求7所述的存储管理系统,其特征在于,还包括压缩单元,用于在保存之前对所述基础栅格数据Dtl进行压缩,并将压缩后的数据提供给所述第一存储单元;和/或在保存之前对的所述栅格数据变化量值Cli进行压缩,并将压缩后的数据提供给所述第二存储单元。
全文摘要
本发明提供了一种时空栅格数据的存储管理方法,包括采集栅格数据,以起始时间点t0的空间属性信息的栅格数据作为基础栅格数据D0并保存;获取发展变化过程中一系列时间点ti,的栅格数据Di,得到栅格数据Di与上一时间点栅格数据Di-1之间的变化量值di并保存。本发明还提供了相应的一种时空栅格数据的存储管理系统。根据本发明可大大减少存储时空栅格数据所需的空间,以适应时空GIS系统具体应用。
文档编号G06F17/30GK102521298SQ20111039148
公开日2012年6月27日 申请日期2011年11月30日 优先权日2011年11月30日
发明者孙成宝, 曹刚, 李团宏, 李嵩 申请人:北京地拓科技发展有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1