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

怎样给matlab添加M_map工具箱

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 mytomorrow 于 2020-4-21 10:50 编辑 3 D  D4 Q9 q4 N( w1 z

. w9 P! q3 q- c. v+ K$ P3 ?

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


1 h8 c4 Z9 R0 r1 D6 k6 g/ q
! i$ z: ~& V! d7 }5 K. i* w$ 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;', ...# @. _/ U- [/ J6 B5 T
matlabroot,'toolboxlocal;', ...
) M3 v; O4 I8 e7 Amatlabroot,'toolboxsharedcontrollib;', ...! W* A. _6 D! [& s" h) R7 G4 c
matlabroot,'toolboxshareddastudio;', ...
: Z6 \5 |" q$ [0 u+ T' z9 W! U! U) omatlabroot,'toolboxmatlabdatamanager;', ...& z% U! ~- t# z7 c; Y3 E% S
matlabroot,'toolboxmatlabm_map',...           %这里不需加分号“;”
9 p! Y1 F7 |2 I7 K* t1 n+ Z- J%%% 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        
) C2 }  V$ I  K+ [  S! J. Am_coast         m_gshhs         m_lldist        m_tba2b        
+ p# z2 u4 Y. j5 C. C: ]. s9 ]; Xm_contour       m_gshhs_c       m_mag2geo       m_tbase        5 O$ p5 p3 K2 Z& h' e# f7 r
m_contouRF      m_gshhs_f       m_patch         m_text         2 K; V- c0 S) w$ e5 Q! {$ b7 f
m_coord         m_gshhs_h       m_pcolor        m_track        ) i" ?$ p. P: Q0 G: B# P# d# D8 w7 M
m_demo          m_gshhs_i       m_plot          m_ungrid      
9 b+ V% m" R9 O. f9 Hm_elev          m_gshhs_l       m_plotbndry     m_usercoast   
, F% q& R, h: g1 R* J& _0 ?m_etopo2        m_hatch         m_proj          m_vec          0 A& J3 S1 j! i: I6 t2 W
m_fdist         m_idist         m_quiver        m_xy2ll        
1 m* u* Z" S! u4 k8 F" H% qm_geo2mag       m_legend        m_range_ring    m_xydist      
' n( }2 }# f6 |m_geodesic      m_line          m_ruler        

test2:测试demo

>>m_proj('oblique mercator');
3 ?+ H: h" E4 M- i, rm_coast;
: M. \7 Z7 ~1 B+ _m_grid;


3 m* h1 g  ]! |3 Q" U; G
& N& ]$ h' m7 S7 U3 \1 h7 J8 m

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

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

) Q0 N2 Q9 C: Q1 n$ ]4 ~
+ J% o7 Z$ e" e9 I# |9 h! n# t

9 o7 \, N1 |4 D, n2 K
%--------------------------------------------------------------------

figure1 o. J- p# u; C% q
P=A11;%%%%%%%%%%%%%%%这个就是你取出来的GRACE数据 如a(:,: )=grace(i,:,: );
9 H8 }2 H+ T' w; I! v% slo=0.5:359.5;
. V: B; T2 h$ f! C9 V& ?# L, Lla=-89.5:89.5;
% F2 i: `0 r  l  h8 x- L[lo,la]=meshgrid(lo,la);
7 `: x; {4 N$ i2 b+ R. n- zm_proj('Equidistant Cylindrical','lon',[0.5,359.5],'lat',[-89.5,89.5]);
/ h5 [4 q& z6 ^m_pcolor(lo,la,P);hold on;
. Y% C& Q( ?3 m0 ?shading flat;! x: ^( f" M+ \: S& ?( p  K, J6 p
m_grid('box','fancy');
: Q- d, H% U4 G! Nhold on;

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

4 ]$ S0 D* h6 \& P5 s2 o9 V

5 a  a" _' z$ X3 @# D

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

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


" ]0 T' S! d9 E$ A1 e! o& o+ r

对习惯使用matlab的人来说,m_map是一个很好的绘制地图的免费工具箱。可以选择的投影种类近20种,包括常用的Lambert、 Mercator、UTM等。可以测量距离( m_lldist, m_xydist ),绘制等值线(m_contour),等值线填充图(m_contourf),矢量图(m_quiver),栅格图(m_pcolor)等,并与相应的 matlab函数语法类似,很容易使用。  T1 o& T! ]$ X6 X! a; f# E% N
m_map通过m_coast提供1/4 degree分辨率的全球海岸线,通过下载GSHHS可以得到更高分辨率的海岸线数据。+ V& Z) m  P1 `8 C' j* E$ ^* v9 C
除海岸线外,还可以利用已有的GIS行政边界资料,在地图上添加行政边界底图。具体作法为:下载.shp格式的行政边界文件( 国家基础地理信息系统的下载服务),将下 载的.shp文件通过mapinfo转换成.dxf文件,利用已编译好的fortran程序,读取经纬度信息,输出.dat文件。导入matlab空间, 可以直接m_plot,也可以调用m_plotbndry()。
! y! r5 e3 J1 s- \9 B通过以上方法可以实现.shp在matlab绘图中的应用。
- J) I6 h3 W$ `. k; v8 j/ i" c* \
' l( g1 J1 m" `4 ^( [
, ~4 C: j, Y" ^


5 ~% \+ U+ M9 _' k* y; X" |

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-20 17:52 , Processed in 0.125000 second(s), 26 queries , Gzip On.

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

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

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