【发布时间】:2015-12-02 04:18:08
【问题描述】:
我有一个很大的 x 和 y 坐标列表,存储在 numpy 数组中。
Coordinates = [[ 60037633 289492298]
[ 60782468 289401668]
[ 60057234 289419794]]
...
...
我想要的是找到特定距离(比如说 3 米)内的所有最近邻居并存储结果,以便我以后可以对结果进行进一步分析。
对于我发现的大多数包,有必要确定应该找到多少个 NN,但我只希望所有都在设定的距离内。
我怎样才能实现这样的目标?对于大型数据集(数百万个点)而言,最快和最好的方法是什么?
【问题讨论】:
-
您是否尝试过自己做这件事?你的代码现在是什么样子的?你能举一个你试图计算的例子吗(即 3 米是什么意思)?这些是 GPS 坐标吗?
-
from scipy import spatial myTreeName=spatial.cKDTree(Coordinates,leafsize=100) for item in Coordinates: TheResult=myTreeName.query(item,k=20,distance_upper_bound=3)是我之前尝试过的,但在这里我必须指定我想找到多少最近的邻居。是的,这些是 GPS 坐标(X,Y),我想为数据集中的每个点找到 3 米半径内的所有 NN。
标签: python numpy nearest-neighbor