kdtree相关内容

最近邻搜索 kdTree

到 N 个点的列表 [(x_1,y_1), (x_2,y_2), ... ] 我试图找到每个点的最近邻居基于距离的点.我的数据集太大而无法使用蛮力方法,因此 KDtree 似乎是最好的. 我看到 sklearn.neighbors.KDTree 可以找到最近的邻居,而不是从头开始实现.这可以用于查找每个粒子的最近邻居,即返回一个dim(N)列表? 解决方案 这个问题很宽泛,缺少细节. ..
发布时间:2021-12-25 14:46:28 Python

KD 树和 R 树有什么区别?

我看了KD-tree和R-tree的定义.在我看来,它们几乎相同. KD 树和 R 树有什么区别? 解决方案 R-trees 和 kd-trees 基于类似的想法(基于轴对齐区域的空间分区),但主要区别在于: kd 树中的节点表示分离平面,而 R 树中的节点表示边界框. kd-trees 将整个空间划分为多个区域,而 R-trees 仅将包含感兴趣点的空间子集划分. kd- ..
发布时间:2021-12-22 08:26:24 其他开发

经度/纬度的 KDTree

Python 中是否有任何软件包允许对球体表面的经度/纬度进行类似 kdtree 的操作?(这需要适当考虑球面距离,以及经度的环绕). 解决方案 二叉搜索树无法通过设计处理极坐标表示的环绕.您可能需要将坐标转换为 3D 笛卡尔空间,然后应用您喜欢的搜索算法,例如 kD-Tree、Octree 等. 或者,如果您可以将坐标的输入范围限制在表面上的一个小区域,您可以将适当的地图投影应用于 ..
发布时间:2021-12-22 08:13:27 Python

从另一个数据集中查找数据的对应关系

我有数据目录,我想在我的MCMC 代码.关键是实现的速度,以避免减慢我的马尔可夫链蒙特卡罗采样.问题:在目录中,我在第一列和第二列中有两个参数,称为 ra 和 dec,它们是天空坐标: data=np.loadtxt('Final.Cluster.Shear.NegligibleShotNoise.Redshift.cat')ra=数据[:,0]十进制=数据[:,1] 然后在第七列和第八列的X ..
发布时间:2021-11-18 04:26:01 Python

SciPy KDTree 距离单位?

假设我有数组,其中第 1 列以英尺为单位,第 2 列以英尺为单位,第 3 列以秒为单位.例如: x = [50 40 30] 然后我有另一个数组,y,具有相同的单位和相同的列数,但有很多行.然后我用 Scipy 把它变成一个 KDTree: tree = scipy.KDTree(y) 然后查询那棵树: distance,index = tree.query(x,k=1) 默认情况下, ..
发布时间:2021-07-16 21:17:26 Python

scipy.spatial ValueError:“x 必须由长度为 %d 但形状为 %s 的向量组成"

Scipy 拥有出色的 空间分析 包,其中包括一棵 K 维树.我正在尝试使用查询功能,它返回此错误: ValueError: x 必须由长度为 6 的向量组成,但具有形状 (2,) 有人知道这个错误指的是什么吗? 从一些谷歌搜索我发现它有这种通用格式: raise ValueError("x 必须由长度为 %d 的向量组成,但形状为 %s" % (self.m, np.shap ..
发布时间:2021-07-16 21:10:14 Python

如何使用 KDTree.query_ball_tree 在 x,y 网格中查找点集

我在 python 中工作,我有一个 x,y 网格,它们是 numpy 数组.我需要为网格中的每个点 (x1,y1) 找到与 (x1,y1) 相距 r 的点.Scipy 有一个函数 KDTree.query_ball_tree,它将一个 KD Tree 对象(可以从 numpy 数组构造)和一个距离 r 作为输入,但我无法理解它是如何工作的. 例如,请考虑以下几点: [(1, 1), (2 ..
发布时间:2021-07-16 20:48:54 Python

scipy.spatial.KDTree 和 scipy.spatial.cKDTree 的区别

这两种算法有什么区别? 解决方案 cKDTree 是 KDTree,用 C++ 实现,封装在 Cython 中,因此速度更快. 每一个都是 一个二叉树,每个节点代表一个轴对齐的超矩形.每个节点指定一个轴,并根据点沿该轴的坐标是大于还是小于特定值来分割点集. 但是 KDTree 还支持所有邻居查询,包括点数组和其他 kd 树.这些确实使用了相当有效的算法,但 kd-t ..
发布时间:2021-07-16 20:43:03 Python

有没有办法在Scipy中向KD树实现添加点

我有一组要为其构建 KD 树的点.一段时间后,我想定期向此 KDTree 添加更多点.在 scipy 实现中有什么方法可以做到这一点 解决方案 k-d-trees 的问题在于它们不是为更新而设计的. 虽然您可以稍微轻松地插入对象(如果您使用基于指针的表示,它比基于数组的树需要更多的内存),并使用墓碑消息等技巧进行删除,但执行此类更改将降级树的性能. 我不知道增量重新平衡 k-d ..
发布时间:2021-07-16 20:37:47 Python

python sklearn KDTree与haversine距离

我尝试创建一个 WGS84 坐标的 KD 树并找到一定半径内的邻居 from sklearn.neighbors.dist_metrics import DistanceMetric从 sklearn.neighbors.kd_tree 导入 KDTreeT = KDTree([[47.8665, 8.90123]], metric=DistanceMetric.get_metric('have ..
发布时间:2021-07-16 19:57:45 Python

理解 scipy.spatial.KDTree 中的 `leafsize`

问题说明: 我在 3D 空间中有 150k 个点,它们的坐标存储在一个矩阵中,维度为 [150k, 3] 以毫米为单位. 我想找到给定点 p 在半径 r 内的所有邻居.我想以最准确的方式做到这一点. 我应该如何选择我的 leafsize 参数? from scipy.spatial import KDTree将 numpy 导入为 nppts = np.random.rand( ..
发布时间:2021-06-07 18:56:58 其他开发

K-d 树:具有易处理伪代码的最近邻搜索算法

维基百科中最近邻 (NN) 搜索的伪代码对我来说不够易于处理.与实现有关的帖子很少,但它们似乎是特定于语言的.所以我发现很难理解 NN 搜索是如何工作的.该图取自 https://www.cs.cmu.edu/~ckingsf/bioinfo-lectures/kdtrees.pdf.我试图通过一个特定的案例来理解它,比如查询点 Q = (52,52).假设两个dim是(x,y),根级被x-dim ..
发布时间:2021-06-07 18:56:55 其他开发

索引k-d树?

我需要索引一棵 k-d 树,并且可以稍后匹配它的一部分. MySQL有能力吗?有没有其他选择? 解决方案 可以试试PostgreSQL 9.1,它可以支持最近邻搜索索引 http://excoventures.com/talks/knn.pdf ..
发布时间:2021-06-05 19:44:11 数据库

四叉树和Kd树

我在各个位置都有一组经度和纬度,并且也知道我当前位置的经度和纬度.我必须从当前位置找出最近的地方. 从Kdtree和Quadtree中哪种算法是最好的算法,以便从经度和纬度集中找出相邻的位置? 一个人比另一个人有什么优势? 出于上述目的,我们如何在C#中实现这些算法? 解决方案 比较空间索引技术我想将第3种方法引入我们的比较研究中,这称为网格索引.为了理解四叉树,我想先进入网格索 ..
发布时间:2021-05-10 19:10:23 C#/.NET

带有元数据的scipy kdtree

我目前正在寻找一种方法来构建几棵kd树,以便快速查询某些n维数据.但是,scipy KD树算法存在一些问题 我的数据由 id->组成.{数据:一些数据,坐标:x,y} 我希望能够基于坐标和k近邻的ID进行查询,并获取固定半径的邻居的ID.从KDTree和cKDtree的科学实现来看,这是不可用的. 我的其他选择是编写我自己的KD树,因为我只是我,否则...不会那么好. 解决 ..
发布时间:2021-04-02 20:41:18 Python

如何使用kd-tree确定字符串相似度?

我正在尝试利用k个最近邻居解决字符串相似性问题,即给定一个字符串和一个知识库,我想输出与给定字符串相似的k个字符串.是否有任何教程可以解释如何利用kd树有效地进行k最近邻查找字符串?字符串长度不能超过20个字符. 解决方案 可能是我大约一年前读过的最热门的博客文章之一: ..
发布时间:2021-04-02 20:31:30 Python

最近邻搜索4D空间python快速-矢量化

对于X中的每个观测值(有20个),我想获得k(3)个最近的邻居. 如何使它快速支持多达3到400万行? 是否可以加快循环遍历元素的速度?也许通过numpy,numba或某种矢量化? Python中的幼稚循环: import numpy as np from sklearn.neighbors import KDTree n_points = 20 d_dimensions = 4 k ..
发布时间:2020-11-27 20:07:10 Python

kdtree用于地理空间点搜索

我正在尝试为点几何找到最近的邻居,并向我提供纬度和经度信息.经过大量搜索后,我得出结论,使用基于kd-tree的方法将是最佳选择.到目前为止,我已经用kd-tree尝试了三种不同的方法,但是都没有用. 使用墨卡托(UTM)投影.这是最没有用的,因为事实证明距离计算是完全错误的,特别是因为这些点分布在全球各地. 使用坐标本身的经纬度系统. KdTree在纬度和经度之间切换,以拆分平面.这 ..
发布时间:2020-11-13 19:47:28 其他开发