Я реализовал двумерное дерево kd в Javascript (проверьте это на GitHub), и я использую его для поиска ближайшего соседа вместе с D3.
Я узнал, что есть реализация дерева квадрантов в D3, но также обнаружил, что API документация скудна, а поиск в Google не дает результатов. Когда это возможно, я предпочитаю использовать библиотеку, которую посещали многие люди, чем свое заново изобретенное колесо.
Как выполнить поиск ближайшего соседа с помощью квадродерева D3? Под ближайшим соседом я имею в виду:
- Заполните квадродерево двумерными точками
- Поиск точки, содержащейся в дереве квадрантов, ближайшей к новой точке, которая не обязательно существует в дереве квадрантов.