之前转载过matlab画世界地图的博文。最近正好用到。首先试了matlab自带的worldmap,感觉画出来的图形不尽如人意,比较杂乱。如下图。
略
查阅了些资料,请教了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 Files\MATLAB\R2009a\toolbox\matlab\m_map‘
2、找到‘C:\Program Files\MATLAB\R2009a\toolbox\local\pathdef.m‘文件,打开,并把1中的路径添加到该文件中,保存。
matlabroot,‘\toolbox\matlab\plottools;‘, ... matlabroot,‘\toolbox\local;‘, ... matlabroot,‘\toolbox\shared\controllib;‘, ... matlabroot,‘\toolbox\shared\dastudio;‘, ... matlabroot,‘\toolbox\matlab\datamanager;‘, ... matlabroot,‘\toolbox\matlab\m_map‘,... %这里不需加分号“;” %%% END ENTRIES %%%
3、运行 rehash toolboxcache 命令,完成工具箱加载
>>rehash toolboxcache
========以上,完成加载==============================
========以下,测试是否成功===========================
test1:运行
>>what m_map
得到的结果类似dos中的dir命令,即可。
M-files in directory C:\Program Files\MATLAB\R2009a\toolbox\matlab\m_map
Contents m_grid m_ll2xy m_scale m_coast m_gshhs m_lldist m_tba2b m_contour m_gshhs_c m_mag2geo m_tbase m_contourf m_gshhs_f m_patch m_text m_coord m_gshhs_h m_pcolor m_track m_demo m_gshhs_i m_plot m_ungrid m_elev m_gshhs_l m_plotbndry m_usercoast m_etopo2 m_hatch m_proj m_vec m_fdist m_idist m_quiver m_xy2ll m_geo2mag m_legend m_range_ring m_xydist m_geodesic m_line m_ruler
test2:测试demo
>>m_proj(‘oblique mercator‘); m_coast; m_grid;
------------------------------
m_map工具箱画出的图(edit at 23:00 2011-04-28)
略
%--------------------------------------------------------------------
figure P=A11;%%%%%%%%%%%%%%%这个就是你取出来的GRACE数据 如a(:,:)=grace(i,:,:); lo=0.5:359.5; la=-89.5:89.5; [lo,la]=meshgrid(lo,la); m_proj(‘Equidistant Cylindrical‘,‘lon‘,[0.5,359.5],‘lat‘,[-89.5,89.5]); m_pcolor(lo,la,P);hold on; shading flat; m_grid(‘box‘,‘fancy‘); hold on;
-----------------------画出的图示-----------------------
====================================
matlab的m_map工具箱及添加行政边界底图
转自:http://hi.baidu.com/blucas/blog/item/2f34c1fd48417087b901a014.html
对习惯使用matlab的人来说,m_map是一个很好的绘制地图的免费工具箱。可以选择的投影种类近20种,包括常用的Lambert、 Mercator、UTM等。可以测量距离( m_lldist, m_xydist ),绘制等值线(m_contour),等值线填充图(m_contourf),矢量图(m_quiver),栅格图(m_pcolor)等,并与相应的 matlab函数语法类似,很容易使用。 m_map通过m_coast提供1/4 degree分辨率的全球海岸线,通过下载GSHHS可以得到更高分辨率的海岸线数据。 除海岸线外,还可以利用已有的GIS行政边界资料,在地图上添加行政边界底图。具体作法为:下载.shp格式的行政边界文件( 国家基础地理信息系统的下载服务),将下 载的.shp文件通过mapinfo转换成.dxf文件,利用已编译好的fortran程序,读取经纬度信息,输出.dat文件。导入matlab空间, 可以直接m_plot,也可以调用m_plotbndry()。 通过以上方法可以实现.shp在matlab绘图中的应用。
m_map工具 箱的下载和介绍 fortran程 序及.mat文件下载 (通过代理可下载)
matlab添加M_map工具箱(转 http://blog.sina.com.cn/s/blog_491b86bf0100srt9.html)