新手小白一枚,为了学习python只能网上各种搜索,但是有些问题还是无法解决,在进行绘图白化的过程中,调用maskout程序的实际操作中,也遇到各种问题。
包括 全局变量定义问题,UnboundLocalError: local variable 'clip_m' referenced before assignment
自己也使用的各种global定义,改名字但是都无法解决,最后从语句本身判断,找到了一些问题,在此记录一下解决的思路。
1、shp文件读取
查看shp文件读取是否正确
if shape_rec.record[1] == 230000
这个语句中存在两个问题,按照网上的教程用meteoinfo查看了地图数据属性后,选取第二列PAC作为特征值,将语句修改为shape_rec.record[2],结果程序无法调用,实际运行后,才发现应该写为shape_rec.record[1],也算是个低级,但是只看网上教程容易出错的地方。
另外选取230000时,根据教程写为‘230000’,就无法进行判断,后将引号删除,判断才可以实现,因此也需要根据不同的shp文件,特别处理。
以上错误都是对if语句单独运行,查找出来的,直接调用函数,并不会有这些错误显示,仅仅显示clip无法调用。
这个检验不是用调用maskout.py 做的 而是在主程序中直接mask检验出来的
参考 野生的气象小流星 的文章 小白学习Basemap气象画地图的第三天(中国温度分布图,mask外部)中的程序。