Matlab—M_Map的实战学习笔记(一)M_Map库的安装

最近在做美赛集训,做到了2020年的美赛A题,有关苏格兰附近鲭鱼和鲱鱼分布预测问题,在写论文的过程中,为了画几张精美的地图,可谓是历经千难万险,花费了不少时间,走了不少弯路。现在对使用matlab的m_map映射库进行地图绘制做一个总结,力求简洁但全面。

一、M_Map本身的安装

M_Map是一款专门为Matlab编写的一组映射工具库,主要用于使地图的绘制更加简洁化。

我个人对于M_Map的理解,就是它其实是一组对于 映射函数、绘图函数优化、地图数据库的封装。那么什么是映射函数呢?拿最简单的例子来说:我们平时使用Matlab绘图最常用的函数:plot(x,y),其中x是横坐标序列,y是纵坐标序列,那么绘制出来就是一条x于y的对应图。可是在绘制地图时,很多情况下我们需要的是经纬度。这个时候有同学可能会疑惑,要经纬度只需要把x和y映射为经纬度就可以了呀?为什么还要映射呢?此处我个人浅薄的理解是:就像通信需要统一通信双方协议一样。绘制地图的时候,假设你从数据库下载了一个地图,可是你要编辑这个地图,比如绘制设色图,没有映射的情况下你需要重新统一横纵坐标(有的甚至是球坐标),但是如果有了映射函数的统一,那么此时你要在图中加一些点,就可以直接输入经纬度坐标,这个点就自动绘制上去了,不仅方便而且准确。

M_Map在2021年9月更新到了v1.4版本

获取网址(M_Map的官方网址):https://www.eoas.ubc.ca/~rich/map.html

在这个官方网址中,除了下载M_Map,还提供了对这个映射工具的介绍、内置函数的介绍以及例程等。我学习M_Map主要就是在这里学习。不足是这里对内置函数的介绍有点过于粗略,甚至没有介绍每一个内置函数的的输入输出参数是什么,要想学会,只能一点一点看例程,对着例程改代码,看输出结果。

下载完成后,解压压缩包(文件名为m_map),将文件夹放在Matlab安装路径下的matlab_address/toolbox文件夹下。然后打开Matlab,点开主页中的设置路径,如图

点击添加文件夹 如图:

然后把m_map文件夹找到并选中,点击保存就可以了

为了验证你是不是安装成功了,可以在matlab命令行窗口输入help m_map,查看输出,如果安装成功,就会显示如图:

下面还有很多关于内置函数的说明,但是都很简略,这也就是你使用help查看这些内置函数的结果。

如果没有安装成功,就会显示无法找到m_map这个模块或函数。

二、高精度海岸线数据和高精度地形数据的安装

因为M_Map只支持具有1/4度分辨率的的海岸线和1度分辨率的高程数据库。但是M_Map提供了可供手动载入的更高分辨率的海岸线和测深数据库。

高分辨率海岸线数据下载:https://www.ngdc.noaa.gov/mgg/shorelines/gshhs.html

高分辨率地形数据下载:https://www.ngdc.noaa.gov/mgg/global/relief/ETOPO1/data/ice_surface/grid_registered/binary/

点开海岸线数据下载网站后,点击Download GSHHG data version 2.3.7即可

点开地形数据下载网站后,点击etopo1_ice_g_f4.zip即可

下载后,解压压缩包,将文件夹放到上面toolbox/m_map/下,然后打开m_etopo2.m(这是一个m文件),将其中的数据放置路径PATHNAME='/ocean/rich/more/mmapbase/etopo2v2/';修改为你自己的放置路径,这样海岸线数据路径就配置好啦。

打开m_gshhs.m同样将路径修改为你自己的数据存放路径即可

猜你喜欢

转载自blog.csdn.net/m0_63859672/article/details/128649009