本节提要:仿制中央气象台气象服务图片、关于cartopy里的投影与转换、cartopy中extent与boundary。
一、仿制中央气象台图片
从鄙人高三填报了南信的志愿开始,就一直持续的关注中央气象台,也算是一个老看客了。期间还经历了比较大型的改版(我感觉改版后变丑了O(∩_∩)O哈哈~),我觉得央台的气象服务图片做得比较好,基本上以填色图和散点图为主,辅以少量雷达图,绝大多数图片都能很好的向各层次的读者展现天气预报与实况。
今天就接着上次谈论的图例和色条,来谈谈py下仿制央台图片流程。
我仿制的图片如下:
A、仿制的高温图
恩施想要这样的高温还是比较困难的(恩施算得上矮高原了,鄂西凉都),所以修改成了地质灾害的预报。
首先涉及到资料的问题,地质灾害不在常规预报里,但是气象局也必须发这项预警。这里只能用事先做好的实验数据,预报在清江两岸有一定的山洪泥石流风险。使用的仍然是不均匀的站点资料,所以先要将站点资料网格化,变为格点资料后再用等值线填色的方式画出危险区域。最后,通过前面几节提到的添加图例的方法,完善图形。关键代码如下:
olon=np.linspace(108,111,90)olat=np.linspace(29,32,90)olon,olat=np.meshgrid(olon,olat)func=Rbf(lon,lat,danger,function='linear')danger_new=func(olon,olat)colorlevel=[0,60,80,100]#危险等级colordict=['white','orange','red']#颜色列表danger_map=mcolors.ListedColormap(colordict)#产生颜色映射norm=mcolors.BoundaryNorm(colorlevel,danger_map.N)#生成索引ax.contourf(olon,olat,danger_new,levels=colorlevel,cmap=danger_map,norm=norm)#填色图clip=maskout.shp2clip(cs, ax,r'E:\dijishi\cn_province.shp' ,420000)#白化ax.set_title('地质灾害风险(sample data)',fontsize=12)danger = mpatches.Rectangle((0, 0), 1, 1, facecolor="