爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2442|回复: 16

华北雷达组合反射率拼图数据RADA_NCN_DOR_L2_CR-2020xxxxxxxx.zip头文件格式

[复制链接]
发表于 2025-1-19 20:23:05 | 显示全部楼层 |阅读模式
200金钱
有每6分钟一次的华北雷达组合反射率拼图数据,文件名为RADA_NCN_DOR_L2_CR-2020xxxxxxxx.zip,压缩包里的文件为20xxxxxxxx.dat,想绘制华北雷达组合反射率拼图,请教大家该如何读取数据?或者文件头格式是什么?我先随便试了下,读出了字符串“diamond 131 ”,通过搜索只能搜到“SWAN系统中说明书中的三维拼图数据格式”,试了一下发现格式不符合,因此想请教大家。




最佳答案

查看完整内容

图1:根据帖子数据解析,并简单绘制的图形 图2:华北地区16部雷达基数据,0.5度仰角“拼图”【2020年6月25日中午单位停电了,恰好缺了25、26两天的雷达拼图图片】 关键问题:二进制的解析。 解决思路:①要有格式说明,②实在没有,可以结合类似数据、经验,去【盲解、盲试】! ①可以参考:气小Py-008:二进制数据解码(标准格式PUP产品为例)_2023.06.20 气小py-插播008:二进制数据解码(龙卷涡旋特征TVS)_2023.06.22 ...
密码修改失败请联系微信:mofangbao
发表于 2025-1-19 20:23:06 | 显示全部楼层
本帖最后由 edwardli 于 2025-1-21 19:42 编辑

QQ截图20250121191624.png 20250121-191815.png

图1:根据帖子数据解析,并简单绘制的图形
图2:华北地区16部雷达基数据,0.5度仰角“拼图”【2020年6月25日中午单位停电了,恰好缺了25、26两天的雷达拼图图片】

关键问题:二进制的解析。
解决思路:①要有格式说明,实在没有,可以结合类似数据、经验,去【盲解、盲试】!
①可以参考:气小Py-008:二进制数据解码(标准格式PUP产品为例)_2023.06.20 气小py-插播008:二进制数据解码(龙卷涡旋特征TVS)_2023.06.22  气小py-插播008:二进制数据解码(中气旋M)_2023.06.29 气小Py-020:雷达径向数据读取与显示_2023.10.31
②可以参考:雷小Py-002:相控阵1纳睿达AXPT0164_2024.05.21 【雷小Py-002:相控阵1纳睿达AXPT0164_2024.05.21】 【精准空降到 02:23】 https://www.bilibili.com/video/B ... d6e34f92869c1&t=143

关键“技术”:
  • 文件头的解析
  • 循环:1字节、2字节、4字节
  • 整数、浮点数、带符号……
  • 2和3交叉尝试,输出结果
  • 找:日期时间,比如这个数据的2020.6.25.22.0就是42、44、46、48、50字节位置。也有可能是计算机毫秒数。
  • 找:经纬度……以及其他一些常数、常识、经验数字
  • 耐心patience  + 运气fortune  + 抓关键信息,忽视没用的unknown
QQ截图20250121193804.png
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

发表于 2025-1-20 13:25:38 | 显示全部楼层
diamond文件头应该是MICAPS里面的 不过diamond 13似乎才是雷达拼图用的文件头
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

 楼主| 发表于 2025-1-20 15:06:54 | 显示全部楼层
loongth 发表于 2025-1-20 13:25
diamond文件头应该是MICAPS里面的 不过diamond 13似乎才是雷达拼图用的文件头

是的,我搜索到了MICAPS的用户手册,里面的第13类数据格式包含了雷达拼图,格式如下:

文件头:(文件头为TEXT格式)
diamond (8个字符)13 (3个字符)数据说明(40个字符)
年 (5个字符)月 (3个字符)日(3个字符)时次 (3个字符)X方向图象大小 (5个字符)Y方向图象大小 (5个字符)图象左下角经度坐标(8个字符)图象左下角纬度坐标 (8个字符)投影方式(2个字符,1-lambert  2-mecator  3-北半球  4-南半球) 放缩系数(5个字符)图象类型(2个字符,1—红外云图 2—雷达拼图 3—地形图 4—可见光云图 5—水汽图)象素值与相应物理量对照表文件名(12个字符)中心经度(8个字符)、中心纬度(8个字符)
(文件头部分共128个字符)
注:目前9210工程通讯系统传输的GMS5云图左下角经纬度(86.4,-1.3)
数据:(数据格式为二进制数据)
一个象素点占一个字节,先沿X方向后Y方向。
例子:
diamond 13 97年2月10日08时红外云图 1997 02 10 08 1280 1024 86.4 -1.3  1 1.0 1 ir.dat cloud
下面是256级灰度表示值......

但我按上述格式读取也不行,仍然报错,所以我觉得我的数据应该不是这一类。
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

 楼主| 发表于 2025-1-20 15:19:32 | 显示全部楼层
我使用如下python代码读取了前42个字节:
with open(read_filename, 'rb') as file:
    header = file.read(42).decode('ascii')
    print(header)
输出结果如下:
前42个字节.png
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

发表于 2025-1-21 08:35:46 来自手机 | 显示全部楼层
一. D131格点数据格式 131格式经过数次修订,目前大多数数据仍未1.0格式,但是显示引擎已经能够解析2.0格式的数据,具体应用可以根据情况使用相应版本的格式,主要是从后面的Reserved中修改为对应版本的大小。保证文件头格式总长度1024个字节。 char ZonName[12];// diamond 131 12个字节 char DataName[38];//数据说明(例如 2008年5月19日雷达三维拼图)38个字节 charFlag[8];// 文件标志,"swan" charVersion[8];// 数据版本号,"2.0" 2.0表示为版本为2.0 unsigned short int year;//2008 两个字节 unsigned short int month;//05  两个字节 unsigned short int day;//19    两个字节 unsigned short int hour;//14   两个字节 unsigned short int minute;//31 两个字节 unsigned short int interval ;  //两个字节         unsigned short int XNumGrids;//1300 两个字节 unsigned short int YNumGrids;//800 两个字节 unsigned short int ZNumGrids;//20  两个字节 int RadarCount; //拼图雷达数 四个字节 float StartLon; //网格开始经度(左上角) 四个字节 float StartLat; //网格开始纬度(左上角) 四个字节 float CenterLon;//网格中心经度 四个字节 float CenterLat;//网格中心纬度 四个字节 float XReso;//经度方向分辨率 四个字节 float YReso;//纬度方向分辨率 四个字节 float ZhighGrids[40];//垂直方向的高度(单位km)数目根据ZnumGrids而得(最大40层) 160个字节。 char RadarStationName[20][16];    //相关站点名称,20*16字节 float  RadarLongitude[20];      //相关站点所在经度,单位:度, 4*20字节 float  RadarLatitude[20];       //相关站点所在纬度,单位:度, 4*20字节 float  RadarAltitude[20];      //相关站点所在海拔高度,单位:米, 4*20字节 unsigned char    MosaicFlag[20];    //该相关站点数据是否包含在本次拼图中,未包含:0,包含:1, 20字节 short  m_iDataType;   //0-unsigned char 1-char 2-unsigned short 3-short 4 //每一层的向量数,版本=2.0 short m_iLevelDimension; float  offset; float  scale char reserved[160]  保持头有1024个字节 接下来是数据块,从底层到高层进行排列共ZnumGrids层。每层的数据从起始点(左上角)开始,按维向(纬度y)减小写每行的经向(经度x增大)数据。数据存储按照m_iDataTyp表示,分为不同的数据类型,存储值和真实值之间的换算关系为 data(真实值) =scale* value(存储值)+ offset     一般情况下,反射率因子采用 unsigned char存储 offset = -33 scale = 0.5 A
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

发表于 2025-1-21 08:38:42 来自手机 | 显示全部楼层
f = cinrad.io.SWAN(nFiles)
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

发表于 2025-1-21 08:49:08 | 显示全部楼层
忘了从哪里要到的diamond 131格式的说明文档了,共享在这里,正如edwardli所说,这个格式可能并没有定版,是否和你的数据对应不得而知。有可能的话你是否可以共享一个示例数据文件,可以共同探讨一下。 SWAN三维拼图格式说明.pdf (64.19 KB, 下载次数: 4)
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

 楼主| 发表于 2025-1-21 10:55:51 | 显示全部楼层
MeteoInfo 发表于 2025-1-21 08:49
忘了从哪里要到的diamond 131格式的说明文档了,共享在这里,正如edwardli所说,这个格式可能并没有定版, ...

在提问中我已经说明,我之前按SWAN系统三维拼图数据格式读取过,但是失败了,因此我认为我的数据可能并不是这一种格式
示例数据文件如下: RADA_NCN_DOR_L2_CR-202006252200.zip (295.86 KB, 下载次数: 16)
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

发表于 2025-1-21 14:20:32 | 显示全部楼层
几杯清澈 发表于 2025-1-21 10:55
在提问中我已经说明,我之前按SWAN系统三维拼图数据格式读取过,但是失败了,因此我认为我的数据可能并不 ...

看了一下,你这个数据文件和上面提到的micaps 131格式差别很大。这种二进制数据没有详细的数据格式说明是无法解码的,建议你问数据来源方要一下数据格式说明文档。
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表