栅格数据传输方法及系统的利记博彩app

文档序号:6441362阅读:309来源:国知局
专利名称:栅格数据传输方法及系统的利记博彩app
技术领域
本申请涉及计算机数据处理技术领域,特别是涉及一种栅格数据传输方法及系统。
背景技术
基于栅格模型的数据结构简称为栅格数据结构,是指将空间分割成有规则的网格,成为栅格数据块,在各个栅格数据块上给出相应的属性值来表示地理实体的一种数据组织形式。栅格数据结构因为相对简单,而且空间分析和地理现象的模拟比较容易,有利于遥感数据的匹配应用和分析,输出方法快速,且成本比较低廉,因此被广泛应用于地理信息系统中。但是,另一方面,栅格数据结构的图形数据量大、冗余度高,在进行数据传输时需要占用大量资源和传输时间。例如,当栅格数据是存储在服务器端时,如果客户端程序需要实现某一个模型的计算,首先需要从远程网络数据服务器端上获取多个栅格数据作为模型计算的输入数据, 然后基于这些栅格数据进行模型运算,最后得到一系列的栅格数据。有的时候,客户端程序还需要将得到的一系列栅格数据返回给服务器端。如前所述,因为栅格数据的数据量大、冗余度高,这就会使客户端获取全部远程网络数据服务器上栅格数据以及传回计算后的栅格数据的速度变慢,同时因为数据量大,在传输过程中占用大量的网络带宽,这就会影响数据传输速度和效率,从而影响模型运算速度和效率。

发明内容
本申请所要解决的技术问题是提供一种栅格数据传输方法及系统,能够解决栅格数据因为数据量大而占用大量的网络带宽,影响数据传输速度和效率问题。为了解决上述问题,本申请公开了一种栅格数据传输方法,包括以下步骤接收客户端发送的获取栅格数据块的请求,并基于所述请求查找栅格数据块;遍历所述各栅格数据块的像素,确定每一个栅格数据块的最大像素值和最小像素值;根据各栅格数据块的最大像素值和最小像素值为各栅格数据块确定放大系数;依据所述确定的放大系数对各栅格数据块进行放大得到放大后的栅格数据;将所述放大后的栅格数据以及各栅格数据块的放大系数发送给客户端。进一步地,所述根据各栅格数据块的最大像素值和最小像素值为各栅格数据块确定放大系数包括获取预先设定的上限值和下限值;对最大像素值和最小像素值进行10的整数次方的放大并四舍五入后,同时满足最大像素值和上限值的差值最小,最小像素值和下限值差值最小的放大倍数为该栅格数据块的放大系数。进一步地,所述预先设定的上限值和下限值根据如下条件确定
使放大后的最大像素值和最小像素值存储字节数最小;或使放大后的最大像素值和最小像素值存储字节数小于放大前的最大像素值和最小像素值存储字节数。进一步地,所述根据各栅格数据块的最大像素值和最小像素值为各栅格数据块确定放大系数包括a.如果最大像素值和最小像素值均在[-1. 27,1.观],放大系数取100 ;b.如果最大像素值和最小像素值均在[-12. 7,12. 8],放大系数取10 ;c.如果最大像素值和最小像素值均在[-127. 0,128. 0],放大系数取100 ;d.如果最大像素值和最小像素值均在[-3276. 0,3276. 0],放大系数取10 ;e.其他范围情况下,按原值不放大;若最大像素值和最小像素值同时满足所述两个以上的条件,则选取上下限值的取值范围最小的那个条件中的放大系数。进一步地,所述方法还包括客户端根据接收到的所述放大后的栅格数据以及各栅格数据块的放大系数对栅格数据进行对应倍数的缩小,将缩小后的栅格数据代入模型中进行运算,并将运算后的数据传回给服务器端。进一步地,所述将运算后的数据传回给服务器端之前还包括对运算后的数据进行放大,将放大后的数据传回。为了解决上述问题,本申请还提供了一种栅格数据传输系统,包括栅格数据块查找模块,用于接收客户端发送的获取栅格数据块的请求,并基于所述请求查找栅格数据块;像素值遍历模块,用于遍历所述各栅格数据块的像素,确定每一个栅格数据块的最大像素值和最小像素值;放大系数确定模块,用于根据各栅格数据块的最大像素值和最小像素值为各栅格数据块确定放大系数;计算模块,用于依据所述确定的放大系数对各栅格数据块进行放大得到放大后的栅格数据;和数据传输模块,用于将所述放大后的栅格数据以及各栅格数据块的放大系数发送给客户端。进一步地,所述放大系数确定模块包括数值获取单元,用于获取预先设定的上限值和下限值;放大系数确定单元,用于对最大像素值和最小像素值进行10的整数次方的放大并四舍五入后,同时满足最大像素值和上限值的差值最小,最小像素值和下限值差值最小的放大倍数为该栅格数据块的放大系数。进一步地,所述放大系数确定模块还包括数值确定单元,用于根据条件确定上限值和下限值,所述条件包括使放大后的最大像素值和最小像素值存储字节数最小;或使放大后的最大像素值和最小像素值存储字节数小于放大前的最大像素值和最小像素值存储字节数。
进一步地,所述系统还包括
接收模块,用于接收客户端传回的经模型运算后的结果栅格数据。
与现有技术相比,本申请包括以下优点
本申请的栅格数据传输方法通过对需要传输的栅格数据按照其像素值选取适合该栅格数据块的放大系数对其进行放大,从而使栅格数据可以改用占用字节数较少的数据类型进行存储,从而降低了栅格数据传输量,也提高传输效率。
进一步地,因为在确定放大系数时,并不是统一为所有栅格数据数据块设定,而是针对各栅格数据块的实际像素值所在范围来确定,可以使放大更有针对性,从而使放大后的数据做占用的存储字节数更小,从而使栅格数据传输量能尽可能的被降低。
另外,当客户端接收到栅格数据以及放大系数后,可以对栅格数据进行缩小,从而代入模型运算。服务器器和客户端对栅格数据的放大以及缩小操作的运算过程较为简单, 而且都是在内存中完成,耗时几乎可以忽略不计,所以并不会影响数据传输时间。
当然,实施本申请的任一产品不一定需要同时达到以上所述的所有优点。


图1是本申请的栅格数据传输方法实施例一的流程图2是本申请的栅格数据传输方法实施例二的流程图3是本申请的栅格数据传输系统实施例一的结构示意图4是所需传输的一个栅格数据块示意图5是服务器端依照本申请的栅格数据传输方法及系统对图4所示的栅格数据块进行放大后的示意图6是客户端依照本申请的栅格数据传输方法及系统对图5所示的栅格数据块进行缩小后的示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本申请作进一步详细的说明。
参照图1,示出本申请的一种栅格数据传输方法实施例一,包括以下步骤
步骤101,接收客户端发送的获取栅格数据块的请求,并基于所述请求查找栅格数据块。
当客户端需要进行模型计算时,根据需要向服务器端发送获取栅格数据请求,请求中会包括目标栅格数据的文件名称以及目标栅格数据中的栅格数据块的块号。当服务器端接收请求后,基于请求中的目标栅格数据的文件名称查找到对应的栅格数据文件,然后再基于请求中的块号去查找该栅格数据文件中对应的栅格数据块。
步骤102,遍历所述栅格数据块的像素,确定每一个栅格数据块的最大像素值和最小像素值。
栅格数据是由若干栅格数据块组成,例如,KXL个栅格数据块,K,L分别为> 2的整数。每一个栅格数据块由若干像素构成,例如,mXn个象素构成。m = 2i,n = 2j,i,j分别为> 2的整数。假设客户端请求的目标栅格数据包含m个栅格数据块,则分别确定m个栅格数据块中的最大像素值和最小像素值。
步骤103,根据各栅格数据块的最大像素值和最小像素值为各栅格数据块确定放大系数。
确定放大系数需要满足的基本条件为使每一个像素值可以用更小字节的数据类型进行存储,从而减少栅格数据的传输量。具体的做法为将每一个栅格数据块的最大像素值和最小像素值进行10的整数次方的放大并四舍五入后,同时满足最大像素值和上限值的差值最小,最小像素值和下限值差值最小的放大倍数为该栅格数据块的放大系数。即,最大像素值和最小像素值分别乘以相同的放大倍数后,其仍然需要在上限值和下限值的数值范围内。
设置前述条件的原因是对于像素值较小且小数位较少的栅格数据块来说可以很好的实现。但是,当栅格数据块的像素值本身就较大,若再经过放大系数的放大,则可能占用更多的空间,对于这些像素值则无须放大,维持原状即可。另外,当栅格数据块的像素值小数部分较多时,需要很大的放大系数才能转化为整数时,其最终放大后的值也会很大,因此也会占用更多的空间。因此,除了考虑将像素值转化为整数,还需要设定转化后的整数的上下限值,来保证转化后的整数能够以比原来更小的字节数存储。具体可以通过如下方式实现预先设定像素值不同的取值范围以及各取值范围对应的放大系数,然后将放大后仍然存在小数的像素值进行四舍五入。当某一栅格数据块的最大像素值和最小像素值落入某一取值范围内时,则将该取值范围对应的放大系数确定为该栅格数据块的放大系数,超过这些取值范围,则不放大。
因为在转化为整数的过程中可能存在四舍五入,这就会影响数据精准度,从而影响模型运算精度。优选地,在转换时除了考虑减少像素值占用的字节数还可以考虑模型运算精度。即,在减少像素值占用字节的前提下,尽量选取使结果精确度相对较高的放大系数。例如,在很多情况下,栅格数据块中的像素是以float型或double型数据格式存储的, 其每一个像素所占用的字节数为4字节或8字节,如果对于精度要求较高的时候,当某一个像素值按照放大系数Kl放大后,可以只占用一个字节,但是需要舍掉一位小数,而按照放大系数K2放大后,会占用两个字节,但是没有小数部分,无须四舍五入。此时,若只考虑占用字节数,则可以选取Kl为放大系数,若还需要考虑精度,则可以选取K2为放大系数。具体情况,可以根据客户端的模型运算精度要求来选取,只要能够使放大后的最大像素值和最小像素值存储字节数小于放大前的最大像素值和最小像素值存储字节数,能够实现减少栅格数据传输量的目标即可,本申请对此并不限制。
步骤104,依据所述确定的放大系数对各栅格数据块进行放大得到放大后的栅格数据。
放大过程包括将前述确定的放大系数乘以各栅格数据块的每一个像素值,若所得数包括小数部分,则对所得数四舍五入。
步骤105,将所述放大后的栅格数据以及各栅格数据块的放大系数发送给客户端。
因为对栅格数据进行了放大处理,客户端在计算时需要原始的数据,此时需要将放大系数一同发给客户端,客户端根据各栅格数据块对应的放大系数对接收到的数据进行对应倍数的缩小,然后再将缩小后的栅格数据代入模型中进行运算,从而保证模型运算精度。
优选地,参照图2,本申请的栅格数据传输方法实施例二,还包括以下步骤
步骤201,接收客户端传回的经模型运算后的结果栅格数据。
其中,在客户端经模型运算后的结果栅格数据可以直接传回给服务器端,也可以按照与实施例一中各步骤相同的方法对结果栅格数据放大后,将放大后的栅格数据以及放大系数一同传回给服务器端,从而减少传回数据时的数据量以及提高数据回传的效率。
参照图3,示出本申请的一种栅格数据传输系统,包括栅格数据块查找模块10、像素值遍历模块20、放大系数确定模块30、计算模块40和数据传输模块50。
栅格数据块查找模块10,用于接收客户端发送的获取栅格数据块的请求,并基于所述请求查找栅格数据块。
像素值遍历模块20,用于遍历所述各栅格数据块的像素,确定每一个栅格数据块的最大像素值和最小像素值。
放大系数确定模块30,用于根据各栅格数据块的最大像素值和最小像素值为各栅格数据块确定放大系数。优选地,放大系数确定模块30包括数值获取单元和放大系数确定单元。数值获取单元,用于获取预先设定的上限值和下限值。放大确定单元,用于对最大像素值和最小像素值进行10的整数次方的放大并四舍五入后,同时满足最大像素值和上限值的差值最小,最小像素值和下限值差值最小的放大倍数为该栅格数据块的放大系数。优选地,放大系数确定模块还包括数值确定单元,用于根据条件确定上限值和下限值,所述条件包括使放大后的最大像素值和最小像素值存储字节数最小;或使放大后的最大像素值和最小像素值存储字节数小于放大前的最大像素值和最小像素值存储字节数。
计算模块40,用于依据所述确定的放大系数对各栅格数据块进行放大得到放大后的栅格数据。
数据传输模块50,用于将所述放大后的栅格数据以及各栅格数据块的放大系数发送给客户端。
优选地,该系统还包括数据接收模块,用于接收客户端传回的经模型运算后的结果栅格数据。
下面结合具体的实例对前述方法和系统进行详细说明,假设只考虑占用较少字节数,不考虑数据的准确度,放大系数确定过程如下
a.如果最大像素值Vmax和最小像素值Vmin均在[-1. 27,1. 28],放大系数K取 100 ;
b.如果最大像素值Vmax和最小像素值Vmin均在[-12. 7,12. 8],放大系数K取 10 ;
c.如果最大像素值Vmax和最小像素值Vmin均在[-127. 0,1 . 0],放大系数K取 100 ;
d.如果最大像素值Vmax和最小像素值Vmin均在[-3276. 0,3276. 0],放大系数K 取10 ;
e.其他范围情况下,按原值不放大(即放大系数为1)。
需要注意的是,前述各取值范围是逐级扩大的,因此当最大像素值和最小像素值同时落入多个范围时,需要选取的是最小的取值范围对应的放大系数。例如,若最大像素值和最小像素值分别为1. 2和-1. 2,落入前述所有取值范围内,但是此时需要选取的是最小取值范围[-1. 27,1. 28]。
假设原始栅格块数据每一个像素都为float型4字节数值,根据前述方法确定的放大系数进行放大数据后的传输量变化如下
对于Vmax和Vmin均在[-1. 27,1. 28]以及[-12. 7,12. 8]内的像素,放大后,用 byte类型的1字节数值存储每个像素值,传输量为原始的1/4 ;
对于Vmax 和 Vmin 均在[-127. 0,128. 0]以及[-3276. 0,3276. 0]内的像素,放大后,用short类型的2字节数值存储每个象素值,传输量为原始的1/2 ;
其余的则传输量与原始数据一样,无减少。
参照图4,示出某一栅格数据块Ni中各像素值(其中省略号表示其他像素值与已经列出的像素值取值相当),根据上述方法,应用b条件来确定放大系数,即取放大系数K为 10,再进行四舍五入后取整,得到如图5所示的结果(其中省略号表示其他像素值与已经列出的像素值取值相当),然后用1字节的byte数据类型来存储放大后的栅格数据,并传输给客户端,数据传输量则为原始栅格块数据的1/4。
客户端接收到栅格数据块M放大后的数据与放大系数K,对图5所示的每个像素进行K倍缩小,得到如图6的数据(其中省略号表示其他像素值与已经列出的像素值取值相当),然后用这些数据进行模型运算。从图6中可以看出,栅格数据块是图4的近似结果, 但是如果在实际应用中,该近似精度满足实际应用需求时,本方法可大大减少网络传输数据量,提高效率。特别是,对于客户端与服务器端进行大量栅格数据读写情况下,传输效率能够得到显著的提高。
可以理解,客户端在模型运算完成后,会将得到的运算后的栅格数据回传给服务器,可以直接回传,也可以对栅格数据按照前述相同的方法进行放大后,再将放大后的栅格数据和放大系数回传,在此不再赘述。
本申请的栅格数据传输方法通过对需要传输的栅格数据按照其像素值选取适合该栅格数据块的放大系数对其进行放大,从而使栅格数据可以改用占用字节数较少的数据类型进行存储,从而降低了栅格数据传输量,也提高传输效率。
进一步地,因为在确定放大系数时,并不是统一为所有栅格数据数据块设定,而是针对各栅格数据块的实际像素值所在范围来确定,可以使放大更有针对性,从而使放大后的数据做占用的存储字节数更小,从而使栅格数据传输量能尽可能的被降低。
另外,当客户端接收到栅格数据以及放大系数后,可以对栅格数据进行缩小,从而代入模型运算。服务器器和客户端对栅格数据的放大以及缩小操作的运算过程较为简单, 而且都是在内存中完成,耗时几乎可以忽略不计,所以并不会影响数据传输时间。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本申请所提供的栅格数据传输方法及系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
权利要求
1.一种栅格数据传输方法,其特征在于,包括以下步骤接收客户端发送的获取栅格数据块的请求,并基于所述请求查找栅格数据块;遍历所述各栅格数据块的像素,确定每一个栅格数据块的最大像素值和最小像素值;根据各栅格数据块的最大像素值和最小像素值为各栅格数据块确定放大系数;依据所述确定的放大系数对各栅格数据块进行放大得到放大后的栅格数据;将所述放大后的栅格数据以及各栅格数据块的放大系数发送给客户端。
2.如权利要求1所述的栅格数据传输方法,其特征在于,所述根据各栅格数据块的最大像素值和最小像素值为各栅格数据块确定放大系数包括获取预先设定的上限值和下限值;对最大像素值和最小像素值进行10的整数次方的放大并四舍五入后,同时满足最大像素值和上限值的差值最小,最小像素值和下限值差值最小的放大倍数为该栅格数据块的放大系数。
3.如权利要求2所述的栅格数据传输方法,其特征在于,所述预先设定的上限值和下限值根据如下条件确定使放大后的最大像素值和最小像素值存储字节数最小;或使放大后的最大像素值和最小像素值存储字节数小于放大前的最大像素值和最小像素值存储字节数。
4.如权利要求2所述的栅格数据传输方法,其特征在于,所述根据各栅格数据块的最大像素值和最小像素值为各栅格数据块确定放大系数包括a.如果最大像素值和最小像素值均在[-1.27,1.观],放大系数取100 ;b.如果最大像素值和最小像素值均在[-12.7,12. 8],放大系数取10 ;c.如果最大像素值和最小像素值均在[-127.0,128. 0],放大系数取100 ;d.如果最大像素值和最小像素值均在[-3276.0,3276.0],放大系数取10;e.其他范围情况下,按原值不放大;若最大像素值和最小像素值同时满足所述两个以上的条件,则选取上下限值的取值范围最小的那个条件中的放大系数。
5.如权利要求1所述的栅格数据传输方法,其特征在于,所述方法还包括客户端根据接收到的所述放大后的栅格数据以及各栅格数据块的放大系数对栅格数据进行对应倍数的缩小,将缩小后的栅格数据代入模型中进行运算,并将运算后的数据传回给服务器端。
6.如权利要求5所述的栅格数据传输方法,其特征在于,所述将运算后的数据传回给服务器端之前还包括对运算后的数据进行放大,将放大后的数据传回。
7.一种栅格数据传输系统,其特征在于,包括栅格数据块查找模块,用于接收客户端发送的获取栅格数据块的请求,并基于所述请求查找栅格数据块;像素值遍历模块,用于遍历所述各栅格数据块的像素,确定每一个栅格数据块的最大像素值和最小像素值;放大系数确定模块,用于根据各栅格数据块的最大像素值和最小像素值为各栅格数据块确定放大系数;计算模块,用于依据所述确定的放大系数对各栅格数据块进行放大得到放大后的栅格数据;和数据传输模块,用于将所述放大后的栅格数据以及各栅格数据块的放大系数发送给客户端。
8.如权利要求7所述的栅格数据传输系统,其特征在于,所述放大系数确定模块包括 数值获取单元,用于获取预先设定的上限值和下限值;放大系数确定单元,用于对最大像素值和最小像素值进行10的整数次方的放大并四舍五入后,同时满足最大像素值和上限值的差值最小,最小像素值和下限值差值最小的放大倍数为该栅格数据块的放大系数。
9.如权利要求2所述的栅格数据传输系统,其特征在于,所述放大系数确定模块还包括数值确定单元,用于根据条件确定上限值和下限值,所述条件包括 使放大后的最大像素值和最小像素值存储字节数最小;或使放大后的最大像素值和最小像素值存储字节数小于放大前的最大像素值和最小像素值存储字节数。
10.如权利要求7所述的栅格数据传输系统,其特征在于,所述系统还包括 接收模块,用于接收客户端传回的经模型运算后的结果栅格数据。
全文摘要
本申请提供了一种栅格数据传输方法,包括以下步骤接收客户端发送的获取栅格数据块的请求,并基于所述请求查找栅格数据块;遍历所述各栅格数据块的像素,确定每一个栅格数据块的最大像素值和最小像素值;根据各栅格数据块的最大像素值和最小像素值为各栅格数据块确定放大系数;依据所述确定的放大系数对各栅格数据块进行放大得到放大后的栅格数据;将所述放大后的栅格数据以及各栅格数据块的放大系数发送给客户端。本申请还提供一种实现前述方法的栅格数据传输系统。本申请的栅格数据传输方法及系统,能够降低栅格数据传输量,避免传输时占用大量的网络带宽,提高数据传输速度和效率。
文档编号G06F17/30GK102521360SQ20111042021
公开日2012年6月27日 申请日期2011年12月15日 优先权日2011年12月15日
发明者孙成宝, 曹刚, 李团宏, 李嵩, 黄兆伟 申请人:北京地拓科技发展有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1