EDA365电子论坛网

标题: matlab添加M_map工具箱 [打印本页]

作者: haidaowang    时间: 2020-4-9 10:54
标题: matlab添加M_map工具箱

之前转载过matlab画世界地图的文章。最近正好用到。首先试了matlab自带的worldmap,感觉画出来的图形不尽如人意,比较杂乱。如下图。


4 s0 M4 ^3 O7 L5 d1 F5 x% a
% D: Z: E# \4 S0 H' V$ P  P! y查阅了些资料,请教了Liangjing,一致推荐m_map。为了达到想要的效果,这次只要不再偷懒,下载M-Map工具箱(http://www.eos.ubc.ca/~rich/map.html)并进行安装。所幸过程比较顺利,现记录如下,回头把画出的效果图再添上。其他matlab的toolbox安装,也可参考进行。

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

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

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

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

matlabroot,'toolboxmatlabplottools;', ...+ e. w: u' }. r; s4 r$ V
matlabroot,'toolboxlocal;', ...
/ }. p# X: Q  Mmatlabroot,'toolboxsharedcontrollib;', ...
0 ~' Y5 I7 R( x$ ?! w$ _/ ]matlabroot,'toolboxshareddastudio;', ...# d$ W7 D, t: {, W# v1 F" u
matlabroot,'toolboxmatlabdatamanager;', ...
9 G8 r" V: m% q" q2 T) omatlabroot,'toolboxmatlabm_map',...           %这里不需加分号“;”! z# x# m' f& C0 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        
+ i( v; \( H8 Cm_coast         m_gshhs         m_lldist        m_tba2b        
3 w& o# \/ j0 y2 f( j5 rm_contour       m_gshhs_c       m_mag2geo       m_tbase          |# A9 |5 o  E( g; d1 z
m_contourf      m_gshhs_f       m_patch         m_text         " w8 E: F' P7 ]/ k  \! S9 O
m_coord         m_gshhs_h       m_pcolor        m_track        ' N# L, ~& ]  s
m_demo          m_gshhs_i       m_plot          m_ungrid      
' E2 f# m1 `% `( N. P& pm_elev          m_gshhs_l       m_plotbndry     m_usercoast    , U. G* i; t1 O
m_etopo2        m_hatch         m_proj          m_vec          / f& w. s0 @6 n& `# w+ u  Y  c
m_fdist         m_idist         m_quiver        m_xy2ll        7 I8 R2 V. D; R4 n+ I. Q- U
m_geo2mag       m_legend        m_range_ring    m_xydist       8 |; q. R- @' I9 d! y9 h
m_geodesic      m_line          m_ruler        

test2:测试demo

>>m_proj('oblique mercator');
/ _' J' Q: H5 p* V% w- A- Dm_coast;
2 j! k, \9 O0 [' ^" dm_grid;

4 O& \$ P6 |2 R+ X
* e+ p8 x. O1 k$ \

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

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


  Y5 O* L# A& R  w2 ~. z+ W, G
+ w8 z0 ^4 z" s6 w( E

% t9 u6 M- H3 @4 `- }+ s
%--------------------------------------------------------------------

figure
; ^9 i  D; x' y" A* F* L5 ZP=A11;%%%%%%%%%%%%%%%这个就是你取出来的GRACE数据 如a( :,: )=grace(i,:,: );
# @5 q$ w( ]! G7 llo=0.5:359.5;
2 x4 Z# S9 R  I( l1 `; j3 Pla=-89.5:89.5;
* O; n- J7 V$ e- T1 z$ |[lo,la]=meshgrid(lo,la);2 |" q, @3 B3 _2 C  p
m_proj('Equidistant Cylindrical','lon',[0.5,359.5],'lat',[-89.5,89.5]);
1 y1 l3 f0 T( x  j  r( S1 f% q3 Tm_pcolor(lo,la,P);hold on;' V- z, P% h9 r% {" T  n
shading flat;! }3 S2 C# L+ [/ ~0 O
m_grid('box','fancy');% o+ z+ h% Y  c3 n4 S5 L- w
hold on;

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

1 P) Z. U& Z# f
( ?0 [; g+ H( y  ?- M: ~( d2 F

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

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

转自:http://hi.baidu.com/blucas/blog/item/2f34c1fd48417087b901a014.html
( B8 d  c  O/ Z5 d" u; E+ c! ?

对习惯使用matlab的人来说,m_map是一个很好的绘制地图的免费工具箱。可以选择的投影种类近20种,包括常用的Lambert、 Mercator、UTM等。可以测量距离( m_lldist, m_xydist ),绘制等值线(m_contour),等值线填充图(m_contourf),矢量图(m_quiver),栅格图(m_pcolor)等,并与相应的 matlab函数语法类似,很容易使用。& ?  y9 r; |& n5 {7 }
m_map通过m_coast提供1/4 degree分辨率的全球海岸线,通过下载GSHHS可以得到更高分辨率的海岸线数据。
+ o) Y6 c! @  N4 b( X除海岸线外,还可以利用已有的GIS行政边界资料,在地图上添加行政边界底图。具体作法为:下载.shp格式的行政边界文件( 国家基础地理信息系统的下载服务),将下 载的.shp文件通过mapinfo转换成.dxf文件,利用已编译好的fortran程序,读取经纬度信息,输出.dat文件。导入matlab空间, 可以直接m_plot,也可以调用m_plotbndry()。
9 D0 A1 F) Y3 ^% _8 [通过以上方法可以实现.shp在matlab绘图中的应用。

# x  B& s" a; Y. r

作者: yin123    时间: 2020-4-9 19:33
matlab添加M_map工具箱
作者: NingW    时间: 2020-4-10 19:05
matlab添加M_map工具箱




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2