将不规则间隔的数据插值为三维网格

时间:2016-04-21 06:17:36

标签: python numpy multidimensional-array 3d interpolation

我正在处理一些记录特定纬度,经度和压力(高度)坐标温度的仪器数据。我需要根据此仪器数据创建一个3d网格,然后我可以使用它来获取插值网格数据的垂直横截面。我已经查看了几乎所有可以找到的插值函数/库,而且我仍然无法绕过如何做到这一点。

我不想使用Mayavi,因为它似乎在我学校的服务器上出错,我现在不想尝试解决它。​​

这些数据目前在4个单独的1d阵列中,我用这些数据来模拟我想要得到的一些散点图。

以下是我的仪器数据点的结构: enter image description here

以下是我要创建的内容: enter image description here

最终,我想从这些点创建某种3d轮廓,我可以采取切片。每个绘制的点都附有相应的温度,这就是我认为在尺寸和诸如此类的方面让我失望的原因。

1 个答案:

答案 0 :(得分:1)

从非结构化数据到结构化数据集,有几个选项可供选择。

最简单的选择可能是使用scipy interpolate.griddata方法,该方法可以使用线性或三次插值来插入非结构化点。

另一个选择是定义网格,然后平均落入每个网格单元格的所有非结构化点,为您提供数据的网格化表示。您可以使用CIS之类的工具轻松完成此操作(完全披露,我编写此包以完成此类操作)。

或者,通过尝试根据非结构化数据确定网格点的最可能值,例如使用带有kriging包的pyKriging,有更复杂的内插数据的方法,尽管我从来没有用过这个。