在气象上,通过二分类可以得到模型预测的准确度,但是要预测数据和观测数据点对点对应上,我现在遇到的问题是用双线性插值将预测数据变得跟观测数据一样,因为这两个数据的经纬度信息不同,分辨率也不同,请问各位代码相关的内容,谢谢大家
3条回答 默认 最新
- _GX_ 2022-10-02 18:56关注
你可以使用
scipy.interpolate.interp2d
对已知网格点数据进行插值。然后你可以通过坐标变换(平移、缩放、旋转)把目标坐标系上的坐标映射到插值区域的坐标,进而通过插值函数得到相应的数值。下面是一个例子供你参考。https://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.interp2d.html
import numpy as np from scipy import interpolate import matplotlib.pyplot as plt x = np.arange(-5.01, 5.01, 0.25) # 按步长生成列表 y = np.arange(-5.01, 5.01, 0.25) xx, yy = np.meshgrid(x, y) # 生成网格 z = np.sin(xx**2+yy**2) # 计算网格点上的值 f = interpolate.interp2d(x, y, z, kind='linear') # 线性插值 xnew = np.arange(-5.01, 5.01, 0.4) # 降低网格点分辨率 ynew = np.arange(-5.01, 5.01, 0.4) znew = f(xnew, ynew) plt.plot(x, z[0, :], 'ro-', xnew, znew[0, :], 'b-') # 比较x方向上的原始值(红色)与降低分辨率后线性插值得到的结果(蓝色) plt.show()
解决 无用评论 打赏 举报 编辑记录