我看过这个算法的描述,如果有标准实现的话,我不想再重复了,我还知道如果有scipy/numpy实现的话,它通常比我在python中运行的任何东西都要快。
平面上有大量的点(几百万个)。从包含所有点的大盒子开始,我想连续地将盒子细分为等面积的子盒子。当子盒子中至少有1,000个点时,细分继续递归进行。算法返回一棵树,描述细分和点到树的每个叶节点的Map。这个算法的名字是什么(类似于分治法?),当给定一个2D numpy点数组时,有没有一个标准的方法来做这个算法?
vecaoik11#
它被称为quadtree分区,关于Python代码,请参见this thread。正如乔·金顿的评论,看看scipy.spatial.KDTree和/或scipy.spatial.cKDTree。
scipy.spatial.KDTree
scipy.spatial.cKDTree
1条答案
按热度按时间vecaoik11#
它被称为quadtree分区,关于Python代码,请参见this thread。
正如乔·金顿的评论,看看
scipy.spatial.KDTree
和/或scipy.spatial.cKDTree
。