登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
如何出一张自己设定区域的地图产品,困扰我了好久,看到施宁老师的《NCL数据处理与绘图基础教程》有介绍2种方法,第一种就是使用shapefile_mask_data方法,第二种是设置NCL的遮盖绘图参数mpAreaMaskingOn、mpMaskAreaSpecifiers等。我两种方法都试过,第一种本地试通了,第二种下载的代码是通的,但是换成广东省就不行,不知道问题出在哪里。总结一下使用第一种的经验,主要是搞清楚步骤。 一、首先准备好待画的网格数据; 二、按自己的范围切出网格数据; shp_name = "GD_DSH.shp" var_mask = shapefile_mask_data(sdemo(:,:,ivar), shp_name, False) 三、画数据填色、等值线等 cnid = gsn_csm_contour(wks, var_mask, cnres) cnlid= gsn_csm_contour(wks, var_mask, cnlres) 这个地方不能用gsn_csm_contour_map,因为下面也有句话用到了map ,一张图上只能用一个map,并且这里的resource也不能有任何关于地图的设置(比如经纬度,边界线等),不然会错。 四、画地图 mpid = gsn_csm_map(wks, mpres) 这里的mpres里面因为用到了 gsn_csm_map,所以要有地图的设置 五、画地图范围的边界线条 lnres = True lnres@gsLineColor = "black" lnres@gsLineThicknessF = 1.0 poly = gsn_add_shapefile_polylines(wks,mpid,shp_name,lnres) 六、叠加图层 地图肯定是最下面的顺序 overlay(mpid,cnid) overlay(mpid,cnlid) draw(mpid) frame(wks) 七、最后的效果图 file:///C:/Users/hyz/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg
|