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

怎样给matlab添加M_map工具箱

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 mytomorrow 于 2020-4-21 10:50 编辑
- L2 {4 l* J1 X! n, `# Q, b# j$ W" C% O5 s6 I: p* j

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


: u% ^' G. N+ V
4 J" i0 b( E: }& d查阅了些资料,请教了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;', ...
6 \. H7 U/ u5 |: o7 Rmatlabroot,'toolboxlocal;', ...
7 }7 E% K0 W$ F8 t* y2 A& m5 _matlabroot,'toolboxsharedcontrollib;', ...& |) F7 C* m2 @* K
matlabroot,'toolboxshareddastudio;', .... y! c- u8 s9 F/ d" O3 Z
matlabroot,'toolboxmatlabdatamanager;', ...) Q: o8 x/ o2 J, h0 d$ d4 {
matlabroot,'toolboxmatlabm_map',...           %这里不需加分号“;”
, e# y9 y$ ~% l+ a( H' w% E%%% 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        - Y1 n2 F* L# ]9 ^% m4 F3 ~& m
m_coast         m_gshhs         m_lldist        m_tba2b        * I4 u. y9 R8 f  }- j
m_contour       m_gshhs_c       m_mag2geo       m_tbase        
9 Y& s; A( C4 M7 Om_contouRF      m_gshhs_f       m_patch         m_text         7 Q- F- t" s4 r/ D7 F* `7 A0 t# T
m_coord         m_gshhs_h       m_pcolor        m_track        % k, s3 e2 J# n  W& P
m_demo          m_gshhs_i       m_plot          m_ungrid       2 x9 H9 W% g7 d, O$ b
m_elev          m_gshhs_l       m_plotbndry     m_usercoast    7 N/ d! b: ?3 l
m_etopo2        m_hatch         m_proj          m_vec         
' X9 D  q# u, K  R) Jm_fdist         m_idist         m_quiver        m_xy2ll        7 a9 M7 v) S" q& R, s) w4 A( K
m_geo2mag       m_legend        m_range_ring    m_xydist       / B  b0 N" v" G# R5 `& _8 y
m_geodesic      m_line          m_ruler        

test2:测试demo

>>m_proj('oblique mercator');
! q  R* l' K, e: Um_coast;3 p9 R6 j* K& m  X3 g1 s) v& {0 d
m_grid;


+ U( n  U* H! s' [8 S
! f6 e, s0 O* H! \/ u8 K

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

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


% d. i3 U2 ^: \) h
5 L5 j# J; T" T' s3 l& D  L8 z1 k0 O


/ J8 A) h2 E4 g6 d %--------------------------------------------------------------------

figure+ m  ]( o! W. `
P=A11;%%%%%%%%%%%%%%%这个就是你取出来的GRACE数据 如a(:,: )=grace(i,:,: );
* y! C% H6 e6 ^$ I' }lo=0.5:359.5;& I* R( d! a. Z0 v! J
la=-89.5:89.5;
8 b6 [/ |5 Q, E. Z2 t4 Z5 }% r0 K) \[lo,la]=meshgrid(lo,la);; c- {0 K+ `% P( y5 V- f1 g* Z
m_proj('Equidistant Cylindrical','lon',[0.5,359.5],'lat',[-89.5,89.5]);
# F" T$ @/ @3 T. f: om_pcolor(lo,la,P);hold on;
4 m& c2 w4 p9 T' W1 e0 a" ]shading flat;8 u4 ]' l. t% U5 _2 `2 E% v7 ^. W
m_grid('box','fancy');
( Y. K( j4 v4 M" S* q/ Yhold on;

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

4 g# f5 V4 w4 x9 i
1 o/ G. H2 k( {: t: u' X3 `9 n

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

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


7 @8 p% i& J$ J0 p

对习惯使用matlab的人来说,m_map是一个很好的绘制地图的免费工具箱。可以选择的投影种类近20种,包括常用的Lambert、 Mercator、UTM等。可以测量距离( m_lldist, m_xydist ),绘制等值线(m_contour),等值线填充图(m_contourf),矢量图(m_quiver),栅格图(m_pcolor)等,并与相应的 matlab函数语法类似,很容易使用。0 g& a" g5 C' ]0 c( U
m_map通过m_coast提供1/4 degree分辨率的全球海岸线,通过下载GSHHS可以得到更高分辨率的海岸线数据。
& }+ h+ S! M0 u) a( ~- K除海岸线外,还可以利用已有的GIS行政边界资料,在地图上添加行政边界底图。具体作法为:下载.shp格式的行政边界文件( 国家基础地理信息系统的下载服务),将下 载的.shp文件通过mapinfo转换成.dxf文件,利用已编译好的fortran程序,读取经纬度信息,输出.dat文件。导入matlab空间, 可以直接m_plot,也可以调用m_plotbndry()。% C9 n" N: ~. u3 ^, q
通过以上方法可以实现.shp在matlab绘图中的应用。
% Y6 ?9 O8 U6 k  O) s
8 o. P. y& K4 Y% \/ j: H1 b/ L. F2 ?2 g( @9 G

& X- ?, A3 k) V% T+ P2 K1 s+ m$ d

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 06:46 , Processed in 0.156250 second(s), 27 queries , Gzip On.

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

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

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