m_map在matlab中使用及投影说明
m_map工具箱使用笔记
matlab中m_map地图工具包的使用
m_map工具包下载地址及英文使用说明和例子:http://www.eos.ubc.ca/~rich/map.html
考虑到那些英文水平比我还低的人,故作简单的介绍如下:
m_map工具包的加载:
下载m-map工具箱后,要想matlab能够调用,首先必须加载。可以先在matlab中查看当前目录,pwd。将m_map工具箱移动到此目录(方便以后操作)。然后输入addpath?m_map工具包……?(……根据具体文件夹而定)。此时m_map工具箱加载完毕,可以调用使用。可以help?m_coast检验。
下面是m_map工具箱中常用的一些投影方式的说明:
选择投影方式时定义区域命令(有些特别的例外):
m_proj('投影方式','long',[lonmin?lonmax],'lat',[latmin?latmax]);
m_coast('patch',[a,b,c]);画海岸线。主要是配色。a,b,c都在[0?1]间,a,b,c都乘以255后为RGB配色方案。当然,边线还可以加载自己想要的地图,在/dcw/上选择区域边界(有一步要选“download?points”我不知道原因),下载*2pts.txt文件后:
m_plotbndry('states/*','color','r');?#?*为匹配下载的文件名。
m_grid格网命令。参数有:linest设置格网线条,默认为虚线。xticklabels(yticklabels)设置坐标上的标记方式,很少用。xtick(ytick)格网范围(有些投影时表示格的份数)。color线条颜色。yaxislocaion(xaxislocation)坐标位置,选项是right\left(top\bottom)\middle。tickdir(out\in)边框属性。box(on\off\fancy)。Linewidth线条宽。
整个坐标位置:
axes('position',[a,b,c,d])。a为x的最小值,b为y上的最小值,c为宽,d为高。
m_elev画海拔线。如:?m_elev('contourf',[a,b,c]).海拔等高线。a为起始高,b为间距,c为最高点。
matlab中导入数据命令:load?data.*
我们常用到的数据data(经度纬度?值),从中提取某列如x=data(:,1)提取第一列给x。
m_ungrid?*能撤销之前的任何*操作。
写到这里,完全没思路了,你们可以将说明书下下来。根据上面讲的应该看得懂了。下面呢将例子中比较难懂的语句解释:
例一中:
第一句中两个值表示视角的观测位置。
patch(.55*[-1?1?1?-1],.25*[-1?-1?1?1]-.55,'b');第一个逗号前的部分表示从左下角逆时针转的x值,第二个逗号前中]前表示从左下角逆时针点的y值,-.55表示相对观测点y轴方向的偏移。w为所画方块的填充颜色。
例二中:
m_elev('contourf',[500:500:6000]);从海拔500到6000以500为间距画等高线图。
最后一句是配色方案。
例三中:
??m_proj('stereographic','lat',90,'long',30,'radius',25);前两个数为视角位置。25为纬度所选区域范围。
例如画整个南半球:
??m_proj('stereographic','lat',-90,'radius',90,'rotangle',180);?-90为观测点纬度,90为纬度范围,180为绕南北轴顺时针旋转的度数。
??m_grid('xtick',12,'tickdir','out','ytick',[70?80],'linest','-');12为经度方向份数,这里强调下,份数不是严格的,份数的选择是????量子化的,不然不是你所期望的图。
例四中的set一句是设置地图大小的。
例9中
???选择投影方式时,最后的参数’rect','on'表示地图的正交性。为on时是块形图,为off时类似lambert所做的图。
例10中
?dates=datenum(1997,10,23,15,1:41,zeros(1,41));设置时间属性。1997年10月23日,15时1到40分,秒全为0.
???m_track(lons,lats,dates,'ticks',0,'times',4,'dates',8,...
????????'clip','off','color','r','orient','upright');???画轨迹,时间间距为4;数据等分为8.最后两个参数是上面标记的属性,如方向、朝向。???例11中:??第一句中clong?‘17