mask=np.ones((72,124),)
for sp in proSP[0]:
for i,(lonR,latR) in enumerate(zip(lon,lat)):
for j,(lonP,latP) in enumerate(zip(lonR,latR)):
if sp.contains(Point(lonP,latP)):
msk[i,j]=0.0
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_8\1268312847.py in <module>
1 mask=np.ones((72,124),)
2 for sp in proSP[0]:
----> 3 for i,(lonR,latR) in enumerate(zip(lon,lat)):
4 for j,(lonP,latP) in enumerate(zip(lonR,latR)):
5 if sp.contains(Point(lonP,latP)):
NameError: name 'lon' is not defined
需要定义lon和lat变量,可以根据实际情况赋值。
起初我以为您的遍历语法有问题,因为我没见过,就以为是错误用法。😂
经试炼验证,这样子引用,简洁美妙
索引后面的变量一定要用圆括号包裹,因为枚举函数得到的是两个值,索引和序列元素对象本身。
检查:检查前面的语句可有对lon的定义或者拼写错误亦或者大小写字母不对应。
修改:如果没有定义,在第三行引用前定义或者直接用序列对象替换变量lon。