对多普勒天气雷达第二类产品数据进行重编码处理的方法与流程

文档序号:11411257阅读:536来源:国知局

本发明涉及气象数据编码处理领域,尤其涉及一种对多普勒天气雷达的第二类产品数据进行重编码处理的方法。



背景技术:

根据美国国家气候数据中心1998年编制的下一代天气雷达第三级存档数据格式规定,新一代天气雷达(cinrad)的文件格式分为三大类:第一类为基数据,以极坐标方式存储雷达体积扫描得到的数据,结构相对简单;第二类为雷达产品,是经过各种算法加工处理后生成的水文气象产品,产品种类较多,结构复杂,通常只能用在pc端使用principaluserprocessor软件(简称pup)显示;第三类为产品图像,是pup生成的gif等通用格式图片。

在基于第二类产品数据用于在ios端做开发的时候发现,第二类产品数据的逐像素编码的方式虽然可以使所有产品文件体积大小一致,规律性较好,但是也导致了数据文件体积较大,在移动终端系统资源不足的情况下,严重影响数据文件的下载和载入速度,因此考虑可以通过对新一代多普勒天气雷达第二类产品数据重新编码的方式,用以减小第二类产品数据的体积,以实现节省流量,提高数据的下载速度和客户端的载入速度。



技术实现要素:

为解决上述技术问题,本发明提供了一种对新一代多普勒天气雷达第二类产品数据进行重编码处理的方法。

一种对多普勒天气雷达的第二类产品数据进行重编码处理的方法,其中:包括如下步骤:

1)、进行系统初始化;之后,进入步骤2);

2)、读取所述的多普勒天气雷达的第二类产品数据,所述多普勒天气雷达的第二类产品的数据结构可分为产品信息块、产品描述块、产品表示块三部分,其中产品表示块的数据采用分行并逐像素的方式描述了雷达产品图像,产品表示块数据由多个数据行组成,每个数据行包含规定数量的字节,每个字节的高4位表示产品图像色块的长度,色块高度恒为1,每个字节的低4位表示色块的颜色索引值;每个字节可以表示高度为1,长度为字节高4位数值的矩形色块,一个数据行的所有字节表示的色块自左到右依次排列可构成一个矩形色块,所有数据行表示的矩形色块自上到下排列构成一张完整的雷达产品图;将读取的多普勒天气雷达的第二类产品数据存放入指定的系统数据存储区域;之后,进入步骤3);

3)、开始逐行读取步骤2)所述的放入指定的系统数据存储区域的产品表示块数据,是按照字节的顺序逐字节读取,将当前读取字节在行中的位置索引记作i,初始位置索引i=0;之后,进入步骤4);

4)、读取当前行第i个字节byte(i),计算色块长度和色块颜色值;其中,色块长度f(i)和色块颜色值f(i)的计算公式如下:

f(i)=(byte(i)&240)>>4

f(i)=byte(i)&15,其中,&是位运算符,按位与;

若i=0,记同色起始索引j=0,进入步骤5);若i≠0,进入步骤6);其中,同色起始索引j所表示的色块颜色值f(j)、f(j+1)...f(i)均相等,且j>0时,f(j-1)≠f(i);

5)、如果i+1<lengthrow,则i自增1,返回步骤4);反之,如果i+1≥lengthrow,则进入步骤9);其中,lengthrow为当前数据行总字节数;

6)、将当前色块颜色值f(i)与上一个色块颜色值f(i-1)进行比较,若相等,进入步骤7);若不相等,进入步骤8);

7)、计算自同色起始索引j到当前索引i表示的同色色块长度总和与一个字节表示的最大数255进行比较,若同色色块长度总和小于255,返回步骤5);若同色色块长度总和大于或者等于255,进入步骤8);

8)、将同色色块总长度和同色色块颜色值f(i-1)成对存入指定存储区,之后,记j=i,进入步骤5);

9)、将同色色块总长度和同色色块颜色值f(i)成对存入指定存储区,本行数据重编码完成;若产品表示块的所有数据行已读取完,则重编码处理完成;反之,设置i=0,返回步骤4),继续读取下一行数据。

本发明所提供的一种对多普勒天气雷达第二类产品数据进行重编码处理的方法,主要原理是采用1个字节的8个二进制位来表示色块长度,最大表示长度为255,如果产品图像中的一行色块连续255个像素都是黑色,原编码方案需要17(255/15)个字节来表示,新编码方案只需要1个字节标识,即对同色色块进行合并存储,最终结果是将原始数据打乱重新组合,在数据一致性较好的情况下大大减小了文件体积,如此,可以减小第二类产品数据的体积,进一步实现节省流量,提高数据的下载速度和客户端的载入速度。

附图说明

图1为本发明对多普勒天气雷达第二类产品数据进行重编码处理的方法的流程图。

具体实施方式

本发明提供了一种对多普勒天气雷达的第二类产品数据进行重编码处理的方法,其中包括如下步骤:

1)、进行系统初始化;之后,进入步骤2);

2)、读取所述的多普勒天气雷达的第二类产品数据,该数据是根据美国国家气候数据中心编制的下一代天气雷达第三级存档数据格式编制的二进制文件,所述多普勒天气雷达的第二类产品的数据结构可分为产品信息块、产品描述块、产品表示块三部分,其中产品表示块的数据采用分行并逐像素的方式描述了雷达产品图像,占据了所述多普勒天气雷达的第二类产品数据体积的主要部分;产品表示块数据由多个数据行组成:每个数据行包含规定数量的字节,每个字节的高4位表示产品图像色块的长度,色块高度恒为1,每个字节的低4位表示色块的颜色索引值;每个字节可以表示高度为1,长度为字节高4位数值的矩形色块,一个数据行的所有字节表示的色块自左到右依次排列可构成一个长长的矩形色块,所有数据行表示的矩形色块自上到下排列构成一张完整的雷达产品图;将其存放入指定的系统数据存储区域;之后,进入步骤3);

3)、开始逐行读取步骤2)所述的放入指定的系统数据存储区域的产品表示块数据,是按照字节的顺序逐字节读取,将当前读取字节在行中的位置索引记作i,初始位置索引i=0;之后,进入步骤4);

4)、读取当前行第i个字节byte(i),计算色块长度和色块颜色值;其中,色块长度f(i)和色块颜色值f(i)的计算公式如下:

f(i)=(byte(i)&240)>>4

f(i)=byte(i)&15,其中,&是位运算符,按位与;

(计算机语言中&和>>都是位运算符,>>是带符号右移)

若i=0,记同色起始索引j=0,进入步骤5);若i≠0,进入步骤6);其中,同色起始索引j所表示的色块颜色值f(j)、f(j+1)...f(i)均相等,且j>0时,f(j-1)≠f(i);

5)、如果i+1<lengthrow,则i自增1,返回步骤4);反之,如果i+1≥lengthrow,则进入步骤9);其中,lengthrow为当前数据行总字节数;

6)、将当前色块颜色值f(i)与上一个色块颜色值f(i-1)进行比较,若相等,进入步骤7);若不相等,进入步骤8);

7)、计算自同色起始索引j到当前索引i表示的同色色块长度总和与一个字节表示的最大数255进行比较,若同色色块长度总和小于255,返回步骤5);若同色色块长度总和大于或者等于255,进入步骤8);

8)、将同色色块总长度和同色色块颜色值f(i-1)成对存入指定存储区,之后,记j=i,进入步骤5);

9)、将同色色块总长度和同色色块颜色值f(i)成对存入指定存储区,本行数据重编码完成;若产品表示块的所有数据行已读取完,则重编码处理完成;反之,设置i=0,返回步骤4),继续读取下一行数据。

本发明所提供的一种对多普勒天气雷达第二类产品数据进行重编码处理的方法,主要原理是采用1个字节的8个二进制位来表示色块长度,最大表示长度为255,如果产品图像中的一行色块连续255个像素都是黑色,原编码方案需要17(255/15)个字节来表示,新编码方案只需要1个字节标识,即对同色色块进行合并存储,最终结果是将原始数据打乱重新组合,在数据一致性较好的情况下大大减小了文件体积,如此,可以减小第二类产品数据的体积,进一步实现节省流量,提高数据的下载速度和客户端的载入速度。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1