如何利用k近邻的最大值将不规则网格的空间数据插值到规则网格?

问题描述 投票:0回答:1

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

有17个numpy数组的值和对应的经纬度坐标。其中每个数组包含360*600个点。这些点在某些地方是重叠的。我最终想做的是在一个规则的网格上有一个数据的合成。

用普通的 scipy.interpolate.griddata 函数,但我遇到的问题是,在这些重叠的区域,我经常有不同的值。这导致了奇怪的伪影,你可以在第一张图中看到。

enter image description here

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

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

python numpy scipy spatial scipy-spatial
1个回答
0
投票

也许先计算一下你的常规网格点之间的距离矩阵 (x 和现有的不规则的 y:https:/docs.scipy.orgdocscipyreferencegeneratedscipy.spatial.distance_matrix.html。

然后,对于每一个点,找出其中的指数。k 最小的距离,并取不规则网格上的最大值。

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

编辑:你也许可以预先删除特定区域的数据集,以减少计算所有距离矩阵的工作量。

© www.soinside.com 2019 - 2024. All rights reserved.