scipy库的kdtree函数返回的距离单位是什么?

3

我是新手,正在学习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]))

第二个数组显然是距离,但我无法确定其单位,如果有人能够告诉我,我将不胜感激!

1
单位与输入数组的单位相同。例如,您输入数组中前两个点之间的距离为np.sqrt((51.54094696 - 51.53620148)**2 + (0.09767043 - 0.0798)**2) = 0.018489776873052591。这些数字不是您预期的吗? - Warren Weckesser
没错!非常感谢你! - jedge
密切相关:http://stackoverflow.com/q/33741302/1461210 - ali_m
1个回答

1
正如Warren在上面的评论中所指出的那样,这些单位与输入数组中的单位相同。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接