1. m_map的使用教程
「我只是个菜鸡,只会基本的方法,这是个很强大的工具箱,我只摸索了一点(个人需要),下面是出图效果,觉的有用,自行下载学习,代码和教程都为嘴里了,就自行学习吧,自行学习」
2. 关注并回复关键词:
怀俄明探空站数据解算PWV和Tm:怀俄明探空站数据解算PWV和Tm
怀俄明多线程下载探空站数据(包括检查和下载遗漏数据的代码):怀俄明多线程下载
对IGRAv2进行质量控制得到PWV和Tm的 matlab 代码:IGRAv2进行质量控制得到PWV和Tm
算 IGRAv2 探空站的 Tm 和 PWV:IGRAv2计算Tm和PWV
提取探空站 IGRAv2 全部数据:
ERA5 解算合集(温度、气压、PWV、水汽压和 Tm)代码获取:ERA5合集
3. 下载和安装压缩包(我已经打包好)
(1)下载链接3个:m_map、添加数据文件和shp文件
关注公众号WZZHHH,回复:map工具箱
(2)安装
「1. 将m_map工具包解压后放在matlab的toolbox中,添加路径即可。」
「2. 将work文件解压后放在matlab中,便于下次找到,work文件夹里面有etopo1和coastline两个文件夹。」
「3. 打开m_map中的m_etopo2.m,更改48行路径为etopo1文件夹的路径」
「4. 打开m_map中的m_gshhs.m,更改73行路径为coastline文件夹的路径」
以国内探空站分布图为例(部分探空站)
需要出两个图大陆加海南
1. 大陆出图
%% m_map绘制地形图,使用m_etopo2
clc,clear;
% 加载站点经纬度
[sound,~] = xlsread('D:\paper_write\paper_code\2\xls\探空站.xls');
figname='1-sound位置图';
% 中国的经纬度[71 137 8 55]
m_proj('mercator','long',[71 137],'lat',[ 8 55]);
[ELEV,LON,LAT]=m_etopo2([71 137 8 55]);
% 海拔图例的范围,caxis要放在colormap之前
caxis([-5000 5000])
% 使用两种色标区分陆地海洋,范围比例要和caxis匹配,colormap要放在m_shadedrelief之前
colormap([m_colmap('blues',200);m_colmap('gland',200)])
% 图例
hc=colorbar;
set(hc,'fontsize',10)
set(get(hc,'title'),'string','Elevation(m)','fontsize',10)
[IM,X,Y]=m_image(LON(1,:),LAT(:,1),ELEV);
m_shadedrelief(X,Y,IM,'coords','map')
% 绘制海岸线(灰色)(1分辨率低,2分辨率中,3分辨率高)
% m_gshhs('ic1','color',[.5 .5 .5])
% 绘制河流(1分辨率低,2分辨率中,3分辨率高)以1为例
m_gshhs('ir1','color','b')
% 添加国界线(1、2、3),以3为例
% m_gshhs('ib3','color','k','linewid',0.7)
% 使用自己的国界线shp文件,使用这个注释掉上面国界线
M=m_shaperead('D:\paper_write\shp_文件\全国省行政区划\bou1_4l');
hold on
for i=1:size(M.ncst)
m_plot(M.ncst{i,1}(:,1),M.ncst{i,1}(:,2),'k-','linewid',1);
end
%绘制探空站坐标点
p2 = m_plot(sound(:,3),sound(:,2),'^','markersize',3,'MarkerEdgeColor','r','markerfacecolor','r');
% 绘制边框
m_grid('box','fancy','tickdir','in','gridlines','no','fontsize',12)
% 线段比例尺函数m_ruler
m_ruler([0.08 0.358],0.1,3,'color','b',...
'linewid',5,'tickdir','out','ticklen',0.01,'fontsize',10);
legend(p2(1),'Sounding','Position',[0.6 0.15 0.14 0.07],'fontsize',10);
set(gcf,'position',[100 100 800 500])
print('-dpng','-r600',[figname,'.png']) % 导出png图片
出图效果:
2. 海南出图
%% m_map绘制海南地形图
clc,clear;
figname='1-南海位置图';
% 中国的经纬度[71 137 8 55] 南海:
m_proj('mercator','long',[105 123],'lat',[0 25]);
[ELEV,LON,LAT]=m_etopo2([105 123 0 25]);
% 海拔图例的范围,caxis要放在colormap之前
caxis([-5000 5000])
% 使用两种色标区分陆地海洋,范围比例要和caxis匹配,colormap要放在m_shadedrelief之前
colormap([m_colmap('blues',200);m_colmap('gland',200)])
[IM,X,Y]=m_image(LON(1,:),LAT(:,1),ELEV);
m_shadedrelief(X,Y,IM,'coords','map')
% 绘制海岸线(灰色)(1分辨率低,2分辨率中,3分辨率高)
% m_gshhs('ic1','color',[.5 .5 .5])
% 绘制河流(1分辨率低,2分辨率中,3分辨率高)以1为例
m_gshhs('ir1','color','b')
% 添加国界线(1、2、3),以3为例
% m_gshhs('ib3','color','k','linewid',0.7)
% 使用自己的国界线shp文件,使用这个注释掉上面国界线
M=m_shaperead('D:\paper_write\shp_文件\全国省行政区划\bou1_4l');
hold on
for i=1000:size(M.ncst)
% 画点 m_plot(Lon,Lat,'ro','markersize',8,'markerfacecolor','r')
m_plot(M.ncst{i,1}(:,1),M.ncst{i,1}(:,2),'k-','linewid',3);
end
%绘制坐标点
% 绘制边框
m_grid('box','on','gridlines','no','linewid',4)
set(gcf,'position',[100 100 800 500])
print('-dpng','-r600',[figname,'.png']) % 导出png图片