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

matlab如何添加M_map工具箱

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 pulbieup 于 2020-3-16 10:29 编辑
2 h; L. @, D% G2 j! [! g
' u8 b2 E/ h- f. S- M  m5 W9 }之前转载过matlab画世界地图的文章。最近正好用到。首先试了matlab自带的worldmap,感觉画出来的图形不尽如人意,比较杂乱。如下图。
7 M% n3 c: e& o) D/ N$ h7 X! H! @$ z" U, L: \6 N( z

6 b$ S5 x2 d  F+ E" z查阅了些资料,请教了Liangjing,一致推荐m_map。为了达到想要的效果,这次只要不再偷懒,下载M-Map工具箱(http://www.eos.ubc.ca/~rich/map.html)并进行安装。所幸过程比较顺利,现记录如下,回头把画出的效果图再添上。其他matlab的toolbox安装,也可参考进行。8 T5 p8 R' F, D- i( O
' C# V% O! v0 Z0 H; u
----------------------------------------
4 S, x1 P; S' j) S+ h9 Y0 B9 ~# T! U- m! w2 h7 C% U8 @3 e% S
M_map的User Guide教的,matlab安装目录请自行参考自己的电脑。5 g4 B. M; a: R1 E! A2 ~9 V. h

" j9 }2 z3 b7 ~1、将M_map.zip工具箱内容解压缩,至'C:Program FilesMATLABR2009atoolboxmatlabm_map'. A/ V& p0 }1 Z# K& v% S8 C
5 x5 d3 Q( ~! |+ Z2 W
2、找到'C:Program FilesMATLABR2009atoolboxlocalpathdef.m'文件,打开,并把1中的路径添加到该文件中,保存。) C5 M8 ?7 y2 D& t1 G* M5 O
3 i+ z' t0 g  @4 v2 S/ P
matlabroot,'toolboxmatlabplottools;', ...4 L6 ?* o( |8 ^& s2 |4 X7 w+ l
matlabroot,'toolboxlocal;', ...# `- n) L4 Z/ W$ f
matlabroot,'toolboxsharedcontrollib;', ...
1 T, N! m/ l# @: i6 Nmatlabroot,'toolboxshareddastudio;', ...
* k+ P$ H9 U  o: ^( jmatlabroot,'toolboxmatlabdatamanager;', ...
- u( o1 s/ y2 {/ r" O' wmatlabroot,'toolboxmatlabm_map',...           %这里不需加分号“;”" O+ ~; v8 Z, \- `
%%% END ENTRIES %%%
6 P5 E) l; `$ g" E- U2 o3 j6 _9 H. V& i( y7 m
3、运行 rehash toolboxcache 命令,完成工具箱加载
) b% W' q  _' F8 @* i9 S
1 ]2 R$ L% d. V8 N2 r0 q; G>>rehash toolboxcache
/ _" C. [! L# @8 Q% M% ]  |8 ?/ _+ @
6 M$ ~$ o$ N+ v4 o$ r6 y5 u========以上,完成加载==============================( C3 J# p+ e6 a. l* z  y1 T" I

# @2 G9 v$ v# g( R========以下,测试是否成功===========================
$ I+ j- U* U. @. I- j5 a! A
1 j+ w* V  ^3 C8 p9 K4 S" _test1:运行" A) |1 E: q. V2 N$ f4 r

& a0 ?- i5 |8 {1 w/ e& R" \( A0 V' R>>what m_map
% A; Z& X; r9 u! T  j  W, B0 d: g: V3 F7 M: U0 y% b7 u0 K/ z
得到的结果类似dos中的dir命令,即可。" P: o7 m  f" y, h+ v

: n# `/ T+ g( p+ h# iM-files in directory C:Program FilesMATLABR2009atoolboxmatlabm_map
" f5 M8 o4 K( I6 P, [) c5 Q. l7 \  F) A2 {/ u
Contents        m_grid          m_ll2xy         m_scale        
  s. a, z  G% ~% u8 R7 C, `m_coast         m_gshhs         m_lldist        m_tba2b        
* K% w; O4 O5 mm_contour       m_gshhs_c       m_mag2geo       m_tbase        
' I4 l$ P0 u* ^3 e2 j- s% j( x/ km_contouRF      m_gshhs_f       m_patch         m_text         ' y$ R1 Z0 D9 Q( f' _( I* w2 H
m_coord         m_gshhs_h       m_pcolor        m_track        2 D# _) f' [( l, U& ?9 \
m_demo          m_gshhs_i       m_plot          m_ungrid       7 ?2 ]4 E1 n# y8 h, F  t& c
m_elev          m_gshhs_l       m_plotbndry     m_usercoast   
6 j+ Z% s* `/ bm_etopo2        m_hatch         m_proj          m_vec          % R1 N  [. `! T8 }2 `3 r
m_fdist         m_idist         m_quiver        m_xy2ll        
- @3 ]9 \. W8 ~. U0 xm_geo2mag       m_legend        m_range_ring    m_xydist      
: ]2 x, z, u7 ^. mm_geodesic      m_line          m_ruler        
, I# j% L, X" q- _
7 M. x% j; h2 V0 {3 U) E# utest2:测试demo& q6 }* K! k5 h; U- T
4 V: H1 a" Y. c% U% y
>>m_proj('oblique mercator');
# ~8 y+ e& B: p+ z& S% rm_coast;
2 {$ L7 o% [- q8 g& b- Vm_grid;9 Q1 L( d& o7 h6 N' u

; v8 `/ K# I8 l3 G) x4 k, _
4 j- e" o" r9 Z7 J. E3 P
% |; v) E3 |5 }------------------------------4 x4 p: I/ E) i9 @+ k8 x
) A( D1 M% c2 H; F5 ~  y1 W' D3 q! J
m_map工具箱画出的图(edit at 23:00 2011-04-28)0 x. M6 u5 y# W" K* k/ b

: d, G4 O: Z/ G; B( ^8 ~. ^6 | % @% S1 U  d1 G$ h8 i" j* f, @) K

/ l% d2 T3 @  K3 ?# b( q/ e# y %--------------------------------------------------------------------, v8 d! t3 W( d3 l
, U) M9 i# ?0 I' I- P- z7 o
figure) E/ M: ?+ m) m! B3 V7 p
P=A11;%%%%%%%%%%%%%%%这个就是你取出来的GRACE数据 如a(:,: )=grace(i,:,: );- H: I+ ?; l8 \# k$ r1 V
lo=0.5:359.5;
: e% d  I% p4 C7 ?2 x/ a( F0 Ola=-89.5:89.5;
( e1 V0 O+ b# t3 N$ r* {9 C[lo,la]=meshgrid(lo,la);
# }+ h8 c7 }4 ~9 }0 x4 tm_proj('Equidistant Cylindrical','lon',[0.5,359.5],'lat',[-89.5,89.5]);+ ]/ H, s; `9 Z# b. o# E( o
m_pcolor(lo,la,P);hold on;
  y& `6 t- {3 \, P9 Xshading flat;7 I) a0 x( g/ B3 B6 q8 c( ]( x
m_grid('box','fancy');
3 y5 ~" `& _* b, |$ x9 z3 d* ]hold on;# |% p2 F7 U% r6 |7 C0 X

6 A) J4 o* F( x8 E) V% l# L8 r-----------------------画出的图示-----------------------  W) J( d2 V) a" g. z, g
/ u4 z; ]8 _6 Y: t" F! ]

* F0 m5 P& u/ C* `5 H! b5 X" V" |& y# c4 X6 ]' d
====================================
! r3 Z6 D+ Z/ Q1 P) {- c  [+ ?
" Y& ]& a2 r- ?* E& _  N+ Gmatlab的m_map工具箱及添加行政边界底图3 M( J  C# F8 X6 b
9 ~( D# ]* B1 ]
转自:http://hi.baidu.com/blucas/blog/ ... 417087b901a014.html7 L; T& c- z9 q$ {& |
对习惯使用matlab的人来说,m_map是一个很好的绘制地图的免费工具箱。可以选择的投影种类近20种,包括常用的Lambert、 Mercator、UTM等。可以测量距离( m_lldist, m_xydist ),绘制等值线(m_contour),等值线填充图(m_contourf),矢量图(m_quiver),栅格图(m_pcolor)等,并与相应的 matlab函数语法类似,很容易使用。  \6 R, t! y2 e' e
m_map通过m_coast提供1/4 degree分辨率的全球海岸线,通过下载GSHHS可以得到更高分辨率的海岸线数据。
2 n7 `4 r' b4 Q8 E4 r. u除海岸线外,还可以利用已有的GIS行政边界资料,在地图上添加行政边界底图。具体作法为:下载.shp格式的行政边界文件( 国家基础地理信息系统的下载服务),将下 载的.shp文件通过mapinfo转换成.dxf文件,利用已编译好的fortran程序,读取经纬度信息,输出.dat文件。导入matlab空间, 可以直接m_plot,也可以调用m_plotbndry()。. z# `& X9 W, k( F) Q- |. A
通过以上方法可以实现.shp在matlab绘图中的应用。

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-1 14:03 , Processed in 0.156250 second(s), 26 queries , Gzip On.

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

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

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