matlab绘制水深数据
clc;clear;
%%
%------------------------------1.查看文件信息-------------------------------
%file为长波短波辐射6月文件
file = 'GEBCO_2021.nc';
ncdisp(file); %在界面查看nc文件内容,在命令行窗口阅读数据内容
%%
%------------------------------2.读取数据信息-------------------------------
lon = ncread(file,'lon'); %读取经度数据-180 to 180
lat = ncread(file,'lat'); %读取纬度数据 -90 to 90
crs = ncread(file,'crs'); %char,latitude_longitude
elevation= ncread(file,'elevation'); %86400x43200,height_above_mean_sea_level
clearvars file ;
%%
%-----------------------------3.数据处理------------------------------------
ii = find((lon>117.0021)&(lon<123.0021));%渤海经度范围
jj = find((lat>37.0021)&(lat<41.0021)); %渤海维度范围
kk = find(elevation(ii,jj)>0);%查找水深大于0的数据
[LON,LAT] = meshgrid(lon(ii),lat(jj)); %将经纬度建成矩阵数据
elevation1 = elevation(ii,jj);
elevation1(kk)= NaN;
clearvars lon lat ii jj kk crs elevation;%清除变量
whos; %按字母顺序列出当前活动工作区中的所有变量的名称、大小和类型。
%--------------------------------------------------------------------------
%%
figure;clf;
hold on;
%----选择投影方式:Robinson,Mercator,UTM,,Lambert,Stereographic,ortho-----
m_proj('Robinson','long',[117,123],'lat',[37,41]);%初始化地图投影信息,将结果放入一个结构中
m_coast('patch',[.6 .6 .6],'edgecolor','k'); %在给定的地图上标出海岸线
m_grid('linestyle','none','tickdir','out','linewidth',1);
m_plot(LON,LAT,'k','linewidth',1.5);
m_pcolor(LON,LAT,elevation1') ; %画水深矩阵彩色图
m_contourf(LON,LAT,elevation1'); %加等值线
colormap(jet(6)) %图像颜色,jet/autumn,可多颜色了自己选
c = colorbar; %插入色条
c.Label.FontSize = 12;
c.Label.String = '水深(m)'; %插入色条名称及单位
xlabel('longitude'); %xy轴
ylabel('latitude');
title('渤海水深分布图','fontsize',15) %图像标题
% title('Water depth of Bohai (meter)');

浙公网安备 33010602011771号