Python 不规则网格填充数据间隙的双线性插值

Python 不规则网格填充数据间隙的双线性插值,python,r,datagrid,interpolation,bilinear-interpolation,Python,R,Datagrid,Interpolation,Bilinear Interpolation,我想对不规则的高度数据网格执行双线性插值。草图大致显示了我的网格,例如x,y对。我只有米色的数据点,我想对中间的所有点进行插值。插值 我的y值在1-10之间,我的x值在70-290之间。成对的z在4880和5000之间变化,最小值在较小的x值上。 到目前为止,我只使用一个线性方程进行插值(这一次不可能),所以我不太确定如何解决这个问题。我在考虑用Python或R来做这件事 编辑: 一些示例数据: v1 = (85,1,4880); v2 = (284,1,5008); v3 = (91,10,

我想对不规则的高度数据网格执行双线性插值。草图大致显示了我的网格,例如x,y对。我只有米色的数据点,我想对中间的所有点进行插值。插值

我的y值在1-10之间,我的x值在70-290之间。成对的z在4880和5000之间变化,最小值在较小的x值上。 到目前为止,我只使用一个线性方程进行插值(这一次不可能),所以我不太确定如何解决这个问题。我在考虑用Python或R来做这件事

编辑: 一些示例数据:

v1 = (85,1,4880); v2 = (284,1,5008); v3 = (91,10,4883); 
v4 = (288,10,5008); v5 = (79,3,4879); v6 = (275,3,4995)

在R中,可以使用
akima
中的函数
interp()
,该函数使用中介绍的双线性插值算法


你能发布你的数据吗?两个包含x和y坐标的向量就可以了。啊,对不起!是的,我会更新帖子!酷,谢谢!我想知道是否有机会将其导出为光栅或格式,将其可视化为点散点图?@AldiKasse2:
ip$z
只是一个值矩阵,看看say
ip$z[1:10,1:5]
。如果您想将其输出为图像文件,请搜索将矩阵另存为r中的图像的方法。或者使用上面发布的
光栅
方法。
library(akima)

v1 = c(85,1,4880); v2 = c(284,1,5008); v3 = c(91,10,4883); 
v4 = c(288,10,5008); v5 = c(79,3,4879); v6 = c(275,3,4995)

dat <- as.data.frame(rbind(v1, v2, v3, v4, v5, v6))
colnames(dat) <- c("x", "y", "z")

ip <- with(dat, akima::interp(x, y, z))
with(ip, filled.contour(x, y, z))
ip.r <- raster(ip$z)
extent(ip.r) <- extent(ip[1:2])
ip.r <- t(ip.r)

writeRaster(ip.r, "bilinear.tif")

ip.r_norm <- ip.r-minValue(ip.r)
ip.r_norm <- ip.r_norm/maxValue(ip.r_norm)

writeRaster(ip.r_norm, "bilinear_norm.tif")