包含零距离的Scipy cKDTree最近邻

2024-09-28 18:56:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用Scipy cKDTree找到远处的邻居。最重要的是,我也想要点本身(零距离)。CKD树。查询给出所有邻居,但没有零距离。在

有办法吗?在

谢谢


Tags: scipy办法ckdtreeckd零距离
1条回答
网友
1楼 · 发布于 2024-09-28 18:56:23

我不能真正重现您的问题(或者它可能取决于您用于查询树的方法)。在

考虑到这个简单的代码片段:

>>> from scipy.spatial import cKDTree
>>> import numpy as np

>>> points_ref = np.array([(1, 1), (3, 3), (4, 4), (5, 4), (6, 6)])
>>> tree = cKDTree(points_ref)

使用方法^{}查询点2周围距离(4, 4)的最近邻可以得到如下结果:

^{pr2}$

返回距离为0的点。在

使用方法^{}查询n-最近的邻居似乎也返回距离为0的点:

>>> _, idx = tree.query((3, 3), k=2)
>>> points_ref[idx]
# array([[3, 3], [4, 4]])

相关问题 更多 >