2016-04-21 66 views
0

我正在使用一些儀器數據記錄特定緯度,經度和壓力(高度)座標處的溫度。我需要從這個儀器數據中創建一個3d網格,然後我可以使用它來獲取插值網格數據的垂直截面。我已經看過幾乎每一個插值函數/庫,我都可以找到,而且我仍然無法繞着我的腦袋繞過如何做到這一點。將不規則間距數據插值到三維網格

我不想使用Mayavi,因爲它似乎在我學校的服務器上出錯,我寧願不嘗試處理現在修復它。

該數據目前在4個獨立的1d陣列中,我用它們模擬了一些我試圖獲得的散點圖。

這裏是我的儀器數據點的結構: enter image description here

,這裏是什麼,我試圖創建: enter image description here

最後,我想創建某種三維輪廓從這些點我可以切片。每個繪製的點都有相應的溫度,這實際上是我認爲在尺寸和任何方面都讓我失望的原因。

+0

Matplotlib也許是你最好的選擇:http://matplotlib.org/mpl_toolkits/mplot3d/tutorial.html#scatter-plots –

+0

也許我寫得很差,但我不需要創建一個散點圖。我只是用它來顯示我試圖創建的數組的結構。我需要將我的3d溫度數組插入一個設定區域的網格3D數組中。 – pythonismyjam

回答

0

從非結構化數據到結構化數據集有幾個選項。

最簡單的選擇可能是使用scipy interpolate.griddata方法,該方法可以使用線性或三次插值插值非結構化點。

另一種選擇是定義網格,然後對落入每個網格單元的所有非結構化點進行平均,給出網格化數據的表示。你可以使用諸如CIS這樣的工具輕鬆地完成這件事(完全公開,我寫這個包來做這種事情)。

或者,也有試圖通過確定基於非結構化數據的網格點的最可能的值,例如使用krigingpyKriging包內插數據的更復雜的方法,但我從來沒有用過這個。