文章标题

MATLAB读取htf和netcdf格式数据:
1)使用HDF Import Tool
HDF Import Tool是matlab自带的一个可视化的HDF文件输入工具,主要用于HDF和HDF-EOS文件的浏览和输入数据。在Matlab命令窗口输入:hdftool,即可打开HDF import tool,使用该工具可以打开hdf文件,可以从中看到hdf文件的信息。或者通过命令窗口输入:hdftool(‘example.hdf’),也可打开在matlab路径下文件名为‘example.hdf’的文件。
2)使用信息读取函数hdfinfo
通过在matlab使用hdfinfo这个函数,可以获得hdf文件的信息,其语法为:
S=hdfinfo(filename)或S=hdfinfo(filename,mode);
hdfinfo的返回值S包括了一系列关于hdf文件信息的字段,如文件名(filename),属性(Attributes),虚拟组(Vgroup),科学数据集(SDS)等。
3.使用高级输入函数hdfread
函数hdfread的功能是提取hdf文件的数据。由于这个函数隐藏了hdf库中规定的低级函数的许多操作细节,将打开文件、选取数据集、读取数据、关闭文件等一序列过程都包括了,所以使用起来非常简单。其读取数据集数据的功能语法是:
data=hdfread(filename,dataset)
data返回指定数据集中的所有数据,filename为hdf文件的名称,dataset为数据集的名称。

读取TRMM卫星反射率因子数据并显示。
filename='F:\radardata\TRMM\2A25.070709.54960.6.HDF';
file=hdftool(filename);
geo=hdfread(filename,'geolocation');
lat=geo(:,:,1);
lon=geo(:,:,2);
lat=double(lat);
lon=double(lon);

Zfactor=hdfread(filename,'correctZFactor');
Z=Zfactor(:,:,70);
Z=double(Z);
[Zsize1,Zsize2]=size(Z);
for i=1:Zsize1
    for j=1:Zsize2
        if Z(i,j)<=0
            dBZ(i,j)=0;
        else
            dBZ(i,j)=(Z(i,j))/100; %可参考TRMM卫星2A25数据格式说明
        end
    end
end

pcolor(lon,lat,dBZ);
shading interp;
colorbar;
axis([115,121,30,34]);
xlabel('longitude (degree)');
ylabel('latitude (degree)');
title('geo-dBZ');
clc;clear all;
filename='F:\radardata\geomatch\GRtoPR.NANJ.070709.54960.nc';
ncdisp(filename);
Elevation=ncread(filename,'elevationAngle');
ind=find(abs(Elevation-0.45)==min(abs(Elevation-0.45)));
 Lat1=ncread(filename,'latitude');
Lon1=ncread(filename,'longitude');
Lat2=Lat1(:,ind);
Lon2=Lon1(:,ind);
GR_data=ncread(filename,'threeDreflect');
[size1,size2]=size(GR_data);
for i=1:size1
    for j=1:size2
        if GR_data(i,j)<=0
            GR_data(i,j)=0;
        end
    end
end
GR=GR_data(:,ind);
figure;scatter(Lon2,Lat2,200,GR,'filled','Marker','s','MarkerEdgeColor','none');
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值