爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 108263|回复: 57

[源代码] 风云4号AWX数据读取画图

  [复制链接]

新浪微博达人勋

发表于 2019-3-2 15:23:57 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x











领导要我做个风云4号的AWX格式数据读取,我跑到卫星中心网站一看,人家所有风云四号的数据都是存的hdf5或者netcdf4,完全没有AWX这种啊。最后领导说micaps里面的卫星不是AWX么,听完当场吐血。之后就是更加神坑的文档解读了,风云4的AWX找遍了也没找到格式文档,不得已搞了份风云2的AWX格式文档来读。头文件读着还算顺利,然后到数据部分,excuse me!这数据的长度到底是多少啊我去。。。来回看了n遍也没看到这文档哪里提到数据类型,只好慢慢试,先试int16,能读出数据,但是size不够啊,读头文件时候说的明明白白的图像宽高,咋就不够用了呢!再试int8,成了,神坑啊,你头文件全用int16的啊,数据搞成int8,就为了那点数据大小?然后最坑的事情发生了,定标数据说好了是0到1024个数对应1024个亮温或者反射率,然鹅,你数据的大小范围是0到255一共256个数据。。。要不要这么没人性,这怎么定标,再次一口老血喷出。最后在@eeeee 的帮助下用了一个坑办法,对定标表跳点,跳四个点让定标表变成256个数,大佬就是大佬。不多说了上图。另外时间就懒得加了反正头文件或者数据名都可以读出来,想加时间title的自己改我传的源代码吧。


可见光

可见光

红外

红外
c.jpg

awx.7z

10.96 MB, 下载次数: 1647, 下载积分: 金钱 -5

评分

参与人数 1金钱 +20 贡献 +5 收起 理由
mofangbao + 20 + 5

查看全部评分

本帖被以下淘专辑推荐:

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2020-12-24 14:25:59 | 显示全部楼层
最近也是碰到了FY4的数据了,搞了一份输出AWX的。
# 输出为AWX格式
def outAWX(out_filen, head_bin, CalibrationData, grid_data):
    grid_data = np.round(grid_data / 16)  ##写AWX用
    print("output file:" + out_filen)
    head = AWXHead()
    with open(out_filen, 'wb')as fp:
        fp.write(head_bin)
        for i in CalibrationData:
            i_bin_CalibrationData = struct.pack("H", i)
            fp.write(i_bin_CalibrationData)

        for i in range(head.FillDataLength):
            fill_bin = struct.pack("B", 0)
            fp.write(fill_bin)
        for idata in grid_data.flatten():
            idata_bin = struct.pack("B", int(idata))
            fp.write(idata_bin)
密码修改失败请联系微信:mofangbao
回复 支持 2 反对 0

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2019-3-2 15:27:08 | 显示全部楼层
另外说下画图用的cartopy,不是basemap没装的记得装下。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2019-3-2 17:21:19 | 显示全部楼层
赞一个!很厉害的,佩服!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2019-3-2 17:21:45 | 显示全部楼层
^_^  还好没读出妖怪来
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2019-3-2 17:27:38 | 显示全部楼层
多谢楼主分享,这两天正在处理fy4的数据。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2019-3-2 21:17:24 | 显示全部楼层
为啥有netCDF4这种已经算是气象领域比较通用的自描述数据交换格式,领导还那么执着的用AWX啊...
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2019-3-3 16:10:22 | 显示全部楼层
楼主厉害,学习了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2019-3-4 08:08:08 | 显示全部楼层
Masterpiece 发表于 2019-3-2 21:17
为啥有netCDF4这种已经算是气象领域比较通用的自描述数据交换格式,领导还那么执着的用AWX啊...

因为领导那边收藏的是awx数据,卫星中心那边他们很少去,搞业务的很少有关注卫星的。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2019-3-4 08:10:57 | 显示全部楼层
freekiller 发表于 2019-3-2 17:21
^_^  还好没读出妖怪来

哈哈,真怕读出个奇葩来
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2019-3-4 12:58:01 | 显示全部楼层
yuyue1314 发表于 2019-3-4 08:08
因为领导那边收藏的是awx数据,卫星中心那边他们很少去,搞业务的很少有关注卫星的。

怪不得...
另外建议楼主学一下pyqt,交互会好很多
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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