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

matlab如何添加M_map工具箱

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 pulbieup 于 2020-3-16 10:29 编辑 ' _' p# r& e1 t* O" w

9 a6 j& F5 t* N6 P( s6 U( i之前转载过matlab画世界地图的文章。最近正好用到。首先试了matlab自带的worldmap,感觉画出来的图形不尽如人意,比较杂乱。如下图。$ X& A( l$ z$ u! }
3 w; p6 }' c3 t# [- C, N! u

- F/ D* V0 q1 P6 S! l) L* }2 k查阅了些资料,请教了Liangjing,一致推荐m_map。为了达到想要的效果,这次只要不再偷懒,下载M-Map工具箱(http://www.eos.ubc.ca/~rich/map.html)并进行安装。所幸过程比较顺利,现记录如下,回头把画出的效果图再添上。其他matlab的toolbox安装,也可参考进行。& k! T: z8 g& s

* v0 k2 V7 L- d, q- ~$ g----------------------------------------% L  _4 k* [6 z3 y! u& n
& T& c4 a# N- R! R" {4 R
M_map的User Guide教的,matlab安装目录请自行参考自己的电脑。
, R! {$ v8 t9 b1 N4 Y2 v  j
' I+ l5 W& ?3 Y+ Q( L1、将M_map.zip工具箱内容解压缩,至'C:Program FilesMATLABR2009atoolboxmatlabm_map'
6 Q2 g2 C6 @6 H! h7 O- O8 S3 Z
; x9 g8 X8 a- L; B" }2、找到'C:Program FilesMATLABR2009atoolboxlocalpathdef.m'文件,打开,并把1中的路径添加到该文件中,保存。
  l; d# R% V8 v" E  a+ u- e9 `
matlabroot,'toolboxmatlabplottools;', ...
9 P9 q$ e- Z1 `6 m4 M3 y( {, imatlabroot,'toolboxlocal;', ...6 h4 ^+ F# ]' V4 k6 K5 Y+ Q
matlabroot,'toolboxsharedcontrollib;', ...# S7 L7 M* M/ t& {2 l
matlabroot,'toolboxshareddastudio;', ...  b/ K8 b" C9 g+ r- @
matlabroot,'toolboxmatlabdatamanager;', ...
. ^2 p, d6 P3 }! {: O3 r8 Omatlabroot,'toolboxmatlabm_map',...           %这里不需加分号“;”+ i3 J" p) E% a& T3 O7 v
%%% END ENTRIES %%%
) J) G0 q, ^* P4 n0 f$ M/ N: V  Z( A8 x& ~0 E
3、运行 rehash toolboxcache 命令,完成工具箱加载
3 U3 B+ M: Q; {5 Q
2 A$ R6 q' _2 g8 y$ K  h>>rehash toolboxcache
3 B" c$ d0 q# ~8 E: W3 @. ^
: ?9 b% C6 f- G3 ?) x6 u, v9 U% l========以上,完成加载==============================9 x8 _" L0 V1 F3 x& \4 I

+ ^$ l( B0 Z* d. s========以下,测试是否成功===========================
% R* o, }  e8 ?
# e  o/ o1 F- r- p' jtest1:运行
0 O) E2 @: r3 U6 ?: f" E: C* n' o$ p9 H  a5 Y7 \# U$ M; \
>>what m_map# x. g0 t: \" G* S5 j" P' l

# ]2 v2 h$ ~: Q0 ~+ w" u1 m# k得到的结果类似dos中的dir命令,即可。6 Z7 Z/ x! c" E" t" \$ ^
$ Q; y: E& \7 t4 A5 N+ x9 o
M-files in directory C:Program FilesMATLABR2009atoolboxmatlabm_map
( M0 H7 X3 [; N& l* E( ]2 e2 ~3 P9 L
: k9 T* i" d3 WContents        m_grid          m_ll2xy         m_scale        
2 e6 G" f: o) {m_coast         m_gshhs         m_lldist        m_tba2b        
- {/ u& [+ X  @m_contour       m_gshhs_c       m_mag2geo       m_tbase        . L1 D1 p* g9 n
m_contouRF      m_gshhs_f       m_patch         m_text         ! c! v# c& W+ s' _8 F2 E' f9 d
m_coord         m_gshhs_h       m_pcolor        m_track        9 N: E& `" X) J6 e
m_demo          m_gshhs_i       m_plot          m_ungrid      
2 [4 X6 S% f0 S1 Fm_elev          m_gshhs_l       m_plotbndry     m_usercoast   
3 {2 z1 G( P: u9 V9 Zm_etopo2        m_hatch         m_proj          m_vec         
1 h* c0 f8 ?) |" vm_fdist         m_idist         m_quiver        m_xy2ll        5 ?5 E* {: e) ]8 H
m_geo2mag       m_legend        m_range_ring    m_xydist      
/ x2 g6 s) j5 ^. q8 o3 fm_geodesic      m_line          m_ruler        2 [; G. t7 O; V
* S+ A" [& @9 x- f
test2:测试demo
6 Z3 t2 Q" C" \8 w5 q7 Z- L& W3 R; ~# C0 q$ E; @3 s
>>m_proj('oblique mercator');0 d: {4 w& _- N
m_coast;, a% W7 f6 V. Q: h, V1 N* V) ?* c
m_grid;' L, F, M- Q( n& y  [9 [3 V+ ?, D) V5 b8 P

6 Z7 q1 R! X# `  z
  z5 }/ t, l3 w" I. @
$ C! p7 r! f& e+ y------------------------------- F' O. g/ G3 I9 w+ `6 i

5 p+ e! |( \& Y$ T9 [m_map工具箱画出的图(edit at 23:00 2011-04-28)
) |% M0 L- a9 C9 I' v) P' H& [" Q; R, W8 U" w* B7 [! x* B
$ o1 _# m4 S, P6 L. ?8 C
4 ?) l0 |9 x3 F! k! ~
%--------------------------------------------------------------------
4 }6 P6 D4 s) Z: @, U. ~) T2 r% \/ ^( s5 ^9 z3 H; e
figure  }% e4 V4 s/ ]; g# v( e4 q; @/ ?+ B
P=A11;%%%%%%%%%%%%%%%这个就是你取出来的GRACE数据 如a(:,: )=grace(i,:,: );$ ]: x+ }; [* l
lo=0.5:359.5;
  ?( I$ _! M- Ula=-89.5:89.5;
* J$ e! E; [; K; r6 @6 a[lo,la]=meshgrid(lo,la);4 P1 B; Z; g: F3 y& k/ |
m_proj('Equidistant Cylindrical','lon',[0.5,359.5],'lat',[-89.5,89.5]);  b  H1 G$ \) q5 Q. d/ a. F8 |
m_pcolor(lo,la,P);hold on;! X5 W4 w! X( z+ n" v$ A
shading flat;4 t2 @- z; r; \7 u7 V+ T3 G
m_grid('box','fancy');. m1 L( [, ?; \+ }  V# o! `4 ?
hold on;( A7 ]$ e' t0 c$ r- n) g

5 v0 C* t  G6 g7 \-----------------------画出的图示-----------------------. p$ l/ i! x. h0 ]- C2 P

/ M9 H2 {% Y9 n! U2 d- @
+ ~; e( |0 g6 a
1 G8 m+ x* `; y% n; A1 [, Y====================================
( c7 J+ d: S1 l# M) U# ^" e
, p0 G0 H- w; ]: K- omatlab的m_map工具箱及添加行政边界底图' Z) ^- I2 X. q4 `" l. X9 u; H+ |8 i

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

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-6 09:21 , Processed in 0.171875 second(s), 26 queries , Gzip On.

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

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

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