MATLAB读取.nc文件

ncFilePath=‘D:\田晴1\ESA CCI\20141002-20160430active\ESACCI-SOILMOISTURE-L3S-SSMS-ACTIVE-20141002000000-fv04.4.nc’;
%% 显示结构
% ncdisp(ncFilePath);%在命令行窗口中以文本形式显示 NetCDF 数据源 source 中的所有组、维度、变量定义,以及所有属性。
% ncdisp(ncFilePath,‘evap’);%显示指定变量的内容.
% ncdisp(ncFilePath,’/’,‘min’);%只显示示例文件 example.nc 的组层次结构和变量定义。
% ncdisp(ncFilePath,’/’,‘full’);%全部显示所有结构和定义信息
%% 读取变量值
% ncid = netcdf.open(ncFilePath,‘NOWRITE’); %打开nc文件返回索引ID
% [ndims,nvars,ngglobalatts,unlimdimid] = netcdf.inq(ncid);%获取维数,变量数,全局属性数量,
% [varname,xtype,dimids,natts] = netcdf.inqVar(ncid,0); %根据变量索引号获取变量的名称
lon=ncread(ncFilePath,‘lon’);%读取经度变量
lat=ncread(ncFilePath,‘lat’);%读取纬度变量
sm_data=ncread(ncFilePath,‘sm’);%读取sm变量
sm_data1=sm_data(1174:1194,240:262);
sm_data1(sm_data10)=[];
aa=sm_data1;
[h,l]=find(aa
0);
aa(h,l)=[];
%% 显示数据
% pcolor(lat,lon,sm_data);pcolor(X,Y,C) 指定顶点的 x 坐标和 y 坐标,C 的大小必须与 x-y 坐标网格的大小匹配,例如,如果 X 和 Y 定义一个 m×n 网格,则 C 必须为 m×n 矩阵.
% [x,y]=meshgrid(lon,lat);%根据经纬度信息产生格网.
% phandle=pcolor(x,y,sm_data’);%显示一个矩阵,其中x,y,sm_data的行列数必须一致。类似surface函数.
% colorbar
% imwrite(sm_data1,‘D:\田晴1\ESA CCI\20141002-20160430active\aa.tif’,‘tif’)
%% 保存为地理栅格tif格式,以便ArcGIS读取.
data=flipud(sm_data1);
R = georasterref(‘RasterSize’, size(data),‘Latlim’, [double(min(lat)) double(max(lat))], ‘Lonlim’, [double(min(lon)) double(max(lon))]);%地理栅格数据参考对象(类) 
geotiffwrite(‘D:\田晴1\ESA CCI\20141002-20160430active\aa.tif’,data,R);

发布了9 篇原创文章 · 获赞 2 · 访问量 353

猜你喜欢

转载自blog.csdn.net/Tian_lixia/article/details/102685952