掌桥专利:专业的专利平台
掌桥专利
首页

一种气象要素的发布与解析渲染方法及装置

文献发布时间:2023-06-19 18:37:28


一种气象要素的发布与解析渲染方法及装置

技术领域

本发明涉及计算机技术领域,尤其涉及一种气象要素的发布与解析渲染方法及装置。

背景技术

气象要素可视化在日常生活的各方面都发挥着越来越重要的作用。目前,气象要素的可视化主要采用如下四种方式进行要素图层解析:基于Webp的要素图层解析、基于JPEG的要素图层解析、基于JSON的要素图层解析或者基于私有格式的要素图层解析。

上述要素图层解析方式均在一些问题。私有格式的要素图层解析因为格式不通用,无法通过开放的接口实现数据的发布,因此所使用的场景有限。基于Webp的要素图层解析方法和基于JPEG的要素图层解析方法在解析传输过程必然会造成分辨率损失。而基于JSON的要素图层解析方法虽然可以保留较高的分辨率,但是由于在压缩比率方面存在天然劣势导致高分辨率气象数据的传输数据量极大,就需要降低要素图层的分辨率以保证响应速度。

发明内容

本发明提供了一种气象要素的发布与解析渲染方法及装置,以解决现有读图层渲染方法分辨率低的问题,通过基于多通道的GeoTIFF图像进行气象要素数据的传输,可以在保证气象要素的无损存储和解析。

根据本发明的一方面,提供了一种气象要素的发布方法,应用于终端设备,所述方法包括:

获取预设气象预报时刻的NetCDF气象数据;其中,所述预设气象预报时刻为从气象起报时刻开始的预设数量的气象预报时刻;

将所述NetCDF气象数据转化为基于多通道的GeoTIFF图像数据,并将所述GeoTIFF图像数据发送到服务器。

上述技术方案通过在终端设备上将获取到的NetCDF气象数据转换为包含多通道的GeoTIFF图像数据,将GeoTIFF图像数据发送到服务器中进行存储;基于GeoTIFF图像格式无损存储图像的能力可以在实现气象要素的无损传输,为气象要素的无损解析提供基础。

进一步的,所述将所述NetCDF气象数据转化为基于多通道的GeoTIFF图像数据,包括:

将每个气象预报时刻对应的NetCDF气象数据从浮点型转换为预设数量的字节型数组;其中,所述预设数量根据气象要素渲染时所使用的颜色空间的维度确定;

创建GeoTIFF图像模板,所述GeoTIFF图像模板的参数包括:地理变换矩阵、压缩算法和地理坐标系;所述地理变换矩阵是从到地理坐标系到图像坐标系的仿射变换矩阵;

采用多进程方式将预设数量的字节型数组对应写入GeoTIFF图像模板中预设数量的通道,获得每个气象预报时刻对应的GeoTIFF图像数据。

上述技术方案通过在终端设备上将NetCDF气象数据转换为GeoTIFF图像数据,使得气象数据能够利用GeoTIFF图像数据的无损传输特性实现无损传输,同时基于多进程的方式进行数据转换进一步保证了数据转换速度。

进一步的,将所述GeoTIFF图像数据发布到服务器包括:

基于所述GeoTIFF图像数据构建GeoTIFF图像金字塔,将所述GeoTIFF图像金字塔发布到GeoServer服务器,以使所述服务器对接收到的所述GeoTIFF图像金字塔进行存储。上述技术方案通过构建GeoTIFF图像数据的图像金字塔策略,可以依据用户当前缩放层级选择不同的金字塔图层,满足用户的不同需求。

根据本发明的另一方面,提供了一种气象要素的发布方法,应用于服务器,所述方法包括:

接收终端设备发送的GeoTIFF图像数据;所述GeoTIFF图像数据基于NetCDF气象数据转化得到;

对所述GeoTIFF图像数据进行存储;

创建所述GeoTIFF图像数据所包含气象要素的气象要素索引,将所述气象要素索引存储到终端设备的数据库中。

上述技术方案,通过服务器对终端设备基于NetCDF气象数据转化得到的GeoTIFF图像数据进行存储,创建气象要素索引存储到终端设备的数据库中中,便于终端设备读取服务器中的气象要素索引,提高气象要素的解析速度。

进一步的,所述创建所述GeoTIFF图像数据所包含气象要素的气象要素索引,将所述气象要素索引存储到终端设备的数据库中,包括:

对于每个气象预报时刻对应的GeoTIFF图像数据,为具有相同气象要素信息的GeoTIFF图像数据创建相同的气象要素索引;其中,所述气象要素信息包括:气象要素标识码和气象起报时刻;

将每个气象预报时刻对应的GeoTIFF图像数据的气象要素索引存储在数据库中。

上述技术方案通过服务器创建GeoTIFF图像数据对应的气象要素索引,并气象要素索引存储到终端设备的数据库中,使终端设备能够方便的获取到需要查询的气象要素对应的气象要素索引,从而能够基于气象要素索引从服务器中获取气象要素进行解析渲染。

根据本发明的另一方面,提供了一种气象要素的解析渲染方法,包括:

接收气象要素读取指令,解析所述气象要素读取指令得到目标气象要素的目标气象要素信息;

根据所述目标气象要素信息从数据库中读取所述目标气象要素对应的目标气象要素索引;

根据所述气象要素读取指令和所述目标气象要素索引从服务器中读取所述目标气象要素对应的目标瓦片图像;

对所述目标瓦片图像进行解析渲染,获得所述目标瓦片图像对应的目标气象要素图像。

上述技术方案通过终端设备基于接收到的气象要素读取指令从数据库中读取目标气象要素索引,并根据目标气象要素索引在服务器中获取目标瓦片图像进行解析渲染得到可视化的目标气象要素图像。基于GeoTIFF图像格式无损存储图像的能力可以在实现气象要素的无损解析,同时基于多通道的数据存储方法可以提高解析的响应速度,并实现气象要素的可视化。

进一步的,所述根据所述目标气象要素信息从数据库中读取所述目标气象要素对应的目标气象要素索引,包括:

根据所述目标气象要素信息查询所述数据库,得到所有可用气象要素;其中,所述可用气象要素为数据库中与所述目标气象要素信息存在相同要素信息的气象要素;所述目标气象要素信息包括:目标要素标识码和目标气象起报时刻;

将最新一个可用气象要素对应的气象要素索引确定为所述目标气象要素的目标气象要素索引。

上述技术方案通过终端设备根据目标气象要素信息从数据库中读取所述目标气象要素对应的目标气象要素索引,便于基于目标气象要素索引从服务器中查询目标瓦片图像。

进一步的,所述对所述目标瓦片图像进行解析渲染,获得所述目标瓦片图像对应的目标气象要素图像,包括:

读取获取到的目标瓦片图像所包含的预设数量的通道中的数据;

将从每个通道中读取到的数据分别写入对应的字节型数组中;所述字节型数组按预设颜色空间排列;

对于每个数据对应的字节型数组,根据所述字节型数组中的数值确定原色值;将各所述字节型数组的原色值进行拼接得到浮点型原色值;

根据每个数据对应的浮点型原色值对所述目标瓦片图像进行着色,获得所述目标瓦片图像对应的目标气象要素图像。

上述技术方案通过终端设备对获取到的目标瓦片图像进行解析还原为浮点型原色值,并对目标瓦片图像进行着色,实现目标气象要素图像的可视化。

根据本发明的另一方面,提供了一种气象要素的解析渲染方法,应用于服务器,所述方法包括:

接收终端设备发送的气象要素读取指令和目标气象要素索引;

基于所述气象要素读取指令和所述目标气象要素索引获取目标气象要素对应的目标GeoTIFF图像数据;

将所述目标GeoTIFF图像数据切分为目标瓦片图像后发送到所述终端设备。

上述技术方案,通过服务器基于终端设备发送的气象要素读取指令和目标气象要素索引获取目标瓦片图像并返回终端设备,能够利用GeoTIFF图像格式无损存储图像的能力,保证气象要素的无损解析。

进一步的,通过服务器基于所述气象要素读取指令和所述目标气象要素索引获取目标气象要素对应的目标GeoTIFF图像数据,包括:

根据所述目标气象要素索引确定目标气象要素对应的目标GeoTIFF图像金字塔;

根据所述气象要素读取指令中的缩放层次确定目标GeoTIFF图像金字塔的目标图像层;

根据所述目标气象要素索引从所述目标图像层中获取所述目标气象要素对应的目标GeoTIFF图像数据。

上述技术方案采用图像金字塔策略,可以依据用户当前缩放层级选择不同的金字塔图层,满足用户的不同需求,且保证了气象要素解析渲染的数据量维持在可接受的范围内,从而保证气象要素的解析渲染响应速度。

根据本发明的另一方面,提供了一种气象要素的发布装置,集成于终端设备,所述装置包括:

气象数据获取模块,用于获取预设气象预报时刻的NetCDF气象数据;其中,所述预设气象预报时刻为从气象起报时刻开始的预设数量的气象预报时刻;

数据转化模块,用于将所述NetCDF气象数据转化为基于多通道的GeoTIFF图像数据,并将所述GeoTIFF图像数据发送到服务器。

根据本发明的另一方面,提供了一种气象要素的发布装置,集成于服务器,所述装置包括:

图像数据接收模块,用于接收终端设备发送的GeoTIFF图像数据;所述GeoTIFF图像数据基于NetCDF气象数据转化得到;

图像数据存储模块,用于对接收到的所述GeoTIFF图像数据进行存储;

索引创建模块,用于创建所述GeoTIFF图像数据所包含气象要素的气象要素索引,将所述气象要素索引存储到终端设备的数据库中。

根据本发明的另一方面,提供了一种气象要素的解析渲染装置,集成于终端设备,所述装置包括:

读取指令接收模块,用于接收气象要素读取指令,解析所述气象要素读取指令得到目标气象要素的目标气象要素信息;

索引读取模块,用于根据所述目标气象要素信息从数据库中读取所述目标气象要素对应的目标气象要素索引;

瓦片图像读取模块,用于根据所述气象要素读取指令和所述目标气象要素索引从服务器中读取所述目标气象要素对应的目标瓦片图像;

解析渲染模块,用于对所述目标瓦片图像进行解析渲染,获得所述目标瓦片图像对应的目标气象要素图像。

根据本发明的另一方面,提供了一种气象要素的解析渲染装置,集成于服务器,所述装置包括:

指令和索引接收模块,用于接收终端设备发送的气象要素读取指令和目标气象要素索引;

图像数据获取模块,用于基于所述气象要素读取指令和所述目标气象要素索引获取目标气象要素对应的目标GeoTIFF图像数据;

瓦片图像发送模块,用于将所述目标GeoTIFF图像数据切分为目标瓦片图像后发送到所述终端设备。

本发明实施例提供一种气象要素的发布与解析渲染方法及装置,通过终端设备获取预设气象预报时刻的NetCDF气象数据;其中,所述预设气象预报时刻为从气象起报时刻开始的预设数量的气象预报时刻;采用多进程的方式将所述NetCDF气象数据转化为基于多通道的GeoTIFF图像数据,并将所述GeoTIFF图像数据发布到服务器;实现了基于多通道的GeoTIFF图像进行气象要素数据的传输,利用GeoTIFF图像格式无损存储图像的能力,能够保证气象要素的无损存储和传输,为气象数据的无损解析提供基础,解决了现有读图层渲染方法分辨率低的问题。

应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例一提供的一种气象要素的发布方法的流程图;

图2是本发明实施例二提供的一种气象要素的发布方法的流程图;

图3是本发明实施例三提供的一种气象要素的解析渲染方法的流程图;

图4是本发明实施例四提供的一种气象要素的解析渲染方法的流程图;

图5是本发明实施例五提供的一种气象要素的发布装置的结构示意图;

图6是本发明实施例六提供的一种气象要素的发布装置的结构示意图;

图7是根据本发明实施例七提供的一种气象要素的解析渲染装置的结构示意图;

图8是根据本发明实施例八提供的一种气象要素的解析渲染装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例一

图1为本发明实施例一提供了一种气象要素的发布方法的流程图,本实施例可适用于将气象要素进行发布到服务器中的情况,该方法可以由气象要素的发布装置来执行,该气象要素的发布装置可以采用硬件和/或软件的形式实现,并且可以集成在终端设备中。如图1所示,该方法包括:

S110、获取预设气象预报时刻的NetCDF气象数据;其中,所述预设气象预报时刻为从气象起报时刻开始的预设数量的气象预报时刻。

其中,NetCDF气象数据可以理解为基于NetCDF数据格式描述的气象数据。NetCDF气象数据可以包括:至少一种气象要素,气象要素可以理解为表明大气物理状态、物理现象的各项要素,例如可以包括气温、气压、风、湿度、云、降水等各种天气现象;还可以包括日射特性和大气电特性等大气物理特性;还可以包括无法测定但可求算的各基本要素的函数,如相当温度、位温和空气密度等。

网络通用数据格式(network Common Data Form,NetCDF)是一种面向数组型并适于网络共享的数据的描述和编码标准。由于其灵活性,能够传输海量的面向阵列的数据。NetCDF气象数据的格式不是固定的,可以由使用者根据需求自行定义,例如可以包括维(dimensions)、变量(variables)和属性(attributes)三种描述类型;变量存储实际数据,维给出了变量维度信息,属性则给出了变量或数据集本身的辅助信息属性。示例性的,一般气象数据包含经度、维度和时间三个维度,每个数据点可以采用32位或64位等预设固定长度的浮点型数据表示。

预设气象预报时刻为从气象起报时刻开始的预设数量的气象预报时刻。例如,一般以十天(即240个小时)为一个气象预报周期,预设数量为240个小时,若气象起报时刻为2022年11月20日0时,预设气象预报时刻为2022年11月20日0时至2022年11月30日23时中的240个时刻。示例性的,按照气象预报周期,获取预设气象预报时刻的NetCDF气象数据。

具体的,终端设备所接收到的NetCDF气象数据可以是包含多个气象预报时刻的NetCDF气象数据。

另外,本发明提供的气象要素的发布方法可以支持全球范围([[-90.0,-180.0],[90.0,180.0]])极端天气模拟,使用户可以获取全球范围内任意感兴趣的地点的天气变化情况。

S120、将所述NetCDF气象数据转化为基于多通道的GeoTIFF图像数据。

其中,GeoTIFF图像数据为包含地理信息(如坐标系和经纬度等)的TIFF格式的图像数据,使图像数据和地理数据存储在同一图像文件中。签图像文件格式(Tagged ImageFile Format,TIFF)是图形图像处理中常用的格式之一,具有无损格式存储图像的能力,TIFF文件格式适用于在应用程序之间和计算机平台之间的交换文件,使得图像数据交换变得简单且保证了图像数据传输过程中的无损传输,且在GeoTIFF图像格式包含多个通道,可以分别进行图像数据的存储。

具体的,终端设备将浮点型的NetCDF气象数据转化为多个字节型数组,将多个字节型数组对应存放到GeoTIFF图像数据对应数量的通道中,使GeoTIFF图像数据包含NetCDF气象数据的地理信息(即经纬度信息)。

S130、将所述GeoTIFF图像数据发布到服务器。

具体的,在将NetCDF气象数据转化为基于多通道的GeoTIFF图像数据之后,将GeoTIFF图像数据发送到服务器,以使服务器对GeoTIFF图像数据进行存储。

本发明实施例提供一种气象要素的发布方法,通过终端设备将NetCDF气象数据转换为基于多通道的GeoTIFF图像数据后发布到服务器,能够实现基于多通道的GeoTIFF图像进行气象要素数据的传输,利用GeoTIFF图像格式无损存储图像的能力保证气象要素的无损存储和传输,为气象数据的无损解析提供基础,同时基于多通道的数据存储方法可以提高数据传输的速度。

可选的,步骤S130、将所述GeoTIFF图像数据发布到服务器包括:

基于所述GeoTIFF图像数据构建GeoTIFF图像金字塔;

将所述GeoTIFF图像金字塔发布到GeoServer服务器。

其中,GeoTIFF图像金字塔可以理解为基于GeoTIFF图像数据构成的金字塔。图像金字塔是图像多尺度表达的方式之一,是一种以多分辨率来解释图像的有效但概念简单的结构。一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低且来源于同一张原始图的图像集合。每层的图像通过依次梯次向下采样获得,因而层级越高,则图像越小,分辨率越低。

具体的,根据图像金字塔的构建原理,基于GeoTIFF图像数据构建GeoTIFF图像金字塔,确定在图像金字塔中的存储的GeoTIFF图像数据对应的气象要素索引,将气象要素索引存储在终端设备本地的数据库中,便于基于气象要素索引从图像金字塔查询GeoTIFF图像数据。

示例性的,基于GeoTIFF图像数据构建GeoTIFF图像金字塔的具体实现方法可以为:以2

本发明实施例对构建GeoTIFF图像金字塔的图像层数不作限定,例如可以根据预设瓦片大小和GeoTIFF图像数据的大小所确定。本发明实施例对构建GeoTIFF图像金字塔采用的采用算法也不作限定,例如可以是bilinear采样算法。

上述技术方案构建GeoTIFF图像数据的图像金字塔策略,可以依据用户当前缩放层级选择不同的金字塔图层,满足用户的不同需求。

可选的,步骤S120、将所述NetCDF气象数据转化为基于多通道的GeoTIFF图像数据,包括:

S121、将每个气象预报时刻对应的NetCDF气象数据从浮点型转换为预设数量的字节型数组;其中,所述预设数量根据气象要素渲染时所使用的颜色空间的维度确定。

其中,字节型数组的预设数量可以根据要素渲染的颜色空间的维度确定,例如若采用三维颜色空间渲染要素,则选择三个字节型数组;若采用四维颜色空间渲染要素,则选择四个字节型数组。

具体的,NetCDF气象数据包括:经度、纬度和时间三个维度,在时间维度上包括预设数量的气象预报时刻,在经纬度的维度上的数据为浮点型数据。终端设备对接收到NetCDF气象数据在时间维度上进行划分,确定每个气象预报时刻对应的NetCDF气象数据,将每个气象预报时刻在经纬度的维度上对应的NetCDF气象数据转换为预设数量的字节型数组。

示例性的,若NetCDF气象数据中的每个数据点为32位的浮点型数据,则将32位浮点型数据转换为四个字节型数组,每个字节型数组存储8位的浮点型数据。若NetCDF气象数据中的每个数据点为64位的浮点型数据,则将64位浮点型数据转换为四个字节型数组,每个字节型数组存储16位的浮点型数据。

S122、创建GeoTIFF图像模板,所述GeoTIFF图像模板的参数包括:地理变换矩阵、压缩算法和地理坐标系;所述地理变换矩阵是从到地理坐标系到图像坐标系的仿射变换矩阵。

其中,GeoTIFF图像模板可以理解为完成参数配置的透明图层,用于按照预设策略存储NetCDF气象数据。

具体的,在将NetCDF气象数据的经纬度数据的字节型数组转换为GeoTIFF图像数据之前,还需要先创建GeoTIFF图像模板并配置GeoTIFF图像模板的参数。GeoTIFF图像模板的参数可以包括:地理变换矩阵、压缩算法和地理坐标系。其中,地理坐标系是使用三维球面来定义地球表面位置,以实现通过经纬度对地球表面点位引用的坐标系。地理变换矩阵是地理坐标和图像坐标系之间的变换矩阵。

示例性的,地理坐标系可以包括采用世界大地测量系统84(World GeodeticSystem 84,WGS84)。地理变换矩阵是从到地理坐标系到图像坐标系的仿射变换矩阵。地理变换矩阵亦称之为地理坐标系统的六元组,包括六个用于描述图像像素行列号和地理坐标之间的关系的参数,分别为图像左上角的X坐标;图像东西方向分辨率;旋转角度,如果图像北方朝上,该值为0;图像左上角的Y坐标;旋转角度,如果图像北方朝上,该值为0;图像南北方向分辨率;例如可以为(-180,15.0,0.0,90,0.0,-15.0)。

另外,在基于地理变换矩阵将NetCDF气象数据在地理坐标系的坐标映射到图像坐标系之前,还可以根据需要对多个字节型数组构成的矩阵基于南北极定位进行矩阵转置;还可以确定经向分辨率Xres=(Xmax-Xmin)/float(nx);纬向分辨率Yres=(Ymax-Ymin)/float(ny);其中,Xmax为NetCDF气象数据对应的经度最大值,例如可以是180°;Xmin为NetCDF气象数据对应的经度最小值,例如可以是-180°;nx为在经度上的数据点数量;Ymax为NetCDF气象数据对应的纬度最大值,例如可以是90°;Xmin为NetCDF气象数据对应的纬度最小值,例如可以是-90°;nx为在纬度上的数据点数量。

除此之外,在GeoTIFF图像模板中NetCDF气象数据还可以采用压缩算法进行压缩存储,例如可以采用Deflate压缩算法,Deflate是同时使用了LZ77算法与哈夫曼编码的一个无损数据压缩算法,可以进一步保证NetCDF气象数据在传输过程中不受损失的同时,减少数据传输量,提高响应速度。

S123、采用多进程方式将预设数量的字节型数组对应写入GeoTIFF图像模板中预设数量的通道,获得每个气象预报时刻对应的GeoTIFF图像数据。

具体的,终端设备在GeoTIFF图像模板创建完成之后,采用多进程方法将预设数量的字节型数组对应写入GeoTIFF图像模板中预设数量的通道,即每个字节型数组写入GeoTIFF图像模板中的一个通道,且每个字节型数组写入的通不同。在GeoTIFF图像模板中的预设数量的通道写入一个气象预报时刻对应的字节型数组可以得到该气象预报时刻对应的GeoTIFF图像数据,从而可以得到每个气象预报时刻对应的GeoTIFF图像数据。

示例性的,若NetCDF气象数据中的每个数据点为32位的浮点型数据,每个数据点对应四个字节型数组,则将四个字节型数组对应写入GeoTIFF图像模板的四个通道中得到GeoTIFF图像数据。

实施例二

图2为本发明实施例二提供了一种气象要素的发布方法的流程图,本实施例可适用于对终端设备发布的气象要素进行存储的情况,该方法可以由气象要素的发布装置来执行,该气象要素的发布装置可以采用硬件和/或软件的形式实现,并且可以集成在服务器中。

其中,服务器可以是GeoServe服务器,GeoServe服务器本质上是一个地图服务器,遵循OpenGIS Web服务器规范的J2EE实现,通过GeoServe服务器可以方便的将地图数据发布为地图服务,实现地理空间数据在用户之间的共享。另外,GeoServe服务器也提供了相应的接口以允许用户对地理空间数据进行插入、更新、删除等操作。

如图2所示,该方法包括:

S210、接收终端设备发送的GeoTIFF图像数据;所述GeoTIFF图像数据基于NetCDF气象数据转化得到;

具体的,终端设备对获取到的NetCDF气象数据转化为GeoTIFF图像数据,将GeoTIFF图像数据发发布到服务器,使服务器接收终端设备发送的GeoTIFF图像数据。

S220、对所述GeoTIFF图像数据进行存储。

具体的,服务器在接收到终端设备发送的GeoTIFF图像数据后,对GeoTIFF图像数据进行存储。本发明实施例对GeoTIFF图像数据的存储方式不作限定。

在一个可选的实施例中,若终端设备发送的GeoTIFF图像数据为GeoTIFF图像金字塔,则通过服务器对接收到的所述GeoTIFF图像数据进行存储包括:通过服务器对接收到的所述GeoTIFF图像金字塔进行存储。

具体的,若终端设备发送的GeoTIFF图像数据是基于GeoTIFF图像金字塔所描述GeoTIFF图像数据,则相应的服务器对终端设备发送的GeoTIFF图像金字塔进行存储。

S330、创建所述GeoTIFF图像数据所包含气象要素的气象要素索引,将所述气象要素索引存储到终端设备的数据库中。

其中,气象要素索引是气象要素对应的索引值,基于气象要素索引便于查找用户需要的气象要素。本发明实施例对气象要素索引的创建方式和格式等信息不作限定。

具体的,服务器在接收到终端设备发送的GeoTIFF图像数据后,除了对GeoTIFF图像数据进行存储,还需要创建GeoTIFF图像数据中所包含的气象要素的气象要素索引,将气象要素索引存储到终端设备本地的数据库中,方便终端设备从数据库中获取气象要素索引,根据气象要素索引读取服务器中存储的GeoTIFF图像数据。

本发明实施例的技术方案,通过服务器对终端设备发送的GeoTIFF图像数据进行存储,创建气象要素的气象要素索引并存储到数据库中,便于终端设备基于气象要素索引查询和解析气象要素,提高气象要素的解析速度。

可选的,步骤S230、创建所述GeoTIFF图像数据所包含气象要素的气象要素索引,将所述气象要素索引存储到终端设备的数据库中,包括:

S231、对于每个气象预报时刻对应的GeoTIFF图像数据,为具有相同气象要素信息的GeoTIFF图像数据创建相同的气象要素索引。

其中,气象要素的气象要素信息包括:气象要素标识码和气象起报时刻。气象要素标识码可以理解为用于表示气象要素的唯一标识码。气象起报时刻可以理解为气象要素对应的NetCDF气象数据的起报时刻。

具体的,在服务器将GeoTIFF图像数据存储在服务器中之后,还需要为GeoTIFF图像数据创建气象要素索引。在本发明实施例中,气象要素索引的创建方式为具有相同气象要素信息的GeoTIFF图像数据创建相同的气象要素索引。也就是对于具有相同气象要素标识码和气象起报时刻的GeoTIFF图像数据具有相同的气象要素索引。

S232、将每个气象预报时刻对应的GeoTIFF图像数据的气象要素索引存储在数据库中。

具体的,在确定气象要素的气象要素索引之后,将GeoTIFF图像数据的气象要素索引存储在数据库中,以使终端设备能够根据气象要素信息查询数据库得到所需要气象要素的GeoTIFF图像数据对应的气象要素索引。

上述技术方案通过服务器创建GeoTIFF图像数据对应的气象要素索引,并气象要素索引存储到终端设备的数据库中,使终端设备能够方便的获取到需要查询的气象要素对应的气象要素索引,从而能够基于气象要素索引从服务器中获取气象要素进行解析渲染。

实施例三

图3为本发明实施例三提供了一种气象要素的解析渲染方法的流程图,本实施例可适用于终端设备对气象要素进行解析和渲染的情况,该方法可以由气象要素的解析渲染装置来执行,该气象要素的解析渲染装置可以采用硬件和/或软件的形式实现,并且可以集成在终端设备中。如图3所示,该方法包括:

S310、接收气象要素读取指令,解析所述气象要素读取指令得到目标气象要素的目标气象要素信息。

其中,气象要素读取指令可以理解为读取气象要素的指令,气象要素读取指令可以包括:目标气象要素的目标气象要素信息。目标气象要素可以理解为待读取的气象要素。目标气象要素信息是指目标气象要素所包含的要素信息,例如可以包括:目标气象要素标识码和目标气象预报时间。目标气象要素标识码为目标气象要素的气象要素标识码。目标气象预报时间可以理解为用户需要获取气象要素对应的指定时间,例如可以是具体的有一天,或者一个小时。

气象要素读取指令还可以包括:目标气象预报区域。目标气象预报区域可以理解为用户需要获取气象要素对应的指定区域,例如某个国家或城市。需要说明的是,用户可以在终端设备提供的所有气象预报时间内选择或输入目标气象预报时间,也可以在终端设备提供的所有预报区域中选择或输入目标气象预报区域。

气象要素读取指令还可以包括:缩放等级,在GeoServer服务器中可以存储不同分辨率GeoTIFF图像数据,根据缩放比例选择对应的分辨率的GeoTIFF图像数据,满足用户的各种需求。可以理解的是,缩放比例和GeoTIFF图像数据的分辨率成反比。例如在获取全球的气象要素时,用户选择较高的缩放比例,则对应获取分辨率较低的GeoTIFF图像数据;在获取某个城市的气象要素时,用户选择较低的缩放比例,则对应获取分辨率较高的GeoTIFF图像数据。

具体的,终端设备在接收气象要素读取指令时,对气象要素读取指令进行解析得到目标气象要素以及目标气象要素对应的目标气象要素信息。

S320、根据所述目标气象要素信息从数据库中读取所述目标气象要素对应的目标气象要素索引。

其中,目标气象要素索引可以理解为目标气象要素对应的气象要素索引,可以用于在服务器中查找目标气象要素对应的GeoTIFF图像数据。

具体的,终端设备在基于接收到的气象要素读取指令解析得到目标气象要素对应的目标气象要素信息后,根据目标气象要素信息查询数据库获得目标气象要素对应的目标气象要素索引。

S330、根据所述气象要素读取指令和所述目标气象要素索引从服务器中获取所述目标气象要素对应的目标瓦片图像。

具体的,终端设备将气象要素读取指令和目标气象要素索引发送到服务器,以使服务器查找气象要素读取指令所指定的目标GeoTIFF图像数据,并切分为目标瓦片图像后返回终端设备。

S340、对所述目标瓦片图像进行解析渲染,获得所述目标瓦片图像对应的目标气象要素图像。

其中,目标气象要素图像可以理解为目标气象要素对应的目标GeoTIFF图像数据所构成的图像。为了使目标气象要素图像更便于观看,可以根据目标GeoTIFF图像数据对目标气象要素进行着色。

具体的,对获取到的目标瓦片图像所包含的多通道的数据进行解析还原和数据渲染得到可视化的目标气象要素图像。

本发明实施例的技术方案,通过终端设备基于接收到的气象要素读取指令从数据库中读取目标气象要素索引,并根据目标气象要素索引在服务器中获取目标瓦片图像进行解析渲染得到可视化的目标气象要素图像,能够基于GeoTIFF图像格式无损存储图像的能力可以在实现气象要素的无损解析,同时基于多通道的数据存储方法提高解析的响应速度。

可选的,步骤S320、根据所述目标气象要素信息从数据库中读取所述目标气象要素对应的目标气象要素索引,包括:

S321、根据所述目标气象要素信息查询所述数据库,得到所有可用气象要素对应的气象要素索引;其中,所述可用气象要素为数据库中与所述目标气象要素信息存在相同要素信息的气象要素。

具体的,根据目标气象要素信息查询数据库可以得到与目标气象要素信息存在相同要素信息的所有可用气象要素,也即是将数据库中存在的所有气象要素信息为[目标要素标识码factorCode:目标气象起报时刻baseTimeString]的气象要素作为可用气象要素,读取可用气象要素的气象要素索引。

示例性的,根据目标气象要素信息查询数据库得到可用气象要素对应的气象要素索引的方式可以是:数据库根据目标气象要素信息筛选与目标气象要素具有相同气象要素信息的可用气象要素,根据可用气象要素的气象要素索引在数据库中的数据库存储索引查询可用气象要素的气象要素索引,对所有可用气象要素的气象要素索引拼接为索引列表并返回索引列表。

S322、将最新一个可用气象要素对应的气象要素索引确定为所述目标气象要素的目标气象要素索引。

具体的,由于气象要素索引的创建策略为具有相同气象要素信息的GeoTIFF图像数据创建相同的气象要素索引,理论上查询到的所有可用气象要素对应的气象要素索引均相同。但是,气象要素索引可能发生变更,因此,将最新一条可用气象要素对应的气象要素索引确定为目标气象要素的目标气象要素索引。

可选的,步骤S340、对所述目标瓦片图像进行解析渲染,获得所述目标瓦片图像对应的目标气象要素图像,包括:

S341、读取所述目标瓦片图像所包含的预设数量的通道中的数据;将从每个通道中读取到的数据分别写入对应的字节型数组中;所述字节型数组按预设颜色空间排列。

其中,字节型数组按预设颜色空间排列的方式可以是;对于四维颜色空间,按照RGBA或者ABGR的顺序排列;也可以按照其他预设顺序排列。对于三维颜色空间,按照RGB或者BGR的顺序排列;也可以按照其他预设顺序排列。

具体的,终端设备在获取到服务器发送的目标瓦片图像后,对目标瓦片图像进行解析还原。解析还原的首要步骤是从目标瓦片图像所包含的预设数量的通道中分别读取数据,其次将各通道中读取到的数据对应写入按照颜色空间排列的相同数量的字节型数组中。

其中,从目标瓦片图像所包含的预设数量的通道中分别读取数据的顺序可以是按照从高位字节到低位字节的顺序,也可以是按照从低位字节到高位字节的顺序。可以根据系统的属性所确定,也可以根据用户设置,本发明实施例对此不设限制。

示例性的,若采用四维颜色空间RGBA,可以按照ABGR的顺序读取目标瓦片图像每个通道中的数据,并写入按照RGBA的顺序排列的四个字节型数组中。

S342、对于每个数据对应的字节型数组,根据所述字节型数组中的数值确定原色值;将各所述字节型数组的原色值进行拼接得到浮点型原色值。

其中,浮点型原色值可以理解为采用浮点型格式描述的原色数据。浮点型原色值可以采用三维颜色空间RGB进行描述,也可以采用四维颜色空间RGBA进行描述。

具体的,每个字节型数组分别用于表示颜色空间中的一种原色,因此,对于每个数据点对应的各字节型数组,将字节型数组的数值进行对应原色的映射可以得到该字节型数组对应的原色值,将各字节型数组的原色值按照排列顺序进行拼接得到浮点型原色值。

示例性的,若采用四维颜色空间RGBA,则将每个数据对应的表示一个原色的字节型数组的数值分别乘以255,例如将表示原色R、原色G、原色B和原色A的字节型数组的数值分别乘以255得到各数据对应的每个字节型数组的原色值。将各字节型数组的原色值进行拼接得到浮点型原色值的计算方式可以为floor(mod(bits[3]+0.1,128.0))*2.0+floor((bits[2]+0.1)/128.0)-127.0。

S343、根据每个数据对应的浮点型原色值对所述目标瓦片图像进行着色,获得所述目标瓦片图像对应的目标气象要素图像。

具体的,终端设备根据每个数据对应的浮点型原色值查找预定义的颜色栏的色阶确定每个数据的颜色,根据数据的颜色对目标瓦片图像进行着色得到目标气象要素图像,实现气象要素图像的可视化。

示例性的,确定浮点型原色值对应的颜色的方式可以:创建垂直纹理坐标系以查找颜色和偏移量,将垂直纹理坐标与预设标记值进行比较,若垂直纹理坐标小于预设标记值则说明不需要进行着色。确定原色值的间隔数值可以为:mix(-1.0,1.0,step(bits[3],128.0))。根据浮点型原色值从原色值的间隔数值检索偏移量;根据偏移量从预定义的颜色栏color-bar的色阶中检索颜色,通过线性插值的方式计算偏移量介于color-bar定义的色阶中间的颜色,确保颜色过渡平滑。如果偏移量低于最低色阶,则选用最低色阶的颜色;如果偏移量高于最高色阶,则选用最高色阶的颜色。

示例性的,气象要素的解析渲染装置可以采用WebGL作为前端可视化渲染的技术依托,极大地提升像素渲染效率,还可以采用GLSL ES语言作为着色语言,启用GPU加速技术,较传统的Canvas 2D提升效率约100倍。

实施例四

图4为本发明实施例四提供了一种气象要素的解析渲染方法的流程图,本实施例可适用于从服务器中获取气象要素,以实现对气象要素的解析和渲染的情况,该方法可以由气象要素的解析渲染装置来执行,该气象要素的解析渲染装置可以采用硬件和/或软件的形式实现,并且可以集成在服务器中。如图4所示,该方法包括:

S410、接收终端设备发送的气象要素读取指令和目标气象要素索引。

具体的,终端设备在接收到气象要素读取指令时,从数据库中获取目标气象要素索引,并气象要素读取指令和目标气象要素索引发送到服务器,使服务器能够接收到终端设备发送的气象要素读取指令和目标气象要素索引。

S420、基于所述气象要素读取指令和所述目标气象要素索引获取目标气象要素对应的目标GeoTIFF图像数据。

具体的,由于气象要素索引的创建策略为具有相同气象要素信息的GeoTIFF图像数据创建相同的气象要素索引,根据目标气象要素索引获取到的GeoTIFF图像数据为服务器中存储的所有可用气象要素对应的GeoTIFF图像数据。示例性的,目标气象要素的目标气象要素信息包含[pratesfc:2022101008],则根据目标气象要素索引获取到的GeoTIFF图像数据为所有气象要素信息为[pratesfc:2022101008]的气象要素对应的GeoTIFF图像数据。

一般所获取的NetCDF气象数据为全球气象数据,GeoTIFF图像数据也为全球GeoTIFF图像数据因而,还需要根据气象要素读取指令中的目标气象要素信息所包含的目标预报区域,从所有可用气象要素对应的GeoTIFF图像数据中获取目标预报区域对应的GeoTIFF图像数据作为目标GeoTIFF图像数据。

S430、将所述目标GeoTIFF图像数据切分为目标瓦片图像后发送到所述终端设备。

其中,目标瓦片图像可以理解为气象要素读取指令所指定读取的一个或多个瓦片图像,瓦片图像是基于预设瓦片大小对GeoTIFF图像数据进行瓦片化得到的图像。可以理解的是,瓦片图像不改变图像数据的存储方式,GeoTIFF图像数据基于多通道存储数据,经过瓦片后的瓦片图像基于相同数量的通道存储数据。

具体的,服务器在接收到终端设备发送的气象要素读取指令和目标气象要素索引之后,可以根据目标气象要素索引和气象要素读取指令所包含的目标气象起报时刻和目标预报区域获取目标GeoTIFF图像数据,对目标GeoTIFF图像数据进行瓦片化得到目标瓦片图像返回终端设备。

可选的,服务器在接收到终端设备发送的气象要素读取指令和目标索引信息之前,还包括:配置时间维度筛选参数,所述时间维度筛选参数用于开启时间筛选功能,以响应终端设备发送的包含时间筛选字段的气象要素读取指令。

具体的,若终端设备需要具有获取某个时间或时间段的气象要素,即使服务器能够响应终端设备发送的包含时间筛选字段的气象要素读取指令,则需要在服务器中配置时间维度筛选参数,以开启服务器的时间维度筛选功能。

示例性的,对于GeoServer服务器,配置时间维度筛选参数的具体配置方式可以为:调用ImageMosaic插件的时间维度函数,查找对象属性的标签,若存在

具体的,服务器根据预设瓦片的大小,对目标GeoTIFF图像数据进行瓦片划分得到目标瓦片图像后,将目标瓦片图像后发送到终端设备。

本发明实施例的技术方案,通过服务器基于终端设备发送的气象要素读取指令和目标气象要素索引获取目标瓦片图像并返回终端设备,能够利用GeoTIFF图像格式无损存储图像的能力,保证气象要素的无损解析,并且能够将NetCDF气象数据转换为具有不同颜色的气象要素图像进行显示,实现气象数据的可视化显示。

可选的,步骤S420、基于所述气象要素读取指令和所述目标气象要素索引获取目标气象要素对应的目标GeoTIFF图像数据包括:

根据所述目标气象要素索引确定目标气象要素对应的目标GeoTIFF图像金字塔;

根据所述气象要素读取指令中的缩放层次确定目标GeoTIFF图像金字塔的目标图像层;

根据所述目标气象要素索引从所述目标图像层中获取所述目标气象要素对应的目标GeoTIFF图像数据。

具体的,若终端设备采用GeoTIFF图像金字塔的形式将GeoTIFF图像数据发服务器,则服务器基于所述气象要素读取指令和所述目标气象要素索引从GeoTIFF图像金字塔中获取目标气象要素对应的目标GeoTIFF图像数据。具体步骤为:由于在服务器中每个气象预报时刻对应一个GeoTIFF图像数据金字塔,且具有相同气象要素信息(包括气象预报时刻)的GeoTIFF图像数据创建相同的气象要素索引,因此,首先根据目标气象要素索引确定目标气象要素对应的目标GeoTIFF图像金字塔;然后根据气象要素读取指令中所包含的缩放层次确定对应的图像分辨率,即目标GeoTIFF图像金字塔的目标图像层;最后根据目标气象要素索引中的目标气象要素标识从目标图像层中获取目标气象要素对应的目标GeoTIFF图像数据。

进一步的,当缩放层级小于预设层级时(例如7级),服务器采用的系统默认启用双重压缩,减小目标GeoTIFF图像数据的数据量,进而减小瓦片图像的体积,保证了系统具备极高的响应速度,使气象数据图层可以及时有效的传递给前端进行渲染展示;当缩放层级大于等于预设层级时,系统将返回原始GeoTIFF图像图层,保证了最高分辨率的气象数据可以准确无误地进行渲染。

本实施例采用图像金字塔策略,可以依据用户当前缩放层级选择不同的金字塔图层,满足用户的不同需求,且保证了气象要素解析渲染的数据量维持在可接受的范围内,从而保证气象要素的解析渲染响应速度。

可选的,服务器在接收到终端设备发送的气象要素读取指令和目标索引信息之前,还包括:

配置所述GeoTIFF图像金字塔的图层触及策略;所述图层触及策略用于在气象要素读取指令所包含的缩放层级位于图像金字塔的两个图层之间的情况下,确定所述缩放层级所触及的图像金字塔的图层;

具体的,若终端设备采用GeoTIFF图像金字塔的形式将GeoTIFF图像数据发服务器,则服务器在接收到终端设备发送的气象要素读取指令和目标索引信息之前,还包括配置GeoTIFF图像金字塔的图层触及策略。

图层触及策略是指规定在气象要素读取指令所包含的缩放层级位于图像金字塔的两个图层之间的情况下所触及图层的策略。图层触及策略包括质量优先策略和速度优先策略。金字塔触及策略默认为质量优先策略在气象要素读取指令所包含的缩放层级位于图像金字塔的两个图层之间的情况下采取速度优先策略触及下一层图层的数据,(即分辨率较高的图层的数据),以保证数据的分辨率。可以理解的是分辨率与响应速度成反比。通过修改ImageMosaic插件的金字塔触及策略为SPEED,可以在气象要素读取指令所包含的缩放层级位于图像金字塔的两个图层之间的情况下采取速度优先策略触及上一层图层的数据(即分辨率较低的图层的数据),以保证响应速度。

实施例五

图5为本发明实施例五提供的一种气象要素的发布装置的结构示意图。该装置可以集成在终端设备中,如图5所示,该装置包括:

气象数据获取模块510,用于获取预设气象预报时刻的NetCDF气象数据;其中,所述预设气象预报时刻为从气象起报时刻开始的预设数量的气象预报时刻;

数据转化模块520,用于将所述NetCDF气象数据转化为基于多通道的GeoTIFF图像数据;

数据发布模块530,用于将所述GeoTIFF图像数据发送到服务器。

可选的,所述数据转化模块520,具体用于:

将每个气象预报时刻对应的NetCDF气象数据从浮点型转换为预设数量的字节型数组;其中,所述预设数量根据气象要素渲染时所使用的颜色空间的维度确定;

创建GeoTIFF图像模板,所述GeoTIFF图像模板的参数包括:地理变换矩阵、压缩算法和地理坐标系;所述地理变换矩阵是从到地理坐标系到图像坐标系的仿射变换矩阵;

采用多进程方式将预设数量的字节型数组对应写入GeoTIFF图像模板中预设数量的通道,获得每个气象预报时刻对应的GeoTIFF图像数据。

可选的,所述数据发布模块530,具体用于:

基于所述GeoTIFF图像数据构建GeoTIFF图像金字塔,将所述GeoTIFF图像金字塔发布到GeoServer服务器,以使所述服务器对接收到的所述GeoTIFF图像金字塔进行存储。

本发明实施例所提供的气象要素的发布装置可执行本发明任意实施例所提供的气象要素的发布方法,具备执行方法相应的功能模块和有益效果。

实施例六

图6为本发明实施例六提供的一种气象要素的发布装置的结构示意图。该装置可以集成在服务器中,如图6所示,该装置包括:

图像数据接收模块610,用于接收终端设备发送的GeoTIFF图像数据;所述GeoTIFF图像数据基于NetCDF气象数据转化得到;

图像数据存储模块620,用于对接收到的所述GeoTIFF图像数据进行存储;

索引创建模块630,用于创建所述GeoTIFF图像数据所包含气象要素的气象要素索引,将所述气象要素索引存储到终端设备的数据库中。

可选的,所述索引创建模块630,具体用于:

对于每个气象预报时刻对应的GeoTIFF图像数据,为具有相同气象要素信息的GeoTIFF图像数据创建相同的气象要素索引;其中,所述气象要素信息包括:气象要素标识码和气象起报时刻;

将每个气象预报时刻对应的GeoTIFF图像数据的气象要素索引存储在数据库中。

本发明实施例所提供的气象要素的发布装置可执行本发明任意实施例所提供的气象要素的发布方法,具备执行方法相应的功能模块和有益效果。

实施例七

图7为本发明实施例七提供的一种气象要素的解析渲染装置的结构示意图。该装置可以集成在终端设备中,如图7所示,该装置包括:

读取指令接收模块710,用于接收气象要素读取指令,解析所述气象要素读取指令得到目标气象要素的目标气象要素信息;

索引读取模块720,用于根据所述目标气象要素信息从数据库中读取所述目标气象要素对应的目标气象要素索引;

瓦片图像读取模块730,用于根据所述气象要素读取指令和所述目标气象要素索引从服务器中读取所述目标气象要素对应的目标瓦片图像;

解析渲染模块740,用于对所述目标瓦片图像进行解析渲染,获得所述目标瓦片图像对应的目标气象要素图像。

可选的,所述索引读取模块720,具体用于:

根据所述目标气象要素信息查询所述数据库,得到所有可用气象要素;其中,所述可用气象要素为数据库中与所述目标气象要素信息存在相同要素信息的气象要素;所述目标气象要素信息包括:目标要素标识码和目标气象起报时刻;

将最新一个可用气象要素对应的气象要素索引确定为所述目标气象要素的目标气象要素索引。

可选的,所述解析渲染模块740,具体用于:

读取所述目标瓦片图像所包含的预设数量的通道中的数据;

将从每个通道中读取到的数据分别写入对应的字节型数组中;所述字节型数组按预设颜色空间排列;

对于每个数据对应的字节型数组,根据所述字节型数组中的数值确定原色值;将各所述字节型数组的原色值进行拼接得到浮点型原色值;

根据每个数据对应的浮点型原色值对所述目标瓦片图像进行着色,获得所述目标瓦片图像对应的目标气象要素图像。

本发明实施例所提供的气象要素的解析渲染装置可执行本发明任意实施例所提供的气象要素的解析渲染方法,具备执行方法相应的功能模块和有益效果。

实施例八

图8为本发明实施例八提供的一种气象要素的解析渲染装置的结构示意图。该装置可以集成在服务器中,如图8所示,该装置包括:

指令和索引接收模块810,用于接收终端设备发送的气象要素读取指令和目标气象要素索引;

图像数据获取模块820,用于基于所述气象要素读取指令和所述目标气象要素索引获取目标气象要素对应的目标GeoTIFF图像数据;

瓦片图像发送模块830,用于将所述目标GeoTIFF图像数据切分为目标瓦片图像后发送到所述终端设备。

本发明实施例所提供的气象要素的解析渲染装置可执行本发明任意实施例所提供的气象要素的解析渲染方法,具备执行方法相应的功能模块和有益效果。

技术分类

06120115633417