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

matlab如何添加M_map工具箱

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 pulbieup 于 2020-3-16 10:29 编辑 ( ~+ D8 _  p8 D" z* y
6 {8 R0 w' H# T; t+ _- u: K
之前转载过matlab画世界地图的文章。最近正好用到。首先试了matlab自带的worldmap,感觉画出来的图形不尽如人意,比较杂乱。如下图。& P* x, ~; p. {! t3 R

" ~8 U9 Y; y; O! N2 y
2 `$ w+ l' J8 B$ E查阅了些资料,请教了Liangjing,一致推荐m_map。为了达到想要的效果,这次只要不再偷懒,下载M-Map工具箱(http://www.eos.ubc.ca/~rich/map.html)并进行安装。所幸过程比较顺利,现记录如下,回头把画出的效果图再添上。其他matlab的toolbox安装,也可参考进行。. b2 H, i  R  y* V  X; H
' i& }6 @1 L! ~! W
----------------------------------------8 @& f& ]) l! r  b
3 G) [% I1 O3 d9 ^
M_map的User Guide教的,matlab安装目录请自行参考自己的电脑。7 }. ]  H' s/ P. s; L6 ?0 [; C
. D4 [1 F3 I& R  m/ i9 C- W( _
1、将M_map.zip工具箱内容解压缩,至'C:Program FilesMATLABR2009atoolboxmatlabm_map'
2 M- i# h5 A0 e( C1 Y6 s; |; E, i8 ^: s
2、找到'C:Program FilesMATLABR2009atoolboxlocalpathdef.m'文件,打开,并把1中的路径添加到该文件中,保存。
2 }# q  R3 ]1 M  ?3 U* N, {
2 A1 T# f; p& kmatlabroot,'toolboxmatlabplottools;', ...+ k1 \4 k2 Y) r2 x! s" }7 L4 Z
matlabroot,'toolboxlocal;', ...
: Y0 j* Y& {* ^9 H4 `; h( Pmatlabroot,'toolboxsharedcontrollib;', ...# h. R3 {5 f' r5 b/ W  s; V+ c% V
matlabroot,'toolboxshareddastudio;', ...
$ V8 ^) N* ~, `: L' imatlabroot,'toolboxmatlabdatamanager;', ...7 ]7 }! x, a/ E" E4 e& V. W
matlabroot,'toolboxmatlabm_map',...           %这里不需加分号“;”
8 z- O& q4 I/ \& I%%% END ENTRIES %%%! G/ J+ u! B+ J
! v( J0 r* K4 z$ I$ e1 W( D: S
3、运行 rehash toolboxcache 命令,完成工具箱加载  }$ N/ I2 L5 C/ E/ A. N
$ i$ l1 [* \& w( m- h
>>rehash toolboxcache
  N5 f$ A* r: ^- \: Z  o" Z% q8 }. K! X; R1 ?. P( i
========以上,完成加载==============================* X2 M8 y( i+ z- X$ `  ~; x/ g. o+ c

( Q9 t& N8 S. x. ?% j( l========以下,测试是否成功===========================
+ I% f7 R2 l# W4 l/ @6 V0 g' Q' U& q! @
test1:运行0 i+ z9 B$ N7 `) T
; ~% _1 ~9 R( m2 ~# f
>>what m_map
6 O/ H# B2 n" C$ g6 b2 H0 v
; V# X$ V6 T' ]得到的结果类似dos中的dir命令,即可。
: R. E* O2 `% Z6 t0 @+ y
7 D6 k2 V7 m" _4 n& s' w8 mM-files in directory C:Program FilesMATLABR2009atoolboxmatlabm_map! M6 Z* H: n, z# y
3 H" O* {& Y9 G& e1 k* x& N
Contents        m_grid          m_ll2xy         m_scale        
! d9 i+ T' k( qm_coast         m_gshhs         m_lldist        m_tba2b        3 u. H/ h* i6 |
m_contour       m_gshhs_c       m_mag2geo       m_tbase        
# v+ z9 T9 j" I0 X" ?# Q2 \" Y$ Xm_contouRF      m_gshhs_f       m_patch         m_text         
( a' d7 {" ?) D/ Nm_coord         m_gshhs_h       m_pcolor        m_track        
8 H1 v: R" x6 t1 b8 B. |m_demo          m_gshhs_i       m_plot          m_ungrid      
* K, e2 ^" f' z8 @5 q7 Qm_elev          m_gshhs_l       m_plotbndry     m_usercoast   
) H* m& n; [9 Bm_etopo2        m_hatch         m_proj          m_vec         
7 T0 |3 }/ J- L: B) H, O" |m_fdist         m_idist         m_quiver        m_xy2ll        $ u* e9 r4 [4 }# ~
m_geo2mag       m_legend        m_range_ring    m_xydist       & \& u- _  F% u' c7 }  q1 `
m_geodesic      m_line          m_ruler        ' ^/ {) z% D: i" ?% u

4 f, l, s' W' n9 Atest2:测试demo
+ y7 H8 g2 R6 a# i4 l1 ^2 o: r0 X9 M7 G% z' g
>>m_proj('oblique mercator');9 ?% @3 b, O* v9 |
m_coast;* {4 b7 J& M: U0 T7 ~; S7 h
m_grid;
8 k$ Q* S0 N8 l! H2 |/ ^' i7 m0 Y+ r9 p& t  z4 y5 O

) t% V' ^$ U  i7 e- r6 K9 W+ J" _/ Q. G0 Q* @. {' _% F
------------------------------
3 |3 a$ L8 e0 w$ B  |. n
9 O( M* \' Z0 b+ ~4 O' T% q" Mm_map工具箱画出的图(edit at 23:00 2011-04-28)! E, Q! h% P9 P0 ~6 e
" o; n2 m4 l2 [
% O5 x0 S& Q2 ]
. u4 I; L! b0 U* ~
%--------------------------------------------------------------------2 p: E( _3 M$ C
3 F1 Q( X! \3 k
figure
; r& y/ p! t# UP=A11;%%%%%%%%%%%%%%%这个就是你取出来的GRACE数据 如a(:,: )=grace(i,:,: );0 x  a: t% W/ Q* P9 q9 q4 d0 M
lo=0.5:359.5;
' q6 O$ P* V* o8 kla=-89.5:89.5;" G9 m( U; b, n: Q; W
[lo,la]=meshgrid(lo,la);
4 n9 _8 x0 t! h) D! nm_proj('Equidistant Cylindrical','lon',[0.5,359.5],'lat',[-89.5,89.5]);
5 V. y8 k( ?0 gm_pcolor(lo,la,P);hold on;
! w+ @7 o9 H# r/ n* Nshading flat;5 j3 O8 r, d& k4 ?4 M' i3 l7 X
m_grid('box','fancy');1 t1 _) N. d6 K- b7 {8 ?
hold on;* a/ ~9 Z* O5 ^: q9 V9 h' s

% L- c: q. w# g-----------------------画出的图示-----------------------
& u1 g4 t" z, o  A( m1 g# k, u1 v. x6 |

% Q1 d; F, Y& ~& J7 w, s' d& I
====================================
0 n1 w! N+ r2 e" F- l  p6 ?+ q/ r$ [" z0 ]5 F: k# M/ r( \; ~/ q- X0 g5 ]
matlab的m_map工具箱及添加行政边界底图* q0 ]9 m0 j( ?- ^1 S4 `6 s$ Q

$ l, ~& O' _3 b0 O8 X转自:http://hi.baidu.com/blucas/blog/ ... 417087b901a014.html
; u! q/ F8 a6 T+ X" \. t+ |3 w对习惯使用matlab的人来说,m_map是一个很好的绘制地图的免费工具箱。可以选择的投影种类近20种,包括常用的Lambert、 Mercator、UTM等。可以测量距离( m_lldist, m_xydist ),绘制等值线(m_contour),等值线填充图(m_contourf),矢量图(m_quiver),栅格图(m_pcolor)等,并与相应的 matlab函数语法类似,很容易使用。, T( x+ z4 t% x# ~. `
m_map通过m_coast提供1/4 degree分辨率的全球海岸线,通过下载GSHHS可以得到更高分辨率的海岸线数据。
' ~5 P; Y+ T- ~, l: N, r/ t  ^除海岸线外,还可以利用已有的GIS行政边界资料,在地图上添加行政边界底图。具体作法为:下载.shp格式的行政边界文件( 国家基础地理信息系统的下载服务),将下 载的.shp文件通过mapinfo转换成.dxf文件,利用已编译好的fortran程序,读取经纬度信息,输出.dat文件。导入matlab空间, 可以直接m_plot,也可以调用m_plotbndry()。
& ^+ k& A/ U  E通过以上方法可以实现.shp在matlab绘图中的应用。

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-4 07:20 , Processed in 0.140625 second(s), 26 queries , Gzip On.

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

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

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