2016-11-24 103 views
1

我有一个相对较大(空间)不规则网格。它由多个曲线网格组成(参见示例),其中包含单个单元格的所有x,y坐标和z值(高度)。不规则网格插值到常规网格

这些细胞可以在50米×50米的顺序。

我想插入一个1米x 1米的网格,如何有效地在python中做这样的事情?

如果可能,我想不创建一个网格,它也跨越没有网格单元格的区域,因为我认为插值数据集可能会很大。

grid example

编辑:尝试做2D插在python,但不能让它的工作 我发现这个脚本:http://scipy-cookbook.readthedocs.io/items/Matplotlib_Gridding_irregularly_spaced_data.html

从这个例子中,我试图做同样的,但得到的只有楠值。剧本:

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 ..

感谢

+0

看起来像量子gis(你可以很容易地做多边形布尔运算)的一个很好的用例,你可能会得到一个更好的答案交叉这个http:// gis。 stackexchange.com/ –

+0

我知道QGIS也是用python编写的,但我确实需要定期做这种插值(即自动化d),使用Scipy或python做numpy不是更好吗? – Yorian

+0

请参阅[运行和调度QGIS处理作业](http://www.qgistutorials.com/en/docs/running_qgis_jobs.html),如果它不够用,那么使用Scipy来做。 –

回答

1

上面的脚本不工作,它只是创造很多NaN值,给结果是不正确的印象..

相关问题