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

matlab如何添加M_map工具箱

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 pulbieup 于 2020-3-16 10:29 编辑
5 a8 ^, A5 W$ B  a1 W! I; t9 W, H! b6 h9 T
之前转载过matlab画世界地图的文章。最近正好用到。首先试了matlab自带的worldmap,感觉画出来的图形不尽如人意,比较杂乱。如下图。
3 B/ f6 ]) }4 Z7 p) |  T5 n. p2 G: q. t2 C! ?# `

! w7 S, J$ `( s: v2 B) f0 i查阅了些资料,请教了Liangjing,一致推荐m_map。为了达到想要的效果,这次只要不再偷懒,下载M-Map工具箱(http://www.eos.ubc.ca/~rich/map.html)并进行安装。所幸过程比较顺利,现记录如下,回头把画出的效果图再添上。其他matlab的toolbox安装,也可参考进行。0 }- g/ Q% {9 L% w) L% r

" J4 g+ B# a+ u3 d----------------------------------------
( a  \! C9 m! Q7 Z; j3 y' m
- i0 L3 ~8 U, q6 jM_map的User Guide教的,matlab安装目录请自行参考自己的电脑。8 u0 f# s) ?. x  ?

8 S- K- ^/ a0 g' m. r* l  _1、将M_map.zip工具箱内容解压缩,至'C:Program FilesMATLABR2009atoolboxmatlabm_map'
7 p) y$ e+ K1 M& `8 z" V+ c( U3 j& o! t& H
2、找到'C:Program FilesMATLABR2009atoolboxlocalpathdef.m'文件,打开,并把1中的路径添加到该文件中,保存。
& T& a* z8 e- M$ }, s( D, G* W) f+ @! m: b: b
matlabroot,'toolboxmatlabplottools;', ...
- F& b8 g# @% i  \- L+ dmatlabroot,'toolboxlocal;', ...2 Y( `6 T8 G& l6 r! E6 O6 m
matlabroot,'toolboxsharedcontrollib;', ...
  C# e1 h9 o: @( n# P. X( d. amatlabroot,'toolboxshareddastudio;', ...
, l' |2 |% e' h2 |+ n, @matlabroot,'toolboxmatlabdatamanager;', ...: ~8 {  _4 c( b" s" `
matlabroot,'toolboxmatlabm_map',...           %这里不需加分号“;”3 ?$ b, @# `, W. ]! y& F
%%% END ENTRIES %%%9 P7 h  O, A5 D9 |3 Z! W

1 b0 M8 y; K0 X% |# a3、运行 rehash toolboxcache 命令,完成工具箱加载
, N2 x' d& J. @7 i7 o5 N; j, g# a# D% t# x
>>rehash toolboxcache1 z& g6 p! v# A. ?. K

0 P- r5 h' i0 ?6 E9 {- t6 i========以上,完成加载==============================
6 v) A5 @% v7 x: Y3 l# x# l! Y3 {- b# v. i/ s1 x% w2 P" t
========以下,测试是否成功===========================; F+ ?6 a9 B# v

# q& s, ?0 C( O9 mtest1:运行
+ M7 R2 X* o6 G9 ?3 o/ H. J& C( c9 D: t: Q3 N
>>what m_map
1 ^- w9 l1 Q  ?, K# Q5 R  h# x' Q8 A8 M' p4 K2 b3 U1 {0 U
得到的结果类似dos中的dir命令,即可。& m0 i* I5 c9 j7 Y
- W, ~3 Y2 Z" |% e( K
M-files in directory C:Program FilesMATLABR2009atoolboxmatlabm_map. a! l! g- q, d  b7 X

- e7 R) }8 ~4 ^4 i, ]$ RContents        m_grid          m_ll2xy         m_scale        
& l: Z3 F2 o9 u# }1 {m_coast         m_gshhs         m_lldist        m_tba2b        
5 N- J* p: K3 Q% H# M+ pm_contour       m_gshhs_c       m_mag2geo       m_tbase        ' y& W; N- \8 `. c) O4 _
m_contouRF      m_gshhs_f       m_patch         m_text         
: \$ S7 X) L" dm_coord         m_gshhs_h       m_pcolor        m_track        ; d% X, n1 Y/ G2 ], U
m_demo          m_gshhs_i       m_plot          m_ungrid      
' D9 a: c% A4 V, Y0 t$ f  Um_elev          m_gshhs_l       m_plotbndry     m_usercoast   
$ K0 a& v8 j  X  n2 [. Q. qm_etopo2        m_hatch         m_proj          m_vec          * O% M1 e2 V" s. v) m1 @
m_fdist         m_idist         m_quiver        m_xy2ll        
: |; ~% q% N6 r! o) W, pm_geo2mag       m_legend        m_range_ring    m_xydist      
) t( R% u3 w) l7 g& _1 C* gm_geodesic      m_line          m_ruler          h# J3 e+ I' @. W4 B; y. d$ G7 |
+ Y' W( [. [2 i9 P
test2:测试demo
, ^8 ]# X9 Q1 ^4 e0 R& ?
) G; s0 Z! V( p5 G# F>>m_proj('oblique mercator');3 C1 `7 h4 `- X& b; ?) F7 `; r
m_coast;
# u4 s3 A' v3 _' J( g7 r+ N& `5 F: c" vm_grid;# k7 [& I8 y5 y1 v8 @: K
7 g5 z2 V2 e# e- ?# v2 r) \
4 U3 A$ ?6 e" N8 i
) U- @" N( [9 j! p4 X
------------------------------: A7 z5 q0 _2 H/ p! D4 i7 u& X" F: a
8 U' l7 P* Z8 n  D/ P. J
m_map工具箱画出的图(edit at 23:00 2011-04-28)
3 G- ~7 ~; U% b9 l- l; K5 _
. `; [/ j5 P" V% O+ Z- l. L$ B0 C2 `3 U
1 t3 D) ]7 w" @0 g
, S6 j* h& s1 J& V, } %--------------------------------------------------------------------" e- O( d6 W8 C

% F1 ?4 W0 E% J- Ofigure; h% ?  G+ l( j
P=A11;%%%%%%%%%%%%%%%这个就是你取出来的GRACE数据 如a(:,: )=grace(i,:,: );2 r  Z$ a& i( L
lo=0.5:359.5;  W+ _4 B5 o) u6 i+ U
la=-89.5:89.5;
/ U: D$ [  q. M' X, |9 p9 ^$ s5 l! \# D[lo,la]=meshgrid(lo,la);. M& }/ M# q- a) K7 B; q! R
m_proj('Equidistant Cylindrical','lon',[0.5,359.5],'lat',[-89.5,89.5]);
/ _0 r, G  a; l5 I% n4 n: @% hm_pcolor(lo,la,P);hold on;3 W& s2 X8 D; @' W$ b
shading flat;
, J% u+ j4 `+ V( ^0 _m_grid('box','fancy');/ Z% [5 m/ s! d, P  N& {2 p1 [
hold on;
0 ]* t# @% z9 y5 X/ m2 C/ t
: @! H7 ?* l. P; i. @/ ~; l; r! ]-----------------------画出的图示-----------------------8 Z+ I4 P! C6 m( e0 `$ \

6 F+ q. c8 A0 Z; A" i3 B9 ?, E ' i& d' Y- B7 r. c/ Z) J

- \+ ~9 L5 u  O====================================$ ]6 V0 j2 M0 y0 u: g: h. c" C
1 o: x' F& [3 b/ X  F4 e
matlab的m_map工具箱及添加行政边界底图
! H" v7 P2 W+ c- T' n+ M
, J( J1 {  |& T转自:http://hi.baidu.com/blucas/blog/ ... 417087b901a014.html; d) _! y. H0 t1 X3 W# |
对习惯使用matlab的人来说,m_map是一个很好的绘制地图的免费工具箱。可以选择的投影种类近20种,包括常用的Lambert、 Mercator、UTM等。可以测量距离( m_lldist, m_xydist ),绘制等值线(m_contour),等值线填充图(m_contourf),矢量图(m_quiver),栅格图(m_pcolor)等,并与相应的 matlab函数语法类似,很容易使用。
5 {1 o( o* N- P$ K+ um_map通过m_coast提供1/4 degree分辨率的全球海岸线,通过下载GSHHS可以得到更高分辨率的海岸线数据。
/ P- f& W0 V2 e% N5 g除海岸线外,还可以利用已有的GIS行政边界资料,在地图上添加行政边界底图。具体作法为:下载.shp格式的行政边界文件( 国家基础地理信息系统的下载服务),将下 载的.shp文件通过mapinfo转换成.dxf文件,利用已编译好的fortran程序,读取经纬度信息,输出.dat文件。导入matlab空间, 可以直接m_plot,也可以调用m_plotbndry()。( A$ d$ j# s: @5 V$ F
通过以上方法可以实现.shp在matlab绘图中的应用。

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 08:22 , Processed in 0.156250 second(s), 26 queries , Gzip On.

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

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

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