MATLAB MAT格式转换为tiff

应用背景

最近在做蒸散发,使用了陈学龙老师团队的EB数据,此数据在官网上下载出来为.mat格式,以前从没有见过,历时两天终于搞懂了,现记录如下

参考文献:

《matlab中的for应用,Matlab中matlab中for_循环的原理和应用》
《如何使用matlab读取文件夹》

##mat格式转为tiff
S1 = load('D:\DATA\MATLAB\2004\20090101-ET-V1.mat');  #加载mat文件
BP1 = struct2cell(S1);
Mymat1 = cell2mat(BP1);
Mymat1=rot90(Mymat1');   #进行倒转,否则出来的图片是反转的
Ref=georasterref('RasterSize',[3600,7200],'Latlim',[-90,90],'Lonlim',[-180,180]); //根据文件定义空间参考信息
geotiffwrite('D:\DATA\MATLAB\2004\20090101_1.tif',Mymat1, Ref); //输出到tiff文件中

在这里

批处理:
MATLAB MAT格式转换为tiff_第1张图片注意:读取文件夹时,会额外多出两个,没关系,我们遍历的时候就从第三个开始

for n=3:5
filepath = 'D:\DATA\MATLAB\example'; %输入文件夹地址 
dirList=dir(filepath); % 读取文件夹列表
realName = [filepath,'\',dirList(n).name];
S1 = load(realName);
BP1 = struct2cell(S1);
Mymat1 = cell2mat(BP1);
Mymat1=rot90(Mymat1'); 
Ref=georasterref('RasterSize',[3600,7200],'Latlim',[-90,90],'Lonlim',[-180,180]); 
OutfileName=['D:\DATA\MATLAB\ex_outfile','\',dirList(n).name,'.tif']
geotiffwrite(OutfileName,Mymat1, Ref);
end

你可能感兴趣的:(遥感数据学习,matlab,开发语言,python)