我是KD树的新手,我使用它们为一个数组(search_array)中的每个点找到最近邻居,与第二个数组中的所有点(vec_array)进行比较。
两个数组的格式如下:
array([[ 51.54094696, 0.09767043],
[ 51.53620148, 0.0798 ],
[ 51.53620148, 0.0798 ],
...,
[ 51.54118347, -0.08202313],
[ 48.84996033, 2.32329845],
[ 40.42570496, -3.70100427]])
这是我的代码:
def kdtree(search_points, vec_points):
mytree = scipy.spatial.cKDTree(search_points)
dist, indexes = mytree.query(vec_points)
return indexes, dist
result = kdtree(vec_array,search_array)
输出:
(array([1361, 1339, 1339, ..., 1139, 1766, 1711]),
array([ 0.01365104, 0.00059667, 0.00059667, ..., 0.00151025,
0.00754338, 0.00203098]))
第二个阵列显然是距离,但我无法弄清楚它是什么单位,如果有人能够启发我,我将非常感激!
答案 0 :(得分:1)
正如Warren在上面的评论中所表达的那样,单位与输入数组中的单位相同。