【问题标题】:Interpolation of irregularly spaced data into 3d grid将不规则间隔的数据插值到 3d 网格中
【发布时间】:2016-04-21 06:17:35
【问题描述】:

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

我不想使用 Mayavi,因为它似乎在我学校的服务器上出现了错误,我不想现在尝试修复它。

数据目前位于 4 个单独的 1d 数组中,我用这些数组模拟了一些我想要获取的散点图。

这是我的仪器数据点的结构:

这就是我要创建的内容:

最终,我想从这些点创建某种 3d 轮廓,我可以对其进行切片。每个绘制的点都有一个对应的温度,这真的是我认为在尺寸和诸如此类方面让我失望的东西。

【问题讨论】:

标签: python numpy multidimensional-array 3d interpolation


【解决方案1】:

有几个选项可以将您拥有的非结构化数据转换为结构化数据集。

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

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

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

【讨论】:

    猜你喜欢
    • 2011-10-20
    • 2016-02-28
    • 2014-03-08
    • 2013-03-13
    • 2019-06-27
    • 1970-01-01
    • 2011-04-21
    • 1970-01-01
    • 2020-09-25
    相关资源
    最近更新 更多