专利名称:一种栅格数据的统计查询方法和系统的制作方法
技术领域:
本发明实施例涉及统计技术领域,特别是涉及一种栅格数据的统计查询方法和系统。
背景技术:
栅格数据结构简单、直观、非常利于计算机的操作和处理,是地理信息系统(Geographic Information System,GIS)常用的空间基础数据格式。基于栅格数据的空间分析是GIS空间分析的基础,统计查询是GIS空间分析模块的重要功能之一,也是GIS应用系统中不可缺少的业务之一,比如在全国人口普查专题工作中,往往需要对某省或某地区进行人口总量的统计,平均人口密度的计算等;在对全国水情监测工作中,往往需要对某地区某年的最大降雨量、最小降雨量进行统计查询等等,类似的实际应用需求非常广泛。当前的GIS应用系统的特点是使用的栅格数据量越来越大,达到Tb级的系统已经非常普遍,甚者达到Pb级别的应用系统也屡见不鲜;同时,用户群体不断增加,当接收到每条统计查询请求时,需要在海量的栅格数据中进行统计查询操作,此时往往各条统计查询请求中存在相同的统计查询请求,对海量的栅格数据进行频繁地统计查询操作,统计查询速度慢、准确率低。
发明内容
本发明实施例公开一种栅格数据的统计查询方法和系统,以解决背景技术中统计查询操作的速度慢、准确率低的问题。为了解决上述问题,本发明实施例公开了一种栅格数据的统计查询方法,包括接收到客户端发出的统计查询请求信息之后,查询区域表中是否存在与所述统计查询请求信息对应的记录;当不存在时,根据所述统计查询请求信息进行统计查询操作,将统计查询结果发送至所述客户端,并将所述统计查询结果保存到所述区域表;当存在时,将所述记录中的统计查询结果发送至所述客户端。优选的,所述统计查询请求信息,包括几何边界和统计类型;其中,所述几何边界包括一般几何边界和特殊几何边界。优选的,所述根据所述统计查询请求信息进行统计查询操作,包括确定与所述几何边界相交的各栅格;获取所述各栅格的像素值和面积;计算所述各栅格与所述几何边界相交的面积;根据Vt=St’ /StXN计算得到所述各栅格在所述几何边界中的取值,其中,Vt为所述各栅格在所述几何边界中的取值,S/为所述各栅格与所述几何边界相交的面积,St为各栅格的面积,N为各栅格的像素值;按照所述统计类型对所述取值进行计算,得到统计查询结果。
优选的,所述区域表包括一般区域表和特殊区域表;其中,所述一般区域表中的记录包括一般几何边界、统计类型和统计值;所述特殊区域表中的记录包括特殊几何边界、统计类型、统计值和栅格数据版本。优选的,所述接收到客户端发出的统计查询请求信息之后,查询区域表中是否存在与所述统计查询请求信息对应的记录,包括当所述几何边界为所述一般几何边界时,查询所述一般区域表中是否存在与所述统计查询请求信息对应的记录;当所述几何边界为所述特殊几何边界时,查询所述特殊区域表中是否存在与所述统计查询请求信息对应的记录。优选的,所述查询所述一般区域表中是否存在与所述统计查询请求信息对应的记录,包括查询所述一般区域表中是否存在记录;当不存在时,所述一般区域表中不存在与所述统计查询请求信息对应的记录;当存在时,判断所述记录的一般几何边界是否与所述统计查询请求信息中的一般几何边界相同,判断所述记录的统计类型是否与所述统计查询请求信息中的统计类型相同;当所述记录的一般几何边界与所述统计查询请求信息中的一般几何边界相同,且所述记录的统计类型与所述统计查询请求信息中的统计类型相同时,所述一般区域表中存在与所述统计查询请求信息对应的记录;当所述记录的一般几何边界与所述统计查询请求信息中的一般几何边界不同,或所述记录的统计类型与所述统计查询请求信息中的统计类型不同时,所述一般区域表中不存在与所述统计查询请求信息对应的记录。优选的,所述查询所述特殊区域表中是否存在与所述统计查询请求信息对应的记录,包括查询所述特殊区域表中是否存在记录;当不存在时,所述特殊区域表中不存在与所述统计查询请求信息对应的记录;当存在时,判断所述记录的特殊几何边界是否与所述统计查询请求信息中的特殊几何边界相同,判断所述记录的统计类型是否与所述统计查询请求信息中的统计类型相同,判断所述记录的栅格数据版本是否与预先读取的栅格数据文件的版本相同;当所述记录的特殊几何边界与所述统计查询请求信息中的特殊几何边界相同,且所述记录的统计类型与所述统计查询请求信息中的统计类型相同,且所述记录的栅格数据版本与所述预先读取的栅格数据文件的版本相同时,所述特殊区域表中存在与所述统计查询请求信息对应的记录;当所述记录的特殊几何边界与所述统计查询请求信息中的特殊几何边界不同,或所述记录的统计类型与所述统计查询请求信息中的统计类型不同,或所述记录的栅格数据版本与所述预先读取的栅格数据文件的版本不同时,所述特殊区域表中不存在与所述统计查询请求信息对应的记录。本发明实施例还公开了一种栅格数据的统计查询系统,包括记录查询模块,用于接收到客户端发出的统计查询请求信息之后,查询区域表中是否存在与所述统计查询请求信息对应的记录;统计查询模块,用于当所述区域表中不存在与所述统计查询请求信息对应的记录时,根据所述统计查询请求信息进行统计查询操作,将统计查询结果发送至所述客户端,并将所述统计查询结果保存到所述区域表;当所述区域表中存在与所述统计查询请求信息对应的记录时,将所述记录中的统计查询结果发送至所述客户端。优选的,所述统计查询请求信息,包括几何边界和统计类型;其中,所述几何边界包括一般几何边界和特殊几何边界。优选的,所述统计查询模块,包括栅格确定子模块,用于确定与所述几何边界相交的各栅格;栅格获取子模块,用于获取所述各栅格的像素值和面积;面积计算子模块,用于计算所述各栅格与所述几何边界相交的面积;取值计算子模块,用于根据Vt=St’ /StXN计算得到所述各栅格在所述几何边界中的取值,其中,Vt为所述各栅格在所述几何边界中的取值,S/为所述各栅格与所述几何边界相交的面积,St为各栅格的面积,N为各栅格的像素值;结果计算子模块,用于按照所述统计类型对所述取值进行计算,得到统计查询结
果O与背景技术相比,本发明实施例包括以下优点首先,栅格数据文件中包括区域表,当某个客户端查询某区域的某项统计查询结果时,可以将对应的统计查询结果保存到区域表中;当另一个客户端查询相同区域的相同项统计查询结果时,可以无需再对栅格数据进行查询,直接从区域表中读取之前保存的统计查询结果返回给需要的客户端,提高了统计查询的速度,也解决了频繁统计查询数据文件造成的统计查询结果准确率的问题。其次,区域表包括一般区域表和特殊区域表,一般区域表中存储对各个客户端有意义的并且几何区域不变的统计查询的结果记录数据(如,各个省、市和县的区域范围内的统计查询结果),而且这些区域范围的数量相对固定。特殊区域表中存储对某个客户端有意义的统计查询的结果记录数据(如,自定义绘制的某一区域的统计查询结果)。当栅格数据文件发生更新时,自动重新计算因数据更新而受影响的那些区域的统计值,并更新一般区域表中相应的记录,使一般区域表中的所有记录的统计值与栅格数据文件保持同步。即使对整个栅格数据文件进行更新,进行重新统计查询操作的次数也是一定的(因为一般区域表中存储的记录数量是相对固定的,大概为几千条),相比背景技术中栅格数据文件发生更新时,每个统计查询请求需要重新计算一次更新后的统计查询结果,提高了栅格数据文件发生更新时的统计查询效率。
图1是本发明实施例中一种栅格数据的统计查询方法流程图;图2是本发明实施例中一种栅格数据的统计查询方法流程图;图3是本发明实施例中几何边界与栅格的位置关系示意图;图4是本发明实施例中一种栅格数据的统计查询系统结构图;图5是本发明实施例中一种栅格数据的统计查询系统结构图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本发明作进一步详细的说明。本发明实施例公开的一种栅格数据的统计查询方法和系统,为栅格数据文件创建两个对应的数据表,分别为“一般性统计查询区域表”和“特殊性统计查询区域表”。而且栅格数据文件包含版本信息,假设此时栅格数据文件Raster Data, rd的版本为VI,当此栅格数据文件的任意部分发生数据更新时,在更新Raster Data, rd的栅格数据的同时,也更新其版本信息为V2,并记录在栅格数据文件里。其中,“一般性统计查询区域表”包括“几何边界”属性字段(数据类型为Blob 二进制,用来存储几何区域矢量数据)、“统计类型”属性字段(数据类型为string,用来存储统计计算的类型,是统计加和计算还是统计查询最大值或最小值计算)和“统计值”属性字段(数据类型为double型,用来存储统计查询的值)。“一般性统计查询区域表”中存储的是对各个客户端有意义的并且几何区域不变的统计查询的结果记录数据,例如,对描述全国人口的栅格数据进行区域查询时,对各个省、市和县的区域范围内的统计查询结果,存储在“一般性统计查询区域表”里,供以后统计查询时使用,如表I所示。
权利要求
1.一种栅格数据的统计查询方法,其特征在于,包括: 接收到客户端发出的统计查询请求信息之后,查询区域表中是否存在与所述统计查询请求信息对应的记录; 当不存在时,根据所述统计查询请求信息进行统计查询操作,将统计查询结果发送至所述客户端,并将所述统计查询结果保存到所述区域表; 当存在时,将所述记录中的统计查询结果发送至所述客户端。
2.根据权利要求1所述的方法,其特征在于,所述统计查询请求信息,包括:几何边界和统计类型; 其中,所述几何边界包括:一般几何边界和特殊几何边界。
3.根据权利要求2所述的方法,其特征在于,所述根据所述统计查询请求信息进行统计查询操作,包括: 确定与所述几何边界相交的各栅格; 获取所述各栅格的像素值和面积; 计算所述各栅格与所述几何边界相交的面积; 根据Vt=St’ /StXN计算得到所述各栅格在所述几何边界中的取值,其中,Vt为所述各栅格在所述几何边界中的取值,S/为所述各栅格与所述几何边界相交的面积,St为各栅格的面积,N为各栅格的像素值; 按照所述统计类型对所述取值进行计算,得到统计查询结果。
4.根据权利要求2所述的方法,其特征在于,所述区域表包括:一般区域表和特殊区域表; 其中,所述一般区域表中的记录包括:一般几何边界、统计类型和统计值; 所述特殊区域表中的记录包括:特殊几何边界、统计类型、统计值和栅格数据版本。
5.根据权利要求4所述的方法,其特征在于,所述接收到客户端发出的统计查询请求信息之后,查询区域表中是否存在与所述统计查询请求信息对应的记录,包括: 当所述几何边界为所述一般几何边界时,查询所述一般区域表中是否存在与所述统计查询请求信息对应的记录; 当所述几何边界为所述特殊几何边界时,查询所述特殊区域表中是否存在与所述统计查询请求信息对应的记录。
6.根据权利要求5所述的方法,其特征在于,所述查询所述一般区域表中是否存在与所述统计查询请求信息对应的记录,包括: 查询所述一般区域表中是否存在记录; 当不存在时,所述一般区域表中不存在与所述统计查询请求信息对应的记录; 当存在时,判断所述记录的一般几何边界是否与所述统计查询请求信息中的一般几何边界相同,判断所述记录的统计类型是否与所述统计查询请求信息中的统计类型相同;当所述记录的一般几何边界与所述统计查询请求信息中的一般几何边界相同,且所述记录的统计类型与所述统计查询请求信息中的统计类型相同时,所述一般区域表中存在与所述统计查询请求信息对应的记录;当所述记录的一般几何边界与所述统计查询请求信息中的一般几何边界不同,或所述记录的统计类型与所述统计查询请求信息中的统计类型不同时,所述一般区域表中不存在与所述统计查询请求信息对应的记录。
7.根据权利要求5所述的方法,其特征在于,所述查询所述特殊区域表中是否存在与所述统计查询请求信息对应的记录,包括: 查询所述特殊区域表中是否存在记录; 当不存在时,所述特殊区域表中不存在与所述统计查询请求信息对应的记录; 当存在时,判断所述记录的特殊几何边界是否与所述统计查询请求信息中的特殊几何边界相同,判断所述记录的统计类型是否与所述统计查询请求信息中的统计类型相同,判断所述记录的栅格数据版本是否与预先读取的栅格数据文件的版本相同;当所述记录的特殊几何边界与所述统计查询请求信息中的特殊几何边界相同,且所述记录的统计类型与所述统计查询请求信息中的统计类型相同,且所述记录的栅格数据版本与所述预先读取的栅格数据文件的版本相同时,所述特殊区域表中存在与所述统计查询请求信息对应的记录;当所述记录的特殊几何边界与所述统计查询请求信息中的特殊几何边界不同,或所述记录的统计类型与所述统计查询请求信息中的统计类型不同,或所述记录的栅格数据版本与所述预先读取的栅格数据文件的版本不同时,所述特殊区域表中不存在与所述统计查询请求信息对应的记录。
8.一种栅格数据的统计查询系统,其特征在于,包括: 记录查询模块,用于接收到客户端发出的统计查询请求信息之后,查询区域表中是否存在与所述统计查询请求信息对应的记录; 统计查询模块,用于当所述区域表中不存在与所述统计查询请求信息对应的记录时,根据所述统计查询请求信息进行统计查询操作,将统计查询结果发送至所述客户端,并将所述统计查询结果保存到所述区域表;当所述区域表中存在与所述统计查询请求信息对应的记录时,将所述记录中的统计查询结果发送至所述客户端。
9.根据权利要求8所述的系统,其特征在于,所述统计查询请求信息,包括:几何边界和统计类型; 其中,所述几何边界包括:一般几何边界和特殊几何边界。
10.根据权利要求9所述的系统,其特征在于,所述统计查询模块,包括: 栅格确定子模块,用于确定与所述几何边界相交的各栅格; 栅格获取子模块,用于获取所述各栅格的像素值和面积; 面积计算子模块,用于计算所述各栅格与所述几何边界相交的面积; 取值计算子模块,用于根据Vt=st’ /StXN计算得到所述各栅格在所述几何边界中的取值,其中,Vt为所述各栅格在所述几何边界中的取值,S/为所述各栅格与所述几何边界相交的面积,St为各栅格的面积,N为各栅格的像素值; 结果计算子模块,用于按照 所述统计类型对所述取值进行计算,得到统计查询结果。
全文摘要
本发明实施例公开了一种栅格数据的统计查询方法和系统,以解决背景技术中统计查询操作的速度慢、准确率低的问题。所述方法,包括接收到客户端发出的统计查询请求信息之后,查询区域表中是否存在与所述统计查询请求信息对应的记录;当不存在时,根据所述统计查询请求信息进行统计查询操作,将统计查询结果发送至所述客户端,并将所述统计查询结果保存到所述区域表;当存在时,将所述记录中的统计查询结果发送至所述客户端。本发明实施例提高了统计查询的速度,也解决了频繁统计查询数据文件造成的统计查询结果准确率的问题,同时也提高了栅格数据文件发生更新时的统计查询效率。
文档编号G06F17/30GK103077204SQ201210581889
公开日2013年5月1日 申请日期2012年12月27日 优先权日2012年12月27日
发明者孙成宝, 张瑞侠 申请人:北京地拓科技发展有限公司