登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
因为需要气象数据,自己又是Matlab的初学者,于是在网上找来各种资料,本分享源自参考了以下这个博客的代码后,自己的结果出现了小问题后又求助了师姐之后外加搜索之后的感悟~分享给大家,为了做记录也希望能够帮助需要的人,当然啦也为了本站的金钱~https://blog.csdn.net/liyanzhong/article/details/51884735
打开Matlab之后出现的是命令行窗口,最好是在上面更改好自己的文件路径之后,点击新建,新建一个脚本(开始网友告诉我在脚本里写,我还不理解,后来舍友亲自操作了一下,贴在这给新手哈)
然后再在这里面写代码即可
代码如下: clc; clear; ncFilePath='D:\test_Data\lrad_201201-201212.nc';% ncFilePath是变量名,后面是文件地址和文件名
%% 显示结构 这个只是大概了解 知道数据的变量是什么就可以不用运行 %ncdisp(ncFilePath);%显示nc文件的所有结构,以便大概了解里面的内容 %ncdisp(ncFilePath,'lrad');%显示指定变量的内容,注意一定要是变量variables才可以 %ncdisp(ncFilePath,'/','min');%简单显示结构以及定义 %ncdisp(ncFilePath,'/','full');%全部显示所有结构和定义信息
%% 读取变量值
lon=ncread(ncFilePath,'lon');%读取经度变量 lat=ncread(ncFilePath,'lat');%读取纬度变量 time=ncread(ncFilePath,'time');%读取时间变量 lrad=ncread(ncFilePath,'lrad');%获取lrad下行长波辐射的变量数据 lrad_185=lrad(:,:,185);%取得是第185天的数据做试验
%% 显示数据 可以不要 %pcolor(lat,lon,lrad_185); %本数据较大所以图上的线很密 %shading flat; % 加上这句即可显示 %[x,y]=meshgrid(lon,lat);%根据经纬度信息产生格网,284列(经度),164列(纬度) %phandle=pcolor(x,y,lrad_185');%显示一个矩阵,其中x,y,evap1的行列数必须一致。类似surface函数 %shading flat; % colorbar
%%保存为地理栅格tif格式,以便arcgis读取 data=lrad_185'; % 参考的博客中 data这里用了一个flipud函数,这个函数是进行上下翻转的,不太清楚为什么要用这个,我的未使用 R =georasterref('RasterSize', size(data),'Latlim', [double(min(lat))double(max(lat))], 'Lonlim', [double(min(lon))double(max(lon))]);%地理栅格数据参考对象 geotiffwrite('G:\test_Data\lrad_2012185.tif',data,R); disp('done')
%%% 这个只是单个数据的处理 下一步准备试验一下批处理 希望能够有帮助
|