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

  

 

posted on 2022-04-23 11:03  xiwei-ff  阅读(1236)  评论(0编辑  收藏  举报