矩阵插值算法

时间:2013-07-08 19:12:08

标签: interpolation multidimensional-array linear-interpolation

我正在处理一组需要在其间进行插值的坐标点。基本上它是什么,是不同纬度和经度的温度。我想插值以获得圆纬经纬度的温度。

例如,我知道

44.56N,56.42W,温度= 50

47.82N,57.845 W,温度= 44.2度

45.74N,59.216 W,温度= 60.1度

我想获取这些数据并将温度插值为46.0N 58.0 W.有人可以指出我正确的方向吗?我甚至不确定从哪里开始。甚至一些伪代码或维基百科链接也会有所帮助。插值不必太精确,只需要让我进入球场。

由于

2 个答案:

答案 0 :(得分:0)

有趣的问题。我认为最简单的方法就是加权距离(每个点的平均温度,距目标点的距离加权)。要查看距离,请查看:Calculate distance between two latitude-longitude points? (Haversine formula)http://www.movable-type.co.uk/scripts/latlong.html

如果您想要更好的插值方法,请考虑区域插值。我不知道这对于特定点而不是区域有多好,但似乎是最适用的方法。

答案 1 :(得分:0)

如果有其他人遇到这个,我最终将我的数据点存储在四叉树中,然后使用查询范围方法找到每个象限中的两个最近坐标。然后我根据距目标坐标的每个点距离做反距离平均。这似乎给出了相当不错的结果,但运行时间有点慢。将我的60,000个数据点加载到四叉树中大约需要30秒。然后大约需要一分钟来查询该数据以计算2500点。如果我想出更快的话,我会更新。