2016-11-24 104 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值,給結果是不正確的印象..

相關問題