作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
所以,我有三个 numpy 数组,它们在网格上存储纬度、经度和一些属性值——也就是说,我有 LAT(y,x)、LON(y,x) 和温度 T( y,x),对于 x 和 y 的某些限制。网格不一定是规则的——事实上,它是三极的。
然后我想将这些属性(温度)值内插到一组不同的纬度/经度点(存储为 lat1(t)、lon1(t),大约 10,000 吨...),这些点不落在实际的网格点。我已经尝试过 matplotlib.mlab.griddata,但这需要的时间太长了(毕竟它并不是为我正在做的事情而设计的)。我也尝试过 scipy.interpolate.interp2d,但出现 MemoryError(我的网格大约为 400x400)。
有没有一种巧妙的,最好是快速的方法来做到这一点?我不禁认为答案是显而易见的......谢谢!
最佳答案
尝试反距离加权和 scipy.spatial.KDTreeSO中描述的 inverse-distance-weighted-idw-interpolation-with-python . Kd-trees在 2d 3d 中很好地工作......,反距离加权是平滑和局部的,并且 k= 最近邻居的数量可以根据速度/准确性进行权衡。
关于python - 不规则网格上的插值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3242382/
我是一名优秀的程序员,十分优秀!