Modis水汽数据MOD05去条带和转投影的问题

前段时间处理modis的水汽数据产品MOD05_L2,一段时间不用,又差不多忘了,是得要整理一下


Modis数据下载:https://ladsweb.nascom.nasa.gov/data/

Search......Product Selection....Satellite—>Terra, Group—>Level 2 Products, Products—> MOD05_L2

Temporal Selection: 月/日/年

选择妥当后用FTP下载


Modis处理工具:https://ladsweb.nascom.nasa.gov/tools/

我最后是利用HDF-EOS TO GEOTIFF CONVERSION TOOL (HEG)进行裁剪、投影转换以及tif格式转换的

HEG支持界面交互操作和命令行操作两种方式,实际上这个软件也就是用java做了个外壳,内部还是在调用命令行的程序。


1、去除条带

MODIS is a cross-track scanning mirror system with blocks of 10 sensors for water vapour channels and the double-sided scan mirror sweeps out a swath of the Earth 10km wide at nadir in each scan. 从2002年开始,Terra上的MODIS数据开始出现条带现象,在影像中,垂直于飞行方向,从第2行开始,每10行出现一次。这说明Terra MODIS元器件的第二扫描行出现了故障。因此,在使用Terra MODIS数据的时候需要去除条带。参考[1]

有一个很简单的去除条带的方法,就是用前后两行数据的平均来替换条带那一行的数据,由于是固定间隔的,所以操作起来也很简单。

1)利用ENVI中Preprocessing > General Purpose Utilities > Replace bad lines进行处理

IDL中新建源文件,将下面的代码看到如并保存,

pro MakeBadLineList,first,interval,lines,filename=filename
     if not keyword_set(filename) then filename='d:\aa.BLL'
     curline=first
     i=1
     badlines=curline
     while((i*interval+first) le lines) do begin
          curline=i*interval+first  
          i=i+1  
          badlines=[[badlines],[curline]]
     endWhile
     openw,lun,filename,/get_lun
     printf,lun,badlines
     free_lun,lun
end
其中:first为出现第一个条带的行数,interval是条带的间隔,lines是影像数据的总行数,filename是输出文件名,用于存贮条带行信息。
以上过程MakeBadLineList在IDL下编译,并在命令行给first、interval、lines参数赋值后,可生成以BLL文件,此文件里包含有影像数据条带行信息。

在命令行中输入, MakeBadLineList,2,10,2030,filename='d:\aa.BLL' 并回车,得到aa.BLL文件。

BLL文件也可以用Matlab来生成

function badlineENVI(outfile,imglength)

fidout = fopen(outfile,'w');
startline = 2;
interval = 10;
a = 'ENVI Bad Lines List';
fprintf(fidout,'%s\n',a);
for i = startline:interval:imglength
    fprintf(fidout,'        ');
    fprintf(fidout,'%4.0f\n',i);
end
fclose(fidout);

利用Replace bad line功能,单击Restore, 选择上面生成的BLL文件,参数“Half Width to Average”是设置用Bad Line所在像元的的上面/下面几个像元的均值来替代条带像元值,选择1即上下两行平均。

利用ENVI中中的Replace Bad line处理条带,必须是没有投影转换的原始影像。我不知道该如何把去除条带后的数据进行投影转换,从modis的正弦曲线投影转换到WGS84的UTM投影,所以最终还是采用matlab去除条带后重新写入hdf文件中,然后再用HEG进行裁剪和投影转换这么一个思路。

2)利用Matlab处理

modis的数据格式是在HDF4基础上改造的HDF-EOS格式,HDF4的库也可以读取其中的数据(下载地址),HDF-EOS(

  • 1
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值