Поиск ближайшего соседа: Питон

У меня есть двумерный массив:

MyArray = array([6588252.24, 1933573.3, 212.79, 0, 0],
                [6588253.79, 1933602.89, 212.66, 0, 0],
                 etc...)

Первые два элементаMyArray[0] а такжеMyArray[1] Х и Y координаты точек.

Для каждого элемента в массиве я хотел бы найтисамый быстрый способ вернуть своего единственного ближайшего соседа в радиусе X единицы. Мы предполагаем, что это в 2D-пространстве.

скажем для этого примера.X = 6

Я решил проблему, сравнив каждый элемент с каждым другим, но это занимает 15 минут или около того, когда ваш список имеет длину 22 000 пунктов. Мы надеемся в конечном итоге запустить это в списках около 30 миллионов баллов.

Я читал о K-деревьях и понимаю основную концепцию, но мне было трудно понять, как их писать.

Ответы на вопрос(1)

Ваш ответ на вопрос