|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 pulbieup 于 2020-3-16 10:29 编辑
& [7 k; A0 ^4 k" q# H# c) p. R, @# D' i! `6 q
之前转载过matlab画世界地图的文章。最近正好用到。首先试了matlab自带的worldmap,感觉画出来的图形不尽如人意,比较杂乱。如下图。
1 D l' h2 N0 {" J4 H; u0 p2 W3 I5 \ Z. Z6 k' A: K) }
' X1 K) |# S) ^查阅了些资料,请教了Liangjing,一致推荐m_map。为了达到想要的效果,这次只要不再偷懒,下载M-Map工具箱(http://www.eos.ubc.ca/~rich/map.html)并进行安装。所幸过程比较顺利,现记录如下,回头把画出的效果图再添上。其他matlab的toolbox安装,也可参考进行。
* T$ m$ D8 _/ \. @
3 p' g" t4 @1 F3 @* m/ A+ m----------------------------------------+ T/ a. d5 Q% K ?5 G
" {. F6 c( m- @4 {
M_map的User Guide教的,matlab安装目录请自行参考自己的电脑。! S% Q J# P5 x+ F# l
2 l7 T, ~1 v$ D5 @- x1、将M_map.zip工具箱内容解压缩,至'C:Program FilesMATLABR2009atoolboxmatlabm_map'( d( ~, `4 c% {$ D& `: M
% t Z, o' n H5 O7 ]$ N" T" O
2、找到'C:Program FilesMATLABR2009atoolboxlocalpathdef.m'文件,打开,并把1中的路径添加到该文件中,保存。
5 |$ U# d* V M0 }/ `8 E4 h6 [8 ]4 V5 A% i
matlabroot,'toolboxmatlabplottools;', ...; i8 E" e* A3 V) h% w3 B1 e0 ]* i
matlabroot,'toolboxlocal;', ...
/ e, B- u) V# K/ dmatlabroot,'toolboxsharedcontrollib;', ...
" x/ U5 w, d, ]# A, qmatlabroot,'toolboxshareddastudio;', ...
% l; w5 a* @2 I, ^$ m! o dmatlabroot,'toolboxmatlabdatamanager;', ...
. g4 M5 X4 r6 V+ q& i% ?5 ~matlabroot,'toolboxmatlabm_map',... %这里不需加分号“;”% R' E" l& N# T: p$ J. z, Y; K
%%% END ENTRIES %%%0 {( W* g$ a5 J9 @) ^
+ K' X5 s8 n& _- i) n0 N; u% J: R* {
3、运行 rehash toolboxcache 命令,完成工具箱加载; \: n+ A$ P7 E7 U) F
% c. {8 A2 Q+ g' g6 I1 U3 K/ b>>rehash toolboxcache& b) K' J7 p' i6 _. m" r: w8 P
8 c3 E! l1 t% v9 T1 Q
========以上,完成加载==============================
) k) P: z c$ A, ]/ x- n2 G; o& I( a. O1 \2 w
========以下,测试是否成功===========================% i: @1 F# J" _) M
" n( A# F& u3 V
test1:运行
- Q# V2 [4 h7 ~$ G1 s, r0 e$ I" J: _. d
>>what m_map7 y$ `: d) ?6 L. a: z
L% R' e0 h. l+ T8 T- J$ k0 q
得到的结果类似dos中的dir命令,即可。
) Z' r {1 l4 l8 C0 w
4 \, f) P! C! ?6 }, ]0 iM-files in directory C:Program FilesMATLABR2009atoolboxmatlabm_map
6 u3 ?6 l$ g- D0 z. m+ Q/ Y3 b! o+ I* w1 t
Contents m_grid m_ll2xy m_scale
7 l% H- c7 C# z9 a0 `m_coast m_gshhs m_lldist m_tba2b
( q! U- h% {/ qm_contour m_gshhs_c m_mag2geo m_tbase
8 n+ C9 |" X6 \; p, B) Sm_contouRF m_gshhs_f m_patch m_text
0 X% w4 u& J7 K8 v- T Dm_coord m_gshhs_h m_pcolor m_track
. X1 A! A3 i; am_demo m_gshhs_i m_plot m_ungrid
; Y" U# u( P+ {2 P! Am_elev m_gshhs_l m_plotbndry m_usercoast
! D5 c- X/ W3 |* }1 Tm_etopo2 m_hatch m_proj m_vec 8 X2 w. A4 H' g1 ]/ j5 Q9 l
m_fdist m_idist m_quiver m_xy2ll
0 l9 B5 y* f) t4 O6 A" R0 l) }m_geo2mag m_legend m_range_ring m_xydist
# r/ W+ ^+ o9 q' Z$ v- H- Tm_geodesic m_line m_ruler $ p1 d0 j5 C8 g. b
+ m) |, u7 ^; i% btest2:测试demo1 @3 Z, U9 z+ Q; ]9 ^5 L
* [4 S' _, M. e6 n' y; S g) U* o
>>m_proj('oblique mercator');/ N a6 b( s" q7 S$ W9 T* }
m_coast;6 i/ H) h( `$ d; `3 y
m_grid;
6 m' p0 V' D% F, s: Q! {- \4 ^3 W* [8 S$ B
2 ?% y7 a2 B5 ^! I* N1 ]( G) F' |$ w' m5 ~/ E1 \' r( s3 J a U
------------------------------
0 s* C. g, v# w# f7 i0 R2 g7 x; f4 q7 _4 K7 I0 F4 [* a
m_map工具箱画出的图(edit at 23:00 2011-04-28)# D5 f) i }0 R: g
# r$ }% H. T7 ]# T& c
2 K5 G7 t# v# s) U+ B4 s8 [6 e& }
# u* h9 n. G/ p$ v+ D %--------------------------------------------------------------------$ U/ H2 i* E- L" g
/ i3 w1 o! U2 I2 N$ n6 o/ w6 U
figure3 o$ e2 p9 o' A! c6 t; q
P=A11;%%%%%%%%%%%%%%%这个就是你取出来的GRACE数据 如a(:,: )=grace(i,:,: );7 E5 f5 T5 z, ]
lo=0.5:359.5;
* z) T+ [1 V* Z2 R# d+ e+ G+ vla=-89.5:89.5;
( [% ^/ I+ p2 _( i; I/ N[lo,la]=meshgrid(lo,la);$ `. y! _7 j0 R0 [% @
m_proj('Equidistant Cylindrical','lon',[0.5,359.5],'lat',[-89.5,89.5]);7 d4 }% A1 {$ C `4 q
m_pcolor(lo,la,P);hold on;; y& y) {- j0 t: e
shading flat;" b1 H( p; `9 F: G
m_grid('box','fancy');/ ~: L4 F7 |3 p* `) g& h' u* c; [
hold on;* z) |- \/ B! W; O' G; S+ y% p
: H+ e0 X. l& G( f: ^2 i" g/ l# p-----------------------画出的图示-----------------------5 s$ D, }) ]0 B+ o0 b* s: x
) F5 t8 C7 K1 u
4 T0 _, C4 T# F
9 o; @7 i* P/ T====================================
: D2 F6 g, K1 W9 ?" r0 s2 U2 O, f$ I& q& R _1 {
matlab的m_map工具箱及添加行政边界底图
: Z5 T. Y4 {5 E% K
3 e( N' b; x, |% r* }转自:http://hi.baidu.com/blucas/blog/ ... 417087b901a014.html
2 v/ n- M7 K& l& g6 n对习惯使用matlab的人来说,m_map是一个很好的绘制地图的免费工具箱。可以选择的投影种类近20种,包括常用的Lambert、 Mercator、UTM等。可以测量距离( m_lldist, m_xydist ),绘制等值线(m_contour),等值线填充图(m_contourf),矢量图(m_quiver),栅格图(m_pcolor)等,并与相应的 matlab函数语法类似,很容易使用。( Z8 \" H9 C. k
m_map通过m_coast提供1/4 degree分辨率的全球海岸线,通过下载GSHHS可以得到更高分辨率的海岸线数据。2 o$ U; W5 ^, N1 m
除海岸线外,还可以利用已有的GIS行政边界资料,在地图上添加行政边界底图。具体作法为:下载.shp格式的行政边界文件( 国家基础地理信息系统的下载服务),将下 载的.shp文件通过mapinfo转换成.dxf文件,利用已编译好的fortran程序,读取经纬度信息,输出.dat文件。导入matlab空间, 可以直接m_plot,也可以调用m_plotbndry()。
4 @0 Y& e5 b. f6 Y: d通过以上方法可以实现.shp在matlab绘图中的应用。 |
|