图1 假设的全球某成分分布
图2 北半球和南半球球面立体投影坐标系
以球面立体投影开始,这个在大气痕量成分分布产品中应用得非常多,能清楚明了地看到世界各地的某高度的浓度或总量分布。 一、下载m_map安装包,http://www.eos.ubc.ca/~rich/private/mapug.html 二、解压,然后通过MATLAB设置路径包含m_map 三、投影坐标系绘制 1,首先定义投影方式 m_proj('stereographic','latitude',90,'radius',90,'rotagnle',0); ;投影名称为stereographic ;中心纬度为北纬90度 ;绘制纬度长度为90度,即从N90-0,如果radius为55的话,则绘制N90-N55的区域 ;坐标系旋转角度为0,即垂直方向为经度0度 2,绘制海岸线 m_coast('patch',[.7 .7 .7], 'edgecolor', 'none'); ;填充区域颜色为[.7 .7 .7],三个分量分别代表r,g,b,以小数表示,即255为1,0为0 ;边界无颜色 3,绘制边界、坐标轴等 m_grid; 四、绘制目标数据 1,数据准备 例如: 臭氧ozone = [360*90],即有经度-180:180和纬度0:90的臭氧数据,即北半球数据 经度数据lon=0:180 纬度数据lat=0:90 将坐标其转化为网格 [lon,lat] = meshgrid(lat, lon); 注意这里的lat和lon的顺序 现在lon = [360*90],lat = [360*90]; 2,坐标转换 将经纬度坐标转换成投影后坐标 [x,y] = m_ll2xy(lon,lat); 3,绘制目标数据 hold on; 一定不要忘记此句,否则前面的将全部覆盖 pcolor(lon,lat,ozone); shading interp; box on; 效果见图1.
几点注意的地方: 1,坐标转换时,给定的经纬度一定是投影范围内的点,否则得不到有效值。 2,纬度的范围是0-90,北纬为正,南纬为负。即-55表示南纬55度。 3,经度的范围是0-180度,东经为正,西经为负。 4,绘制南半球时,设置中心为S90,即-90。要想0也在竖起时,要设定旋转方向为180。 m_proj('stereographic','latitude',-90,'radius',90,'rotagnle',180); 5,绘制南半球时,要通过m_grid设置经度轴标在最外层,否则都聚焦在最里。 m_grid('xaxislocation','top'); 5、绘制目标数据之前,加上hold on;否则将绘制的坐标系全部覆盖了。
|