二进制通用表示格式的气象数据的解析方法和装置制造方法及图纸

技术编号:28418768 阅读:12 留言:0更新日期:2021-05-11 18:25
本发明专利技术公开了一种BUFR数据的解析方法和装置。该方法包括:获取BUFR数据及其数据说明文档;将BUFR数据的二进制流读取到内存中;根据数据说明文档,将二进制流切分为各个相对独立的数据;将切分后的各个相对独立的数据封装到数据实体中。该装置包括:获取单元,用于获取BUFR数据及其数据说明文档;读取单元,用于将BUFR数据的二进制流读取到内存中;数据切分单元,用于根据数据说明文档,将二进制流切分为各个相对独立的数据。封装单元,用于将切分后的各个相对独立的数据封装到数据实体中。这种方法和装置采用高级编程语言java解析bufr格式数据文件,具有代码简单、高可移植性的优点。

【技术实现步骤摘要】
二进制通用表示格式的气象数据的解析方法和装置
本专利技术涉及数据处理技术,更为具体来说,本专利技术涉及一种二进制通用表示格式的气象数据(BUFR,BinaryUniversalFormforRepresentationofmeteorologicaldata)的解析方法和装置。
技术介绍
对于国家气象局发布的表示观测数据的BUFR数据编码格式,要读懂这些气象数据就需要对bufr文件读取以及解析。现有的bufr格式数据解析,多采用Linux系统的shell脚本编写,代码复杂,可移植性较差。高级编程语言java具有多种原生的二进制读取类。
技术实现思路
本专利技术创新地提供了一种BUFR数据的解析方法和装置,采用高级编程语言java解析bufr格式数据文件,解决现有BUFR格式数据解析代码复杂以及可移植性差的问题。为实现上述的技术目的,一方面,本专利技术公开了一种二进制通用表示格式的气象数据的解析方法。所述BUFR数据的解析方法包括:获取二进制通用表示格式的气象数据及其数据说明文档;将所述二进制通用表示格式的气象数据的二进制流读取到内存中;根据所述数据说明文档,将所述二进制流切分为各个相对独立的数据;将切分后的所述各个相对独立的数据封装到数据实体中。进一步地,对于所述二进制通用表示格式的气象数据的解析方法,所述将所述二进制通用表示格式的气象数据的二进制流读取到内存中,包括:将所述二进制通用表示格式的气象数据的二进制流以字节流的形式读取到byte[]数组中。进一步地,对于所述二进制通用表示格式的气象数据的解析方法,所述根据所述数据说明文档,将所述二进制流切分为各个相对独立的数据,包括:对于放到byte[]数组中的所述二进制通用表示格式的气象数据的二进制流,根据所述数据说明文档找到各个数据所在数据段的结束标记,从所述数据说明文档读取数据长度;根据所述数据说明文档,采用ByteBuffer类通过移动下标位置找到读写操作的起始位置,并根据数据长度读取各个数据对应的二进制位;将读取的各个数据转换为相应数据类型的数据,得到切分后的所述各个相对独立的数据。进一步地,对于所述二进制通用表示格式的气象数据的解析方法,所述将切分后的所述各个相对独立的数据封装到数据实体中,包括:利用数据实体的set方法将切分后的所述各个相对独立的数据封装到数据实体中。为实现上述的技术目的,另一方面,本专利技术公开了一种二进制通用表示格式的气象数据的解析装置。所述BUFR数据的解析装置包括:获取单元,用于获取二进制通用表示格式的气象数据及其数据说明文档;读取单元,用于将所述二进制通用表示格式的气象数据的二进制流读取到内存中;数据切分单元,用于根据所述数据说明文档,将所述二进制流切分为各个相对独立的数据;封装单元,用于将切分后的所述各个相对独立的数据封装到数据实体中。进一步地,对于所述二进制通用表示格式的气象数据的解析装置,所述读取单元进一步用于将所述二进制通用表示格式的气象数据的二进制流以字节流的形式读取到byte[]数组中。进一步地,对于所述二进制通用表示格式的气象数据的解析装置,所述数据切分单元包括:数据长度确定模块,用于对放到byte[]数组中的所述二进制通用表示格式的气象数据的二进制流,根据所述数据说明文档找到各个数据所在数据段的结束标记,从所述数据说明文档读取数据长度;数据起始位置确定模块,用于根据所述数据说明文档,采用ByteBuffer类通过移动下标位置找到读写操作的起始位置,并根据数据长度读取各个数据对应的二进制位;数据转换模块,用于将读取的各个数据转换为相应数据类型的数据,得到切分后的所述各个相对独立的数据。进一步地,对于所述二进制通用表示格式的气象数据的解析装置,所述封装单元进一步用于利用数据实体的set方法将切分后的所述各个相对独立的数据封装到数据实体中。为实现上述的技术目的,再一方面,本专利技术公开了一种计算设备。所述计算设备包括:一个或多个处理器,以及与所述一个或多个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述一个或多个处理器执行时,使得所述一个或多个处理器执行上述方法。为实现上述的技术目的,又一方面,本专利技术公开了一种机器可读存储介质。所述机器可读存储介质存储有可执行指令,所述指令当被执行时使得所述机器执行上述方法。本专利技术的有益效果为:本专利技术实施例提供的BUFR数据的解析方法和装置采用高级编程语言java解析bufr格式数据文件,由于java语言对数据读取方法有较好的封装,使编码变得极为简单,以及JAVA语言本身的高可移植性,解决了现有BUFR格式数据解析代码复杂以及可移植性差的问题。具有代码简单、高可移植性的优点。附图说明图中,图1为本专利技术一个实施例提供的BUFR数据的解析方法的流程图;图2为本专利技术一个示例提供的图1所示的BUFR数据的解析方法中步骤S130的流程图;图3为本专利技术另一个实施例提供的BUFR数据的解析装置的结构示意图;图4为根据本专利技术实施例的用于BUFR数据的解析处理的计算设备的结构框图。具体实施方式下面结合说明书附图对本专利技术提供的二进制通用表示格式的气象数据的解析方法进行详细的解释和说明。图1为本专利技术一个实施例提供的BUFR数据的解析方法的流程图。如图1所示,在步骤S110,获取二进制通用表示格式的气象数据(BUFR)及其数据说明文档。其中,BUFR数据和数据说明文档都可以从国家气象局获取。在步骤S120,将BUFR数据的二进制流读取到内存中。作为一种可选实施方式,步骤S120可以包括如下步骤:将BUFR数据的二进制流以字节流的形式读取到byte[]数组中。作为一个具体例子,可以利用java中dkio包中的InputStreamReader类或者使用BufferedReader缓存区,将BUFR数据的二进制流以字节流的形式读取到内存中。使用BufferedReader缓存区读入对象速度更快。在步骤S130,根据数据说明文档,将二进制流切分为各个相对独立的数据。其中,数据说明文档可以包括BUFR数据中各个数据段存储的气象数据的类型信息、数据段长度信息以及数据段结束标志,可选地,还可以包括其他信息。气象数据的类型可以包括温度、湿度和/或压强等等。图2为本专利技术一个示例提供的图1所示的BUFR数据的解析方法中步骤S130的流程图。如图2所示,步骤S130可以包括如下步骤:步骤S132,对于放到byte[]数组中的BUFR数据的二进制流,根据数据说明文档找到各个数据所在数据段的结束标记,从数据说明文档读取数据长度。步骤S134,根据数据说明文档,采用ByteBuffer类通过移动下标位置找到读写操作的起始位置,并根据数据长度读取各个数据对应的二进制位。ByteBuffer可以记录当前下标位置,表示进行下一个读写操作时的起始位置。具体来说,通过ByteBuffer类读取byte[]数组中的数据,将数据读取到内存中,并记录读取本文档来自技高网...

【技术保护点】
1.一种二进制通用表示格式的气象数据的解析方法,其特征在于,包括:/n获取二进制通用表示格式的气象数据及其数据说明文档;/n将所述二进制通用表示格式的气象数据的二进制流读取到内存中;/n根据所述数据说明文档,将所述二进制流切分为各个相对独立的数据;/n将切分后的所述各个相对独立的数据封装到数据实体中。/n

【技术特征摘要】
1.一种二进制通用表示格式的气象数据的解析方法,其特征在于,包括:
获取二进制通用表示格式的气象数据及其数据说明文档;
将所述二进制通用表示格式的气象数据的二进制流读取到内存中;
根据所述数据说明文档,将所述二进制流切分为各个相对独立的数据;
将切分后的所述各个相对独立的数据封装到数据实体中。


2.根据权利要求1所述的二进制通用表示格式的气象数据的解析方法,其特征在于,所述将所述二进制通用表示格式的气象数据的二进制流读取到内存中,包括:
将所述二进制通用表示格式的气象数据的二进制流以字节流的形式读取到byte[]数组中。


3.根据权利要求2所述的二进制通用表示格式的气象数据的解析方法,其特征在于,所述根据所述数据说明文档,将所述二进制流切分为各个相对独立的数据,包括:
对于放到byte[]数组中的所述二进制通用表示格式的气象数据的二进制流,根据所述数据说明文档找到各个数据所在数据段的结束标记,从所述数据说明文档读取数据长度;
根据所述数据说明文档,采用ByteBuffer类通过移动下标位置找到读写操作的起始位置,并根据数据长度读取各个数据对应的二进制位;
将读取的各个数据转换为相应数据类型的数据,得到切分后的所述各个相对独立的数据。


4.根据权利要求1所述的二进制通用表示格式的气象数据的解析方法,其特征在于,所述将切分后的所述各个相对独立的数据封装到数据实体中,包括:
利用数据实体的set方法将切分后的所述各个相对独立的数据封装到数据实体中。


5.一种二进制通用表示格式的气象数据的解析装置,其特征在于,包括:
获取单元,用于获取二进制通用表示格式的气象数据及其数据说明文档;
读取单元,用于将所述二进制通用表示格式的气象...

【专利技术属性】
技术研发人员:王洋安刚张海忠秦东明
申请(专利权)人:中科三清科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1