利索能及
我要发布
收藏
专利号: 2024103742613
申请人: 南京信息工程大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-01-08
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种针对天气雷达拼图系统组网产品的数据解析方法,其特征在于,具体包括如下步骤:步骤1:获取天气雷达拼图系统V3.0组网产品的二进制基数据,并且以.bin格式进行存储;

步骤2:对基数据的名称进行信息提取并进行展示;

步骤3:对基数据中前256字节的产品文件头的变量进行信息解析:对产品文件头中不同数据类型和不同长度的变量逐一进行信息提取,然后调用Struct库实现对提取信息的数据解析,将解析后的数据存储为元组的形式并进行显示;

步骤4:将基数据中256字节之后的所有字节作为组网产品的数据块,根据产品文件头中的压缩标志,对数据块进行解压缩,调用Struct库实现数据解析并将解析后的数据存储为元组的形式,将得到的元组数据利用NumPy库加工处理为numpy.ndarray数据格式,并将numpy.ndarray格式的数据形变成二维数据格式,对该二维数据进行还原,得到原始组网产品数据。

2.根据权利要求1所述的一种针对天气雷达拼图系统组网产品的数据解析方法,其特征在于,所述步骤2中对解析后的文件头中的变量进行显示时,还需要对观测时间,生成时间,产品文件头中蕴含的边界信息,产品文件头中蕴含的压缩方式以及产品文件头中蕴含的地理坐标系进行加工处理,具体为:利用datetime.strptim函数实现观测时间和生成时间的数据的格式化,采用如下公式对产品文件头中蕴含的边界信息进行加工处理:,

其中,edge_{area}为真实的经纬度信息,area=n,s,w,e,其中edge_s表示南边界值,edge_w表示西边界值,edge_n表示北边界值,edge_e表示东边界值,scale1表示放大倍数;

产品文件头中Compress=1表示bz2压缩格式,Compress=2表示zip压缩格式,Compress=

3表示lzw压缩格式;

产品文件头中coordinate=1,表示地理坐标系为等经纬网格坐标系;coordinate=2,表示地理坐标系为笛卡尔坐标系。

3.根据权利要求1所述的一种针对天气雷达拼图系统组网产品的数据解析方法,其特征在于,在步骤3得到原始组网产品数据之后需要对该数据进行可视化处理,具体为:步骤3.1:利用numpy.where函数将原始组网产品数据中所有的负值设置为0,然后对整体的数据进行归一化,使得每个数据在0‑75之间,步骤3.2:设置染色规则:以x个雷达回波强度为间隔,将0‑75的范围划分为15个区间,对每个区间设定对应的颜色代码;

步骤3.3:用Matplotlib.pyplot.figure函数定义绘画区域和画布对象;

步骤3.4:调用contourf函数对原始的画布进行纯色渲染实现背景色改变;

步骤3.5:将颜色代码输入至contourf函数实现区域的染色并且覆盖在画布上层;

步骤3.6:调用Matplotlib.pyplot.savefig函数实现最后的可视化结果保存。

4.根据权利要求1所述的一种针对天气雷达拼图系统组网产品的数据解析方法,其特征在于,所述步骤2或者步骤3中调用Struct库实现对提取信息的数据解析,具体为:采用struct.unpack(format, buffer)函数将文件头中的字段所包含的字节流数据按照给定format的数据类型进行转化,其中format表示指定转换的数据类型,buffer表示的是待编码的字节流数据。

5.根据权利要求1所述的一种针对天气雷达拼图系统组网产品的数据解析方法,其特征在于,所述步骤2中还需对元组形式的数据转换为utf‑8编码形式或者浮点类型;具体为:若文件头中字节流数据的数据类型为char,则采用char.decode函数将该字节流数据对应的元组形式的数据转换为utf‑8编码形式,若转换后的数据中有\x00字符,则用空格代替该字符,然后采用strip函数删除空格;若文件头中字节流数据的数据类型为int或short则将该字节流数据对应的元组形式的数据直接转换为浮点类型。

6.根据权利要求1所述的一种针对天气雷达拼图系统组网产品的数据解析方法,其特征在于,所述步骤4中采用如下公式对二维数据格式进行还原:,

其中,originaldata表示还原后的二维数据,data表示还原前的二维数据,scale表示放大倍数。

7.根据权利要求1所述的一种针对天气雷达拼图系统组网产品的数据解析方法,其特征在于,该方法还包括对地理要素的填充,具体为:步骤A:根据对文件头的解析,得到该天气雷达拼图系统组网产品采用的地理坐标系,利用cartopy.crs.PlateCarree函数设置与该地理坐标系相应的投影,创建子图对象fig和图形坐标轴对象ax时,将投影传送给subplot_kw函数中的参数,从而定义子图的属性;

步骤B:将文件头中解析得到的边界值定义为子图的区域展示边界,并调用ax.set_extent函数将该区域展示边界作为子图的经纬度范围;

步骤C:采用cartopy.feature实现地理信息绘图并传入不同的地理要素,将地理要素添加到ax.add_feature函数中作为特征;从而实现地理要素的自动填充,所述地理要是包括:陆地,海洋,湖泊以及边界线。

8.根据权利要求1所述的一种针对天气雷达拼图系统组网产品的数据解析方法,其特征在于,该方法还包括将解析得到的组网产品数据导出为GeoTIFF格式的文件,具体为:步骤a:根据对文件头的解析,得到该天气雷达拼图系统组网产品采用的地理坐标系,确定GeoTIFF格式的文件的地理坐标系;

步骤b:其次根据文件头中解析得到的边界值确定地理坐标范围;

步骤c:计算维度方向上和经度方向上的分辨率,表达式为:

,

其中, 为维度方向上的分辨率, 为经度方向上的分辨率,edge_

s表示南边界值,edge_w表示西边界值,edge_n表示北边界值,edge_e表示东边界值,nX为对文件头解析得到的格点坐标列数,nY为对文件头解析得到的格点坐标行数;

步骤d:在得到分辨率和经纬度范围之后,利用rasterion.from_origin(min_lon,min_lat,resolution_x,resolution_y)函数创建仿射变化transform,其中,min_lon表示最小维度,min_lat表示最小经度,resolution_x表示维度方向上的分辨率单位,resolution_y表示经度方向上的分辨率;

步骤e:调用rasterio.open创建GeoTiFF文件,并且将nY和nX作为所创建文件的高度和宽度,传入地理坐标系和定义好的仿射变换transform;

步骤f:将解析后的组网产品数据写入GeoTiFF文件的波段中进行保存。