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

matlab如何添加M_map工具箱

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 pulbieup 于 2020-3-16 10:29 编辑
& [7 k; A0 ^4 k" q# H# c) p. R, @# D' i! `6 q
之前转载过matlab画世界地图的文章。最近正好用到。首先试了matlab自带的worldmap,感觉画出来的图形不尽如人意,比较杂乱。如下图。
1 D  l' h2 N0 {" J4 H; u0 p2 W3 I5 \  Z. Z6 k' A: K) }

' X1 K) |# S) ^查阅了些资料,请教了Liangjing,一致推荐m_map。为了达到想要的效果,这次只要不再偷懒,下载M-Map工具箱(http://www.eos.ubc.ca/~rich/map.html)并进行安装。所幸过程比较顺利,现记录如下,回头把画出的效果图再添上。其他matlab的toolbox安装,也可参考进行。
* T$ m$ D8 _/ \. @
3 p' g" t4 @1 F3 @* m/ A+ m----------------------------------------+ T/ a. d5 Q% K  ?5 G
" {. F6 c( m- @4 {
M_map的User Guide教的,matlab安装目录请自行参考自己的电脑。! S% Q  J# P5 x+ F# l

2 l7 T, ~1 v$ D5 @- x1、将M_map.zip工具箱内容解压缩,至'C:Program FilesMATLABR2009atoolboxmatlabm_map'( d( ~, `4 c% {$ D& `: M
% t  Z, o' n  H5 O7 ]$ N" T" O
2、找到'C:Program FilesMATLABR2009atoolboxlocalpathdef.m'文件,打开,并把1中的路径添加到该文件中,保存。
5 |$ U# d* V  M0 }/ `8 E4 h6 [8 ]4 V5 A% i
matlabroot,'toolboxmatlabplottools;', ...; i8 E" e* A3 V) h% w3 B1 e0 ]* i
matlabroot,'toolboxlocal;', ...
/ e, B- u) V# K/ dmatlabroot,'toolboxsharedcontrollib;', ...
" x/ U5 w, d, ]# A, qmatlabroot,'toolboxshareddastudio;', ...
% l; w5 a* @2 I, ^$ m! o  dmatlabroot,'toolboxmatlabdatamanager;', ...
. g4 M5 X4 r6 V+ q& i% ?5 ~matlabroot,'toolboxmatlabm_map',...           %这里不需加分号“;”% R' E" l& N# T: p$ J. z, Y; K
%%% END ENTRIES %%%0 {( W* g$ a5 J9 @) ^
+ K' X5 s8 n& _- i) n0 N; u% J: R* {
3、运行 rehash toolboxcache 命令,完成工具箱加载; \: n+ A$ P7 E7 U) F

% c. {8 A2 Q+ g' g6 I1 U3 K/ b>>rehash toolboxcache& b) K' J7 p' i6 _. m" r: w8 P
8 c3 E! l1 t% v9 T1 Q
========以上,完成加载==============================
) k) P: z  c$ A, ]/ x- n2 G; o& I( a. O1 \2 w
========以下,测试是否成功===========================% i: @1 F# J" _) M
" n( A# F& u3 V
test1:运行
- Q# V2 [4 h7 ~$ G1 s, r0 e$ I" J: _. d
>>what m_map7 y$ `: d) ?6 L. a: z
  L% R' e0 h. l+ T8 T- J$ k0 q
得到的结果类似dos中的dir命令,即可。
) Z' r  {1 l4 l8 C0 w
4 \, f) P! C! ?6 }, ]0 iM-files in directory C:Program FilesMATLABR2009atoolboxmatlabm_map
6 u3 ?6 l$ g- D0 z. m+ Q/ Y3 b! o+ I* w1 t
Contents        m_grid          m_ll2xy         m_scale        
7 l% H- c7 C# z9 a0 `m_coast         m_gshhs         m_lldist        m_tba2b        
( q! U- h% {/ qm_contour       m_gshhs_c       m_mag2geo       m_tbase        
8 n+ C9 |" X6 \; p, B) Sm_contouRF      m_gshhs_f       m_patch         m_text         
0 X% w4 u& J7 K8 v- T  Dm_coord         m_gshhs_h       m_pcolor        m_track        
. X1 A! A3 i; am_demo          m_gshhs_i       m_plot          m_ungrid      
; Y" U# u( P+ {2 P! Am_elev          m_gshhs_l       m_plotbndry     m_usercoast   
! D5 c- X/ W3 |* }1 Tm_etopo2        m_hatch         m_proj          m_vec          8 X2 w. A4 H' g1 ]/ j5 Q9 l
m_fdist         m_idist         m_quiver        m_xy2ll        
0 l9 B5 y* f) t4 O6 A" R0 l) }m_geo2mag       m_legend        m_range_ring    m_xydist      
# r/ W+ ^+ o9 q' Z$ v- H- Tm_geodesic      m_line          m_ruler        $ p1 d0 j5 C8 g. b

+ m) |, u7 ^; i% btest2:测试demo1 @3 Z, U9 z+ Q; ]9 ^5 L
* [4 S' _, M. e6 n' y; S  g) U* o
>>m_proj('oblique mercator');/ N  a6 b( s" q7 S$ W9 T* }
m_coast;6 i/ H) h( `$ d; `3 y
m_grid;
6 m' p0 V' D% F, s: Q! {- \4 ^3 W* [8 S$ B

2 ?% y7 a2 B5 ^! I* N1 ]( G) F' |$ w' m5 ~/ E1 \' r( s3 J  a  U
------------------------------
0 s* C. g, v# w# f7 i0 R2 g7 x; f4 q7 _4 K7 I0 F4 [* a
m_map工具箱画出的图(edit at 23:00 2011-04-28)# D5 f) i  }0 R: g
# r$ }% H. T7 ]# T& c
2 K5 G7 t# v# s) U+ B4 s8 [6 e& }

# u* h9 n. G/ p$ v+ D %--------------------------------------------------------------------$ U/ H2 i* E- L" g
/ i3 w1 o! U2 I2 N$ n6 o/ w6 U
figure3 o$ e2 p9 o' A! c6 t; q
P=A11;%%%%%%%%%%%%%%%这个就是你取出来的GRACE数据 如a(:,: )=grace(i,:,: );7 E5 f5 T5 z, ]
lo=0.5:359.5;
* z) T+ [1 V* Z2 R# d+ e+ G+ vla=-89.5:89.5;
( [% ^/ I+ p2 _( i; I/ N[lo,la]=meshgrid(lo,la);$ `. y! _7 j0 R0 [% @
m_proj('Equidistant Cylindrical','lon',[0.5,359.5],'lat',[-89.5,89.5]);7 d4 }% A1 {$ C  `4 q
m_pcolor(lo,la,P);hold on;; y& y) {- j0 t: e
shading flat;" b1 H( p; `9 F: G
m_grid('box','fancy');/ ~: L4 F7 |3 p* `) g& h' u* c; [
hold on;* z) |- \/ B! W; O' G; S+ y% p

: H+ e0 X. l& G( f: ^2 i" g/ l# p-----------------------画出的图示-----------------------5 s$ D, }) ]0 B+ o0 b* s: x

) F5 t8 C7 K1 u 4 T0 _, C4 T# F

9 o; @7 i* P/ T====================================
: D2 F6 g, K1 W9 ?" r0 s2 U2 O, f$ I& q& R  _1 {
matlab的m_map工具箱及添加行政边界底图
: Z5 T. Y4 {5 E% K
3 e( N' b; x, |% r* }转自:http://hi.baidu.com/blucas/blog/ ... 417087b901a014.html
2 v/ n- M7 K& l& g6 n对习惯使用matlab的人来说,m_map是一个很好的绘制地图的免费工具箱。可以选择的投影种类近20种,包括常用的Lambert、 Mercator、UTM等。可以测量距离( m_lldist, m_xydist ),绘制等值线(m_contour),等值线填充图(m_contourf),矢量图(m_quiver),栅格图(m_pcolor)等,并与相应的 matlab函数语法类似,很容易使用。( Z8 \" H9 C. k
m_map通过m_coast提供1/4 degree分辨率的全球海岸线,通过下载GSHHS可以得到更高分辨率的海岸线数据。2 o$ U; W5 ^, N1 m
除海岸线外,还可以利用已有的GIS行政边界资料,在地图上添加行政边界底图。具体作法为:下载.shp格式的行政边界文件( 国家基础地理信息系统的下载服务),将下 载的.shp文件通过mapinfo转换成.dxf文件,利用已编译好的fortran程序,读取经纬度信息,输出.dat文件。导入matlab空间, 可以直接m_plot,也可以调用m_plotbndry()。
4 @0 Y& e5 b. f6 Y: d通过以上方法可以实现.shp在matlab绘图中的应用。

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-21 03:31 , Processed in 0.140625 second(s), 26 queries , Gzip On.

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

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

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