如何从非均匀的2D位置插值到常规网格?

5
我有一些图像的非均匀样本,并希望插值到一个规则网格,因为(除其他原因外)大多数图像图形函数都需要一个规则网格。 我注意到有一些MatLab函数(例如请参见Image interpolation from random pixels),可以做到这一点,但找不到一个R包来实现这个功能。
这里是一个简单的例子。
#make up some 2D func
y<-matrix(rep(1:10,10) -.5 + runif(100),nrow=10)
x<-matrix(rep(1:10,10) -.5 + runif(100),nrow=10)
inmat<-sin(x) + cos(y)

因此,inmat的值位于随机位置。我想要一种outmat<-interpolate(inmat,x,y,gridx,gridy)函数,其中inmatxy都是矩阵或向量(展开后的矩阵)。
我还发现SciPy有一个http://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.interp2d.html可以实现这个功能。在R包中是否有这样的功能,还是需要从SciPy或MatLab代码进行移植?

请参见http://stackoverflow.com/questions/18769146/interpolating-an-irregular-grid。 - Andrie
可能是在地图上绘制插值数据的重复问题。 - Spacedman
@Andrie 谢谢 - 我正在查看 akima::interp 函数并会回报。 - Carl Witthoft
我不确定链接问题中的autoKrige答案是否能够满足我的需求,因为Krige函数似乎要求输入坐标的线性相关性,而这里我有一组完全随机的有序对。我可能只是对autoKrige的使用了解不足。 - Carl Witthoft
1个回答

1
这些链接提供了指向无数个执行Kriging或其他插值函数的R软件包。我在此发布我个人的选择作为答案,以结束这个问题。我发现akima::interp是一个简单直接的函数,可对任意采样点集进行二维插值。这并不意味着它适用于每个人,我猜那些处理地理数据的人可能更喜欢专门设计用于处理特定地理勘测相关文件类型和纬度/经度坐标系统的软件包。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接