天气数据转换方法和系统

文档序号:1490582 发布日期:2020-02-04 浏览:7次 >En<

阅读说明:本技术 天气数据转换方法和系统 (Weather data conversion method and system ) 是由 刘海岚 于 2019-10-14 设计创作,主要内容包括:本发明涉及一种天气数据转换方法和系统,该方法包括以下步骤:S1,拉取GRIB天气数据:通过NOAA网站开放的GRIB数据下载路径自动下载GRIB数据并保存到本地;S2,GRIB数据解析:解析所下载的GRIB数据文件byte数据,得到分散的单量中间数据文件;S3,中间数据合并:读取需要合并数据的相应的文件头,读取文件数据体,生成字符串后保存到相应的中间文件,并将相应的中间文件按需求合并成一个文件;S4,生成JSON文件:根据web约定,生成JSON文件对应的KEY、VALUE,对应生成JSON信息,并保存到相应的JSON文件,web端根据约定协议读取相应的JSON文件,将GRIB天气数据文件转换为JSON数据文件,用于在web端显示。(The invention relates to a weather data conversion method and a system, wherein the method comprises the following steps: s1, pull GRIB weather data: automatically downloading GRIB data through a GRIB data downloading path opened by an NOAA website and storing the GRIB data to the local; s2, GRIB data analysis: analyzing the downloaded byte data of the GRIB data file to obtain a dispersed single-amount intermediate data file; s3, merging intermediate data: reading a corresponding file header of data to be combined, reading a file data body, generating character strings, storing the character strings in a corresponding intermediate file, and combining the corresponding intermediate files into a file according to requirements; s4, generating a JSON file: and generating KEY and VALUE corresponding to the JSON file according to the web agreement, correspondingly generating JSON information, storing the JSON information into the corresponding JSON file, reading the corresponding JSON file by the web end according to the agreement protocol, and converting the GRIB weather data file into the JSON data file for displaying on the web end.)

天气数据转换方法和系统

技术领域

本发明涉及数据转换技术领域,具体涉及一种天气数据转换方法和系统。

背景技术

JSON格式是1999年《JavaScript Programming Language,Standard ECMA-2623rd Edition》的子集合,所以可以在JavaScript以eval()函数读入。不过这并不代表JSON无法使用于其他语言,事实上,几乎所有与网页开发相关的语言都有JSON函数库。

GRIB是一种简明的数据格式,通常用于气象学,用于存储历史和预报天气数据。它由世界气象组织的基本系统委员会标准化。目前GRIB有三个版本,版本0在一定程度上被TOGA等项目使用,不再用于操作;第一版(Current sub-version is 2)在全球范围内被大多数气象中心用于数值天气预报输出(NWP);后引入了新一代,称为GRIB第二版,数据正在慢慢转变为这种格式。然而GRIB作为天气数据的实际存储标准,解析复杂。

发明内容

有鉴于此,有必要提供一种将复杂的GRIB文件解析为通用的JSON格式的天气数据转换方法和系统,方便于天气数据的使用。

一种天气数据转换方法,将GRIB天气数据文件转换为JSON数据文件,用于在web端显示,包括以下步骤:

S1,拉取GRIB天气数据:通过NOAA网站开放的GRIB数据下载路径自动下载GRIB数据并保存到本地;

S2,GRIB数据解析:解析所下载的GRIB数据文件byte数据,得到分散的单量中间数据文件;

S3,中间数据合并:读取需要合并数据的相应的文件头,读取文件数据体,生成字符串后保存到相应的中间文件,并将相应的中间文件按需求合并成一个文件;

S4,生成JSON文件:根据web约定,生成JSON文件对应的KEY、VALUE,对应生成JSON信息,并保存到相应的JSON文件中,web端根据约定协议读取相应的JSON文件。

优选地,所述拉取GRIB天气数据包括以下步骤:

添加天气任务:当所述web端需要相应的天气JSON文件时,所述web端根据时间范围添加相应的数据生成任务;

分解天气任务:当添加所述天气任务时,根据所述天气任务的可选信息,确定从NOAA网站下载所述天气任务的各个详细信息,将所述天气任务分解,生成详细的下载任务;

执行天气任务:所述web端根据分解后的详细任务,选择所需下载的精度,根据所述天气任务的时间范围从NOAA网站自动下载所需的GRIB文件;

得到GRIB文件:将下载的所述GRIB文件保存到本地,并记录所需的天气任务的文件已经下载完成。

优选地,所述GRIB数据解析还包括通过所述GRIB数据的编码协议读取相应的文件,根据所述GRIB数据的文件协议对相应参数的编码规范、位规范,解析文件相应的byte数据后获取所需参数和指定类型的单量数据中间文件。

优选地,所述编码协议包括GRIB数据的参数类型、位置、开头和数据格式的协议。

优选地,所述单量数据中间文件包括数据头和数据体。

优选地,所述中间文件包含多个天气参数,分别读取所需合并的数据的数据头和数据体,生成新的字符串。

优选地,所述步骤S3中,所述文件从不可见的GRIB二进制文件转化为字符串,根据web约定,生成JSON文件。

以及,一种天气数据转换系统,其包括:

GRIB数据拉取模块,用于连接至NOAA网站,并通过NOAA网站上开放的GRIB数据下载路径自动下载GRIB数据文件,将下载的GRIB数据保存到本地;

GRIB数据解析模块,与所述GRIB数据拉取模块相连,所述GRIB数据解析模块用于解析所下载的GRIB数据文件,将所述GRIB数据文件分解成分散的单量中间数据文件;

中间数据合并模块,与所述GRIB数据解析模块相连,所述中间数据合并模块用于将需要合并的中间文件按需求合并成一个文件;

JSON文件生成模块,与所述中间中间数据合并模块相连,所述JSON文件生成模块与web端网络连接以根据web约定,生成JSON文件对应的KEY、VALUE,对应生成JSON信息,并保存到相应的JSON文件。

优选地,所述GRIB数据拉取模块包括:

任务添加单元,用于与web端网络连接,以在web端需要相应的天气JSON文件时,添加相应的数据生成任务;

任务分解单元,与所述任务添加单元相连,所述任务分解单元用于从NOAA网站下载需要的天气任务的详细详细,生成详细的下载任务;

任务执行单元,与所述任务分解单元相连,所述任务执行单元用于根据所述详细的下载任务,根据NOAA网站开放的编码协议下载所需的GRIB文件;

GRIB文件生成单元,与所述任务执行单元相连,所述GRIB文件生成单元用于将下载的GRIB文件保存到本地,同时记录任务已下载完成。

优选地,所述GRIB文件生成单元与所述GRIB数据解析模块连接,以便于所述GRIB数据解析模块读取和解析保存到本地的GRIB文件。

上述天气数据转换方法和系统中,通过NOAA网站开放的GRIB数据下载路径自动下载GRIB数据,通过所述方法将复杂的GRIB文件解析为web端通用、更实用、使用更加方便的JSON文件,用于相应的天气预报,为web端的天气预报提供实际可用数据,方便天气数据的使用,整个解析简单方便,具有广泛的应用前景。

附图说明

图1是本发明实施例的天气数据转换方法和系统的方法步骤示意图。

图2是本发明实施例的天气数据转换方法和系统的系统模块示意图。

图3是本发明实施例的天气数据转换方法和系统的GRIB数据拉取模块的模块示意图。

具体实施方式

以下将结合具体实施例和附图对本发明进行详细说明。

请参阅图1,示出本发明实施例的一种天气数据转换方法,用于将GRIB天气数据文件转换为JSON数据文件,用于在web端显示,包括以下步骤:

S1,拉取GRIB天气数据:通过NOAA网站开放的GRIB数据下载路径自动下载GRIB数据并保存到本地;

S2,GRIB数据解析:解析所下载的GRIB数据文件byte数据,得到分散的单量中间数据文件;

S3,中间数据合并:读取需要合并数据的相应的文件头,读取文件数据体,生成字符串后保存到相应的中间文件,并将相应的中间文件按需求合并成一个文件;

S4,生成JSON文件:根据web约定,生成JSON文件对应的KEY、VALUE,对应生成JSON信息,并保存到相应的JSON文件中,web端根据约定协议读取相应的JSON文件。

优选地,所述拉取GRIB天气数据的步骤具体包括添加天气任务S11、分解天气任务S12、执行天气任务S13和得到GRIB文件S14;

添加天气任务S11:当所述web端需要相应的天气JSON文件时,所述web端根据时间范围添加相应的数据生成任务;

分解天气任务S12:当添加所述天气任务时,根据所述天气任务的可选信息,确定从NOAA网站下载所述天气任务的各个详细信息,将所述天气任务分解,生成详细的下载任务;

执行天气任务S13:所述web端根据分解后的详细任务,选择所需下载的精度,根据所述天气任务的时间范围从NOAA网站自动下载所需的GRIB文件;

得到GRIB文件S14:将下载的所述GRIB文件保存到本地,并记录所需的天气任务的文件已经下载完成。

进一步的,NOAA网站提供所述GRIB文件下载路径分为0.25、0.5、1精度。

优选地,所述GRIB数据解析还包括通过所述GRIB数据的编码协议读取相应的文件,根据所述GRIB数据的文件协议对相应参数的编码规范、位规范,解析文件相应的byte数据后获取所需参数和指定类型数据的单量数据中间文件,例如获取一个可通过配置参数,读取文件指定类型参数,如温度、风力U分量、风力V分量等单量数据中间文件。

优选地,所述编码协议包括NOAA网站提供的GRIB数据的参数类型、位置、开头和数据格式的协议。

优选地,所述单量数据中间文件包括数据头和数据体,生成相应的对应数据。

优选地,所述中间文件包含多个天气参数,分别读取所需合并的数据的数据头和数据体,生成新的字符串。进一步地,根据需求配置获取相应参数后,获取文件中的天气参数的头部分所需参数,对应的GRIB文档规定中的参数,读取相应的GRIB文件数据后写入相应的数据文件,生成完成所需的中间文件,此时的文件是零散的,如风力数据是两个文件,需要通过相应的文件操作配置,确定相应的文件数据是否是最终结果,如需合并,比如风力文件等动量数据,读取相应的文件数据头和文件数据体,按照头尾顺序、字段顺序等,生成字符串,保存到相应的中间文件中,将相应的中间文件进行按需合并后,保存到同一个文件,生成中间结果文件。

优选地,所述中间数据合并步骤S3中,所述文件从不可见的GRIB二进制文件转化为字符串,根据web约定,生成JSON文件,web端直接根据约定协议读取相应的JSON文件进行显示。

优选地,解析所下载的GRIB数据文件byte数据时使用如下解析语言:

Figure BDA0002233356990000051

Figure BDA0002233356990000061

优选地,将所述中间结果文件生成所述JSON文件时使用如下代码:

请参阅图2,示出本发明实施例的一种天气数据转换系统100,其包括:

GRIB数据拉取模块1,用于连接至NOAA网站,并通过NOAA网站上开放的GRIB数据下载路径自动下载GRIB数据文件,将下载的GRIB数据保存到本地;

GRIB数据解析模块2,与所述GRIB数据拉取模块1相连,所述GRIB数据解析模块2用于解析所下载的GRIB数据文件,将所述GRIB数据文件分解成分散的单量中间数据文件;进一步地,所述GRIB数据解析模块2通过所述GRIB数据的编码协议读取相应的文件,根据所述GRIB数据的文件协议对相应参数的编码规范、位规范,解析文件相应的byte数据后获取所需参数和指定类型数据的单量数据中间文件。所述单量数据中间文件包括数据头和数据体,生成相应的对应数据;

中间数据合并模块3,与所述GRIB数据解析模块2相连,所述中间数据合并模块3用于将需要合并的分散的中间数据文件按需求合并成一个中间结果文件,将数据从不可见的GRIB二进制文件转化为字符串;

JSON文件生成模块4,与所述中间数据合并模块3相连,所述JSON文件生成模块4与web端网络连接以根据web约定,生成JSON文件对应的KEY、VALUE,对应生成JSON信息,并保存到相应的JSON文件。

请参阅图3,所述GRIB数据拉取模块1包括:

任务添加单元11,与web端网络连接,以在web端需要相应的天气JSON文件时,添加相应的数据生成任务;

任务分解单元12,与所述任务添加单元11相连,所述任务分解单元12用于从NOAA网站下载需要的天气任务的详细详细,生成详细的下载任务;

任务执行单元13,与所述任务分解单元12相连,所述任务执行单元13用于根据所述详细的下载任务,根据NOAA网站开放的编码协议下载所需的GRIB文件;

GRIB文件生成单元14,与所述任务执行单元13相连,所述GRIB文件生成单元用于将下载的GRIB文件保存到本地,同时记录任务已下载完成。

优选地,所述GRIB文件生成单元14与所述GRIB数据解析模块连接,以便于所述GRIB数据解析模块2读取和解析保存到本地的GRIB文件。应当理解的是,所述GRIB数据拉取模块1中的各个单元都与前面天气数据转换方法中对应的步骤特征相一致,在些不再赘述。

上述天气数据转换方法和系统,通过自主编辑的编程语言解析所下载的GRIB数据文件byte数据,解析所述GRIB数据,获取所需参数和指定类型的数据,得到分散的中间数据;根据相应的编码协议,将中间数据结合成中间结果数据,通过自主编辑的编程语言将其转换成通用的JSON数据,方便于天气数据的解析,便于web端提取和使用,为web端天气预报提供实际可用数据。

需要说明的是,本发明并不局限于上述实施方式,根据本发明的创造精神,本领域技术人员还可以做出其他变化,这些依据本发明的创造精神所做的变化,都应包含在本发明所要求保护的范围之内。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种新闻文档去重的方法、装置及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!