【问题标题】:How to interpolate spatial data from irregular grid to regular grid using the max of the k-nearest neighbours?如何使用 k 最近邻的最大值将空间数据从不规则网格插入到规则网格?
【发布时间】:2020-09-25 21:45:49
【问题描述】:

我有一个问题困扰了我几天。 :

有 17 个 numpy 数组,其中包含值和对应的经纬度坐标。它们中的每一个都包含 360*600 点。这些点在某些部分重叠。我最终想要做的是在一个常规网格中组合数据。

使用常见的scipy.interpolate.griddata 函数时,我遇到的问题是,在这些重叠区域中,我经常有不同的值。这会导致您在第一张图片中看到奇怪的人工制品:

我的第一个想法是取插值中使用的值的最大值。 我发现scipy.interpolate.griddata 使用三角测量进行插值,但实际上我找不到可以适应的管道。

我希望你能理解我不分享任何代码 bc。数据集很大,我的问题更多是关于找到最佳实践或接收一些有趣的想法来解决这个问题。预先感谢您的支持。

【问题讨论】:

    标签: python numpy scipy spatial scipy-spatial


    【解决方案1】:

    也许首先计算规则网格点之间的距离矩阵(x 和现有的不规则网格点yhttps://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.distance_matrix.html

    然后,对于每个点,找到k 最小距离的索引,并在不规则网格上取该值的最大值。

    Disclamer:我不知道它是如何扩展的 - 以及您对性能的要求。

    编辑:您可能能够预先消除特定区域的数据集,以最大程度地减少计算所有距离矩阵的工作量。

    【讨论】:

      猜你喜欢
      • 2014-03-08
      • 2013-03-13
      • 1970-01-01
      • 2016-02-28
      • 2011-10-20
      • 2011-12-03
      • 2023-03-10
      • 2018-08-14
      • 2019-09-24
      相关资源
      最近更新 更多