使用m_map工具箱画中国地形图和站点图,附代码和下载链接

1. m_map的使用教程

「我只是个菜鸡,只会基本的方法,这是个很强大的工具箱,我只摸索了一点(个人需要),下面是出图效果,觉的有用,自行下载学习,代码和教程都为嘴里了,就自行学习吧,自行学习」

图片

2. 有关 Matlab 获取代码关注WZZHH回复关键词,或者咸鱼关注:WZZHHH12


怀俄明探空站数据解算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图片

出图效果:

图片

3. 最后使用visio把这两个图拼一起就行了

4. >.< 有问题,请你问你的老师,师兄师姐。我也挺忙的。

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WZZHHH

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值