首页 > 解决方案 > python interp2d 奇怪的跳棋

问题描述

我正在使用 scipy.interpolate.interp2d 对大小为 105 x 109 的数组(2d_values)进行插值。

 function=interp2d(2d_x_coords,2d_y_cords,2d_values)
 interpolated=float(function(2d_x_finer_coords,2d_y_fner_coords))

我遇到了一个问题,即插值在大多数位置都有正确的值,但在某些插值区域,当数据应该在(0 到 ~300)之间时,存在巨大的正数和负数的棋盘和条纹。

2d_values是一个相对连续的字段,有几个地方相邻坐标之间有较大的跳跃,并且是经纬度坐标的地图投影,所以坐标不是规则的网格,而是像平面地图一样被扭曲。

右边的图片是 2d_values 左边的图片是插值的

这是用于执行此操作的代码

标签: pythonscipyinterpolation

解决方案


相反,使用 griddata 产生了很好的结果,没有任何问题。


推荐阅读