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);