找回密码
 注册
关于网站域名变更的通知
查看: 685|回复: 1
打印 上一主题 下一主题

怎样给matlab添加M_map工具箱

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-4-21 10:49 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 mytomorrow 于 2020-4-21 10:50 编辑
  V' K2 n2 B, _. G, f% x! V' K  }

首先试了matlab自带的worldmap,感觉画出来的图形不尽如人意,比较杂乱。如下图。

  Y: b% o/ Q5 `! n0 C# v+ r
+ c1 N+ x, l# t% A+ ]5 P0 `# R" V
查阅了些资料,请教了Liangjing,一致推荐m_map。为了达到想要的效果,这次只要不再偷懒,下载M-Map工具箱并进行安装。所幸过程比较顺利,现记录如下,回头把画出的效果图再添上。其他matlab的toolbox安装,也可参考进行。

----------------------------------------

M_map的User Guide教的,matlab安装目录请自行参考自己的电脑。

1、将M_map.zip工具箱内容解压缩,至'C: Program FilesMATLABR2009atoolboxmatlabm_map'

2、找到'C: Program FilesMATLABR2009atoolboxlocalpathdef.m'文件,打开,并把1中的路径添加到该文件中,保存。

matlabroot,'toolboxmatlabplottools;', ...
: t! u, {# ^- o" T8 A/ N4 tmatlabroot,'toolboxlocal;', ...8 u3 O; d2 O5 n( w
matlabroot,'toolboxsharedcontrollib;', ...
6 C+ V  b* h1 ]2 Q& |) [0 z- \matlabroot,'toolboxshareddastudio;', ...: ]! K& k4 Y- `) U/ s* W/ O, B
matlabroot,'toolboxmatlabdatamanager;', ...
% a  p" U) U" Smatlabroot,'toolboxmatlabm_map',...           %这里不需加分号“;”1 h4 ^6 L# N/ `! q* x: M5 r
%%% END ENTRIES %%%

3、运行 rehash toolboxcache 命令,完成工具箱加载

>>rehash toolboxcache

========以上,完成加载==============================

========以下,测试是否成功===========================

test1:运行

>>what m_map

得到的结果类似dos中的dir命令,即可。

M-files in directory C: Program FilesMATLABR2009atoolboxmatlabm_map

Contents        m_grid          m_ll2xy         m_scale        8 w8 C% o- B; r: I! l, \
m_coast         m_gshhs         m_lldist        m_tba2b        
, Q5 [2 U+ C. E7 em_contour       m_gshhs_c       m_mag2geo       m_tbase        8 Y4 J$ z- d' a2 R9 D  u& A
m_contouRF      m_gshhs_f       m_patch         m_text         $ ]* T' @- [2 K8 C1 \0 K9 v
m_coord         m_gshhs_h       m_pcolor        m_track        0 C. i8 G% ~- \$ Q( C' \# A
m_demo          m_gshhs_i       m_plot          m_ungrid       . J' @7 N& {2 a2 v4 w1 J( [$ r
m_elev          m_gshhs_l       m_plotbndry     m_usercoast    - u! v4 G# B1 X$ f* D3 W
m_etopo2        m_hatch         m_proj          m_vec          3 }1 F* l4 R+ M2 ~; m
m_fdist         m_idist         m_quiver        m_xy2ll        ! c% h: l0 a! X; ?  U! o) A9 N" x
m_geo2mag       m_legend        m_range_ring    m_xydist       8 X2 v* v( ?7 X& z* {
m_geodesic      m_line          m_ruler        

test2:测试demo

>>m_proj('oblique mercator');6 O' X$ L4 X) D2 S* a0 H
m_coast;, X7 P' C5 y7 z6 M# N" k
m_grid;


. D: J2 q: h  J- r* }7 @2 Z
5 M$ i) r$ f- }5 G, T

------------------------------

m_map工具箱画出的图(edit at 23:00 2011-04-28)

* B: Y2 O; }9 V# ?, @

* E' r1 x& b2 i

, x/ o! @! u4 D
%--------------------------------------------------------------------

figure) Z+ y4 U1 w: ^+ O* Z  p( e
P=A11;%%%%%%%%%%%%%%%这个就是你取出来的GRACE数据 如a(:,: )=grace(i,:,: );' {6 N0 I" s% a/ U0 V7 ]: B
lo=0.5:359.5;: T' T) d% b9 S: o1 b: @- a
la=-89.5:89.5;
1 d9 H& W* ]$ `4 p6 u[lo,la]=meshgrid(lo,la);: \3 I1 n/ |) f& d/ M; ?
m_proj('Equidistant Cylindrical','lon',[0.5,359.5],'lat',[-89.5,89.5]);
9 I: b# O6 P8 I- ?6 q! z0 ^6 hm_pcolor(lo,la,P);hold on;
& C- t* ?! v9 i7 j6 n8 Z* [shading flat;1 U4 l4 \5 O/ E1 F6 X
m_grid('box','fancy');
+ ~% W6 \4 [7 g( phold on;

-----------------------画出的图示-----------------------


6 Z# H0 n  d; W4 @6 z
6 a& r8 Y2 \, `3 U. T% l; w

====================================

matlab的m_map工具箱及添加行政边界底图


9 I8 g- `- f2 b' d  J4 `4 l

对习惯使用matlab的人来说,m_map是一个很好的绘制地图的免费工具箱。可以选择的投影种类近20种,包括常用的Lambert、 Mercator、UTM等。可以测量距离( m_lldist, m_xydist ),绘制等值线(m_contour),等值线填充图(m_contourf),矢量图(m_quiver),栅格图(m_pcolor)等,并与相应的 matlab函数语法类似,很容易使用。
/ S3 h  [6 |8 T* P! F9 Qm_map通过m_coast提供1/4 degree分辨率的全球海岸线,通过下载GSHHS可以得到更高分辨率的海岸线数据。. R2 F( Z9 [& @2 a0 s
除海岸线外,还可以利用已有的GIS行政边界资料,在地图上添加行政边界底图。具体作法为:下载.shp格式的行政边界文件( 国家基础地理信息系统的下载服务),将下 载的.shp文件通过mapinfo转换成.dxf文件,利用已编译好的fortran程序,读取经纬度信息,输出.dat文件。导入matlab空间, 可以直接m_plot,也可以调用m_plotbndry()。) G0 ?. F+ `2 V( J
通过以上方法可以实现.shp在matlab绘图中的应用。
+ L' Q5 m6 r: p: p! v: D% X8 W$ ~1 Q" p4 V% }: X
# q& v/ ~9 M& v6 B& w4 Z$ G- g

. s. P* `) m( S

该用户从未签到

2#
发表于 2020-4-21 13:34 | 只看该作者
给matlab添加M_map工具箱
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 05:34 , Processed in 0.156250 second(s), 27 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表