请选择 进入手机版 | 继续访问电脑版
爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: MeteoInfo

处理FY2E圆盘标称投影数据

[复制链接]

新浪微博达人勋

 楼主| 发表于 2014-11-18 21:52:04 | 显示全部楼层
leikunjiang 发表于 2014-11-18 20:10
各个通道的分辨率确实是5km,不过2288乘以5000等于11440000,我不知道程序中的起始点-5717500是怎么得来 ...

应该是(2288 - 1) * 5000
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-11-20 20:39:41 | 显示全部楼层
MeteoInfo 发表于 2014-11-18 21:52
应该是(2288 - 1) * 5000

王老师,我又发现另外一个问题,图片上的值与实际值(用micaps打开显示)是不正确的,var = dataInfo.getVariable('NOMChannelVIS'),这句话得到的数据应该是索引值(正整数(0到63的任意数)),要结合HDF里面的另外一个数据(CALChannelVIS)才是通道数据的值,比如读出'NOMChannelVIS里面的一个数据是5,则要在'CALChannelVIS'里找到5所对应的数据,这个5所对应的数据既为该点可见光的反射率值。这里'CALChannelVIS'只有64个值(0~63所对应的可将光通道数据),就是要定标数据。我不知道有没有讲清楚。另外我想要那个由标称投影转换而成的等经纬度数据,脚本程序中有两句话outfn = 'E:\MeteInfo Java\MeteoInfo/NOMChannelVIS.grd'      和    gData.saveAsSurferASCIIFile(outfn)    这里的NOMChannelVIS.grd是不是等经纬度数据,还是那个生成的栅格数据才是等经纬度数据啊。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-11-20 21:34:05 | 显示全部楼层
刚刚经过检验,NOMChannelVIS.grd里的数据确实索引值,那么它就不是等经纬度投影......那转换的等经纬度数据如何得来呢?通常是由数据出图,那能不能反过来,由图得到那个等经纬度数据。主要是还要对那个等经纬度数据进行处理
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-11-21 14:27:06 | 显示全部楼层
本帖最后由 MeteoInfo 于 2014-11-21 14:29 编辑
leikunjiang 发表于 2014-11-20 21:34
刚刚经过检验,NOMChannelVIS.grd里的数据确实索引值,那么它就不是等经纬度投影......那转换的等经纬度数 ...

获取真实值可以用此脚本,具体看脚本里的代码吧,我就不详细说了:
代码贴出来有点小问题,把代码文件也附上: read_fy2e_hdf.py (2.95 KB, 下载次数: 35)
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-11-21 14:38:25 | 显示全部楼层
MeteoInfo 发表于 2014-11-21 14:27
获取真实值可以用此脚本,具体看脚本里的代码吧,我就不详细说了:
代码贴出来有点小问题,把代码文件也 ...

灰常灰常感谢王老师耐心细致的回答。我还想问问那个等经纬度数据能不能把它提取出来啊,因为还要对这个数据进行处理。程序代码中有两句话outfn = 'D:/Temp/test/NOMChannelVIS-1.grd'
                                             gData.saveAsSurferASCIIFile(outfn)
这两句话的意思是不是把它转换成了等经纬度了的啊
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-11-21 14:44:02 | 显示全部楼层
leikunjiang 发表于 2014-11-21 14:38
灰常灰常感谢王老师耐心细致的回答。我还想问问那个等经纬度数据能不能把它提取出来啊,因为还要对这个数 ...

已经转成了等经纬度数据了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-11-21 15:14:11 | 显示全部楼层
MeteoInfo 发表于 2014-11-21 14:44
已经转成了等经纬度数据了

王老师,FY2E轨道高度从HDF数据里面可以看到是3.57859e+007。就是那个h应该弄成这个数据。转换后的等经纬度数据的分辨率是0.05度吗?起始经纬度又该如何确定呢?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-11-21 15:43:33 | 显示全部楼层
MeteoInfo 发表于 2014-11-21 14:44
已经转成了等经纬度数据了

王老师,我回想起昨天检验NOMChannelVIS.grd里面的数据的时候,发现里面数据都是正整数,和HDF里面的数据是一样的。这说明这个文件里面的数据就不是等经纬度数据了撒,只是把HDF里的数据读出来保存在NOMChannelVIS.grd文件里了,它的数据部分也是2288行2288列。那经过转换成的等经纬度的数据到底是那个呢?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-11-21 15:47:06 | 显示全部楼层
leikunjiang 发表于 2014-11-21 15:14
王老师,FY2E轨道高度从HDF数据里面可以看到是3.57859e+007。就是那个h应该弄成这个数据。转换后的等经纬 ...

输出的数据文件是Surfer ASCII Grid data数据格式,头几行有坐标参数,具体请自己网上搜索相关格式说明。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-11-21 15:50:14 | 显示全部楼层
leikunjiang 发表于 2014-11-21 15:43
王老师,我回想起昨天检验NOMChannelVIS.grd里面的数据的时候,发现里面数据都是正整数,和HDF里面的数据 ...

我再强调一遍,脚本里下面的语句功能就是将Geostationary投影数据转换为等经纬度投影数据,如果脚本里gData = gData.project(toProj)语句未被注释掉(注释指的语句前面有#,该语言不会运行),那么输出的数据就是等经纬度数据。投影只改变坐标,并不改变数据本身。

        print 'Reproject grid data to Lon/Lat...'
        toProj = KnownCoordinateSystems.geographic.world.WGS1984
        gData = gData.project(toProj)
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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