Matlab中mmap的使用

其实网上有很多的使用方法了,但是在整个使用过程中还是会遇到很多的问题
说真的,百度打法是真的好,遇到问题多百度
做个小小的记录和总结

我对matlab的理解就是矩阵的计算,所以很单纯不会包括地理信息,而mmap就是给数据赋上地理信息

1. 下载

地址官网,可以找到.zip的下载,官网上也有很多使用例子
别想太多,这个简单理解就是一个fuction的合集,用来完成地理画图的

2.安装

  1. 解压(安装在哪真的问题不大,尽量不要安装在c盘)
  2. 设置为路径即可(在环境中—>设置路径—>添加并包含子文件夹)
    以上的意思,就是把mmap包含的function添加到路径中了,这样在之后的使用中直接y=函数(x,options); 就可以了,不需要load(函数)了

在这里插入图片描述
在这里插入图片描述

3. 使用

等高线图主要是利用contour/contouf
而对于mmap来水就是利用m_contour了,命名规则基本是在前面加m_
对于这个等高线,总是会考虑是不是需要转置
以下是使用方式,meshgrid可以理解为将每个格点赋予经纬度信息(因为每个格点是两个信息定位的)

[X,Y]=meshgrid(lon,lat); % lon lat是单序列信息,包含着经纬度信息,升序降序是和sj一致,就不需要考虑是否需要转置
contour(X,Y,sj)
% 这个用法和m_map中的用法一致的

在画图过程中最基础的函数就是m_proj、m_contourf、 m_coast、m_grid、m_maskmap、m_mapshow
通过m_proj可以选择需要的地理信息投影方式,例如莫卡托投影等,以及需要绘制的范围
m_contourf画等高线图
m_coast 画海岸线
m_grid给图添加经纬度
m_maskmap加mask文件,就是类似于添加边界
m_mapshow显示shp
以上具体请参考说明文件或者直接百度,相信比我写出来快的多多多

m_proj('Mercator','lon',[double(min(lon)) double(max(lon))],'lat',[double(min(lat)) double(max(lat))]);
% 以上 [double(min(lon)) double(max(lon))]这个是指经度的取值范围,一定是[min max],这样就设置完了,数据的格式与这个没有任何关系,这个就是底图的范围,画等高线是下一步
[X,Y]=meshgrid(lon,lat); % X是经度,Y是纬度
m_contourf(X,Y,sj)
% 以上, 只要你对应的 sj如果是[lon×lat]就是需要转置,如果是[lat×lon]不要转置

小技巧

经常作图的话,可以将绘图设置写成一个函数,方便使用,不用每次都设置

fuction picture_own(lon,lat,sj,…)

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值