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

怎样给matlab添加M_map工具箱

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 mytomorrow 于 2020-4-21 10:50 编辑   d/ r( T, H; }4 X& ^
) w4 M) {7 q9 v, ^$ V

首先试了matlab自带的worldmap,感觉画出来的图形不尽如人意,比较杂乱。如下图。

; W6 a- B6 a4 _# ~
3 c0 l+ ~) a4 d7 J% s- g5 ]' ?
查阅了些资料,请教了Liangjing,一致推荐m_map。为了达到想要的效果,这次只要不再偷懒,下载M-Map工具箱并进行安装。所幸过程比较顺利,现记录如下,回头把画出的效果图再添上。其他matlab的toolbox安装,也可参考进行。

----------------------------------------

M_map的User Guide教的,matlab安装目录请自行参考自己的电脑。

1、将M_map.zip工具箱内容解压缩,至'C: Program FilesMATLABR2009atoolboxmatlabm_map'

2、找到'C: Program FilesMATLABR2009atoolboxlocalpathdef.m'文件,打开,并把1中的路径添加到该文件中,保存。

matlabroot,'toolboxmatlabplottools;', ...
* B# ?$ s: ~! a( L3 nmatlabroot,'toolboxlocal;', ...
  q; p) G: ^9 _+ c) lmatlabroot,'toolboxsharedcontrollib;', ...% h+ P5 z) |1 ]0 [. U% j6 N
matlabroot,'toolboxshareddastudio;', ...# V( |8 t+ `. Z# n+ p
matlabroot,'toolboxmatlabdatamanager;', ...1 c) ?. R: A. a
matlabroot,'toolboxmatlabm_map',...           %这里不需加分号“;”
" _1 G$ G) M0 ^& W# P7 \  Q$ {6 S9 p%%% END ENTRIES %%%

3、运行 rehash toolboxcache 命令,完成工具箱加载

>>rehash toolboxcache

========以上,完成加载==============================

========以下,测试是否成功===========================

test1:运行

>>what m_map

得到的结果类似dos中的dir命令,即可。

M-files in directory C: Program FilesMATLABR2009atoolboxmatlabm_map

Contents        m_grid          m_ll2xy         m_scale        / h# j2 C6 J7 [; i
m_coast         m_gshhs         m_lldist        m_tba2b        , f% _# m" w+ N: u: E
m_contour       m_gshhs_c       m_mag2geo       m_tbase        , w  X- G6 K' r
m_contouRF      m_gshhs_f       m_patch         m_text         ) G/ n" `( E' {9 e
m_coord         m_gshhs_h       m_pcolor        m_track        
' Q) k+ Z3 F) {  E' Rm_demo          m_gshhs_i       m_plot          m_ungrid      
( z9 W: w1 A6 b7 T% S( {# Xm_elev          m_gshhs_l       m_plotbndry     m_usercoast    ; D, e+ F: B( y& ^
m_etopo2        m_hatch         m_proj          m_vec          / d5 a" [& m9 |5 l& l
m_fdist         m_idist         m_quiver        m_xy2ll        
0 s+ |3 z6 }( B0 _( p1 Z/ Y: Bm_geo2mag       m_legend        m_range_ring    m_xydist       % T  p) r2 I5 J. }! w4 s, B
m_geodesic      m_line          m_ruler        

test2:测试demo

>>m_proj('oblique mercator');
0 c6 a+ d& K$ T; k% dm_coast;
) k4 E2 L2 `! W' m" Z4 S$ qm_grid;


8 F$ e0 z/ k: Q3 J% w- K
  A, S& k  C2 i8 C' i) F

------------------------------

m_map工具箱画出的图(edit at 23:00 2011-04-28)

! e% ]4 A  H) Y/ o0 F' s
( J$ \2 k+ _) l


) H- C" h$ }' [9 w %--------------------------------------------------------------------

figure
# p: i/ }( {: G" ~P=A11;%%%%%%%%%%%%%%%这个就是你取出来的GRACE数据 如a(:,: )=grace(i,:,: );
) {2 D9 A" }" p/ Slo=0.5:359.5;
3 j& E$ V: {7 N& |" R7 W3 `3 lla=-89.5:89.5;  z! V& J: m1 G; ~4 @
[lo,la]=meshgrid(lo,la);) m7 Q8 v+ v# r
m_proj('Equidistant Cylindrical','lon',[0.5,359.5],'lat',[-89.5,89.5]);: P7 B1 l3 i9 \  R8 Z
m_pcolor(lo,la,P);hold on;
/ Q6 Q7 ~2 B! N1 A6 t9 M) _  xshading flat;0 }/ ~2 X( r4 a9 r# q& s; d
m_grid('box','fancy');" K6 ^0 M- W* a0 N9 ^. a. d& B" p
hold on;

-----------------------画出的图示-----------------------


  b! d" l& [+ Q& V$ k
8 b: x4 j0 [9 O/ p* C# x

====================================

matlab的m_map工具箱及添加行政边界底图


. v: b7 r) [$ p% p: ]' G

对习惯使用matlab的人来说,m_map是一个很好的绘制地图的免费工具箱。可以选择的投影种类近20种,包括常用的Lambert、 Mercator、UTM等。可以测量距离( m_lldist, m_xydist ),绘制等值线(m_contour),等值线填充图(m_contourf),矢量图(m_quiver),栅格图(m_pcolor)等,并与相应的 matlab函数语法类似,很容易使用。
  u- e) Y' {# s2 gm_map通过m_coast提供1/4 degree分辨率的全球海岸线,通过下载GSHHS可以得到更高分辨率的海岸线数据。
( q+ Z2 E  X. v( O. U除海岸线外,还可以利用已有的GIS行政边界资料,在地图上添加行政边界底图。具体作法为:下载.shp格式的行政边界文件( 国家基础地理信息系统的下载服务),将下 载的.shp文件通过mapinfo转换成.dxf文件,利用已编译好的fortran程序,读取经纬度信息,输出.dat文件。导入matlab空间, 可以直接m_plot,也可以调用m_plotbndry()。
* y5 ~# K  x$ e1 I: E# e8 l通过以上方法可以实现.shp在matlab绘图中的应用。0 s0 y1 m/ s& w3 `/ J
7 s0 @# O, K  O7 N5 [6 {
' x& @4 {+ A5 }


  r5 b( v" b/ c' V) P; p

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-6 14:17 , Processed in 0.171875 second(s), 26 queries , Gzip On.

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

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

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