不规则网格插值到规则网格

2024-10-01 05:05:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个相对大(空间上)不规则的网格。它由多个曲线网格(见示例)组成,我有每个单元格的所有x,y坐标和z值(高度)。在

这些单元的大小可以是50米x 50米

我想把它插入到一个1m×1m的网格中,在python中如何高效地完成这样的工作?在

如果可能的话,我不想创建一个同样跨越没有网格单元的区域的网格,因为我认为插值数据集可能会非常大。在

grid example

编辑:尝试在python中执行2D插值,但无法使其工作 我找到了这个脚本:http://scipy-cookbook.readthedocs.io/items/Matplotlib_Gridding_irregularly_spaced_data.html

在这个例子中,我尝试了同样的方法,但是只得到了nan值。剧本:

XZ2 = XZ[XZ != 0.].ravel()
YZ2 = YZ[YZ != 0.].ravel()
dps2 = dps[XZ != 0.].ravel()

# define grid.
xi = np.arange(math.floor(min(XZ2)), math.ceil(max(XZ2))+1, 1)
yi = np.arange(math.floor(min(YZ2)), math.ceil(max(YZ2))+1, 1)

# grid the data.
zi = griddata((XZ2, YZ2), dps, (xi[None,:], yi[:,None]), method='linear')

知道为什么吗?在

我没有在QGis中这样做,因为我觉得我应该可以用python来做这个。。在

谢谢


Tags: 网格datanpmathgrid单元插值xz