我正在使用Python编程,有两个numpy数组x和y组成的网格。我需要找到距离(x1,y1)点r距离的点。Scipy提供了一个函数KDTree.query_ball_tree,该函数需要一个KD树对象(可以从numpy数组中构建)和距离r作为输入,但我无法理解其工作原理。
例如,考虑以下点:
例如,考虑以下点:
[(1, 1), (2, 1), (3, 1), (4, 1), (1, 2), (2, 2), (3, 2), (4, 2), (1, 3), (2, 3), (3, 3), (4, 3), (1, 4), (2, 4), (3, 4), (4, 4)]`
我希望找到离点(1,1)
距离为2的所有点。输出应该是:
[(1,2),(1,3),(2,1),(3,1)]
我使用KDTree,因为我想避免使用for循环来遍历网格,因为网格大小为601x90(YxX),如果使用for循环将不会是最佳解决方案。请问有人能够为我提供一个示例,演示如何在我的情况下使用KDTree.query_ball_tree
函数吗?
KDTree.query_ball_tree
函数在哪个模块中定义,这使得回答问题变得困难。 - Hannes Ovrén