2016-04-21 134 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包内插数据的更复杂的方法,但我从来没有用过这个。