У меня есть numpy.ndarray из 3d-точек, то есть np.shape его (4350,3) и такой второй numpy.ndarray из 3d-точек np.shape (10510,3). Сейчас я пытаюсь найти правильный пакет python для максимально быстрого вычисления ближайших соседей во втором массиве точек в первом массиве.
Я нашел довольно похожий вопрос: найдите k ближайших соседей точки в трехмерном пространстве с помощью python numpy но я не понимаю, как использовать решение для моей проблемы.
Я очень, очень ценю вашу помощь в этом!
Вот способ KDTree:
KDTree
from scipy.spatial import KDTree data= np.random.rand(10510,3) sample= np.random.rand(4350,3) kdtree=KDTree(data)
Тогда dist,points=kdtree.query(sample,2) даст вам 2 лучших соседа для 4350 кандидатов примерно за одну секунду.
dist,points=kdtree.query(sample,2)