使用克里格法或最近邻法进行空间插值?
Spatial interpolation with kriging or nearest neighbor method?
这是一个关于数据插值的悬而未决的问题。
我的起点是几百个不均匀分布的 XYZ 点,即点云。
我想使用克里金法将 Z 值赋予由
定义的区域中的点
gridx = np.arange(0.0,300,20)
和
gridy = np.arange(0.0,300,20)
我希望能够根据需要平滑曲线。过去我在 ArcGIS 中使用最近邻取得了成功,但我确信在 python 中也有一种方法可以做到这一点。我曾尝试使用 PyKrige,但发现我无法调整太多,而且斜坡突然恢复到平均 Z 值。
此致,
菲尔
您可以使用 scikit-learn,其中包含 python 版本的 DACE,这是最初在 Matlab 中实现的流行克里金算法。
许多其他算法也可用于 regression/interpolation、聚类等
有些图书馆会自动优化参数,但您最好了解物理问题的性质。在 Python 中,我展示了一个二维 here that uses OpenTURNS 平台中的示例。
这是一个关于数据插值的悬而未决的问题。
我的起点是几百个不均匀分布的 XYZ 点,即点云。
我想使用克里金法将 Z 值赋予由
定义的区域中的点gridx = np.arange(0.0,300,20)
和
gridy = np.arange(0.0,300,20)
我希望能够根据需要平滑曲线。过去我在 ArcGIS 中使用最近邻取得了成功,但我确信在 python 中也有一种方法可以做到这一点。我曾尝试使用 PyKrige,但发现我无法调整太多,而且斜坡突然恢复到平均 Z 值。
此致,
菲尔
您可以使用 scikit-learn,其中包含 python 版本的 DACE,这是最初在 Matlab 中实现的流行克里金算法。
许多其他算法也可用于 regression/interpolation、聚类等
有些图书馆会自动优化参数,但您最好了解物理问题的性质。在 Python 中,我展示了一个二维 here that uses OpenTURNS 平台中的示例。