怎么使用几行Matlab代码绘制地图?

[复制链接]
1 M map介绍

M map工具包是Matlab绘制地图常用的工具包,打开M map官网的展览馆可以看到各种样式的地图。


2 D' M1 C  R- U+ j5 Z  Z: o                               
登录/注册后可看大图

从展览馆里点击自己喜欢的图表,就能看到绘制图片的相应代码,直接copy代码到Matlab script里面,run一下就能直接运用,整个过程只需三秒,心动不如行动,让我们直接开始!

2 M Map安装
  • 下载M_map包

  • Matlab配置包。点击Add with Subfolders,选择刚下载并解压的M_map包。


    / P8 t) m6 h* f1 u% l# G8 J

0 m% \( u7 N2 C5 ^0 v8 u1 D0 R
                               
登录/注册后可看大图

0 c- k0 T8 m: s, R# k# a! V5 }
                               
登录/注册后可看大图

3 绘图

从官网中Gallery选择你需要的样式地图,复制代码,放入Matlab新建的Script中,run即可。

这里以水深地图作为例子

  1. <p style="text-indent: 2em;">[hide]</p><p style="text-indent: 2em;">m_proj('lambert','long',[-160 -115],'lat',[32 60]); % 选择投影地图与图片经纬度范围</p><p style="text-indent: 2em;">m_etopo2('contourf',[-7000:1000:-1000 -500 -200 0 ],'edgecolor','none');  % 绘制水深数据</p><p style="text-indent: 2em;">m_gshhs('lc','patch', [.7 .7 .7], 'edgecolor','none');    % 绘制海岸线</p><p style="text-indent: 2em;">m_grid('linest','none','tickdir','out','box','fancy','fontsize',16);  % 绘制经纬度网格</p><p style="text-indent: 2em;">colormap(m_colmap('blues', 20));  % 设置水深色标</p><p style="text-indent: 2em;">% 图片保存print(gcf, '-dtiffn', '-r300', 'bathymetry_example');</p><p style="text-indent: 2em;">[/hide]</p>
复制代码
# h  w1 ~+ C6 f

运行这几行主要的代码就可以获得一幅简单的水深地图。


) b/ z8 d; d+ c3 ]                               
登录/注册后可看大图

Notes

在官方文档中的How to get M_Map部分点击9.3就可以直接跳到水深数据的配置介绍文档,点击8.6就可以跳到高分辨率的海岸线配置介绍。不想看英文的看我下面增加的Adding部分。


- J$ \  E2 [* f  w$ h" g                               
登录/注册后可看大图

Adding: matlab中高分辨率海岸线和水深具体配置高分辨率海岸线配置
  • 下载:高分辨率海岸线下载link,这里选择gshhg-bin压缩包

  • 文件解压到相应路径:这里找到m_map包里面的private文件夹,把高清岸线解压进去


    $ w6 `0 g! M2 |7 U) ]% k9 q7 [


( [) X2 g% Z( Q% t3 r5 k                               
登录/注册后可看大图

3. m_map包中m_gshhs.m函数文件默认的路径一般是./private文件夹,如果想查看的话,一个简单的方法是:
* f7 N; R. h' p, Y+ R& na. 在matlab里面的命令窗口输入m_gshhs,然后右键选择open selection。


( r0 i' y: Q+ g+ w: q                               
登录/注册后可看大图

b.打开就可以查看函数默认的路径。


7 {+ T" @6 B$ K. H                               
登录/注册后可看大图

高清水深配置
  • 下载高清水深数据:m_map官网给出的是NOAA官方的etopo1(点击下载)数据。

  • 配置m_etopo2函数:方法与上面查看m_gshhs.m函数默认路径类似。; t& h/ L" f( b3 R4 i5 R# B# N2 e
    a. 在matlab里面的命令窗口输入m_etopo2,然后右键选择open selection。

    $ P) s+ O; Q9 n' z/ F; X5 Q


6 f. H+ ?+ ?- s. D( j# J                               
登录/注册后可看大图

b. 更改默认路径为刚下载并解压之后的etopo1文件夹路径,注意文件夹最后以'/'结尾

; f  v( [  A. a5 w
                               
登录/注册后可看大图

至此,两个文件夹配置均已完成。

文章中所有代码均上传到我的github中,有需要可以直接git clone.


回复

举报 使用道具

相关帖子

全部回帖
暂无回帖,快来参与回复吧
懒得打字?点击右侧快捷回复 【吾爱海洋论坛发文有奖】
您需要登录后才可以回帖 登录 | 立即注册
bason
活跃在2022-10-29
快速回复 返回顶部 返回列表