MATLAB读取.nc文件

clc
clear
ncFilePath='E:\批处理读取NC文件-MATLAB语言\1NC文件\VIC_Output_China_evap_1952.nc';


%% 显示结构
% ncdisp(ncFilePath);%显示nc文件的所有结构,以便大概了解里面的内容
% ncdisp(ncFilePath,'evap');%显示指定变量的内容,注意一定要是变量variables才可以
% ncdisp(ncFilePath,'/','min');%简单显示结构以及定义
% 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');%读取纬度变量
time=ncread(ncFilePath,'time');%读取时间变量
evap=ncread(ncFilePath,'evap');%获取蒸散发变量数据
evap1=evap(:,:,200);
evap1(evap1==0)=[];
aa=evap1;
[h,l]=find(aa==0);
aa(h,l)=[];
%% 显示数据
% pcolor(lat,lon,evap1);
% [x,y]=meshgrid(lon,lat);%根据经纬度信息产生格网,284列(经度),164列(纬度)
% phandle=pcolor(x,y,evap1');%显示一个矩阵,其中x,y,evap1的行列数必须一致。类似surface函数
% colorbar
% imwrite(evap1','E:\批处理读取NC文件-MATLAB语言\aa.tif','tif')
%% 保存为地理栅格tif格式,以便arcgis读取
data=flipud(evap1');
R = georasterref('RasterSize', size(data),'Latlim', [double(min(lat)) double(max(lat))], 'Lonlim', [double(min(lon)) double(max(lon))]);%地理栅格数据参考对象(类) 
geotiffwrite('E:\批处理读取NC文件-MATLAB语言\aa4.tif',data,R);















评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值