写在前面:
官方渠道已经下载不到MRT了,为什么呢?退休了呗。
https://lpdaac.usgs.gov/news/downloadable-modis-reprojection-tool-mrt-and-mrtswath-tool-have-been-retired/
当然官方也推荐了新的处理工具
HDF-EOS to GeoTIFF (HEG)
之前也写过一篇相关文章但是没有深入探索,感兴趣的深入了解下。
https://mp.weixin.qq.com/s/afGu8hKjbRZtAJt1TKgydA
那么我们还是可以用退休前的版本处理MODIS数据的,下面是安装包及教程:
MRT下载:
https://pan.baidu.com/s/1_pDwv2lghAzTpaLGv7IcOw
提取码:reyg
MRT安装:
1、解压(其中mrt文件是我自己建的,后面将会安装到此文件下)
2、点击mrt.install.bat.并按任意键继续。
出现如下界面
选择一个路径进行安装
可将mrt\bin文件夹下的ModisTool.bat文件发送到桌面快捷方式。双击即可使用。
批处理代码:
三行代码写在文本文里件并另存为成 .bat 文件
set modistool.bat =放modis数据的路径
for %%i in (*hdf)do resample -p my.prm -i %%i -o %%iout.tif
pause
注:my.prm为在MRT端加载一景MODIS影像设置 的参数保存为 .prm
最后把prm、modis数据、三行代码的bat文件都放在“放modis数据的文件下”
如图:
双击bat即可批处理。捣鼓了一天,lsd.
处理完之后会发现DATA文件夹下多了投影后的波段数据。
写给和我一样的小白:
下面再分享一下自己从网上找,然后根据自己的数据进行调试,亲测可用的批量波段合成代码
pro band_envi_layer_stacking_doit_test
compile_opt idl2
envi,/restore_base_save_files
envi_batch_init,log_file='batch.txt'
Filesnames = 'G:\MODIS\20167MOD09A1\189\' ;替换成自己的文件所在路径
Files_arr = file_search(Filesnames, '*', COUNT = count)
Bandnum = 6
filesnum = count/Bandnum
for num=0, filesnum-1 do begin
inputfiles = strarr(Bandnum)
inputfiles[0]=Files_arr[num*Bandnum+2] ;b3
inputfiles[1]=Files_arr[num*Bandnum+3] ;b4
inputfiles[2]=Files_arr[num*Bandnum] ;b1
inputfiles[3]=Files_arr[num*Bandnum+1] ;b2
inputfiles[4]=Files_arr[num*Bandnum+4] ;b6
inputfiles[5]=Files_arr[num*Bandnum+5] ;b7 我把b5删除了
out_name = STRMID(inputfiles[0],0,42)
fids=lonarr(n_elements(inputfiles))
dimses=lonarr(5,n_elements(inputfiles))
poses=lonarr(n_elements(inputfiles))
for i=0,n_elements(inputfiles)-1 do begin
envi_open_file,inputfiles[i],r_fid=fids1
envi_file_query,fids1,ns=ns,nl=nl,nb=nb
fids[i]=fids1
dimses[0,i]=[-1,0,ns-1,0,nl-1]
proj=envi_get_projection(fid=fids,pixel_size=out_ps)
endfor
envi_doit,'envi_layer_stacking_doit',$
fid=fids,pos=poses,dims=dimses,$
out_dt=2,out_name=out_name,$
interp=2,out_ps=out_ps,$
out_proj=proj,r_fid=r_fid
endfor
end