微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 scipy kdtree 中插入对象?

如何解决在 scipy kdtree 中插入对象?

我试图通过由对象而不是纯坐标构建的 scipy 的 KD_tree 类来创建 kd-tree。对象有一个 (x,y) 元组,树基于此,但我想 包括对象本身作为节点/在节点中。

对此有一些“简单”的方法吗? 看过 scipy kdtree with meta data,表示使用第三维作为对象指针(?)。然后树不会将此值应用于邻居的比较吗? 我也和这位先生在同一条船上,现在可以跳过创建自己的 kd 树。

附注。这是我的第一篇文章,所以请对我温柔;)

解决方法

API of scipy's KdTree 需要一个二维坐标数组作为输入,而不是任何类型的对象数组。在这个数组中,行是点,列是这些点的坐标。

在您链接到的问题中,他的意思不是说有第三维,而是有第三个索引。假设您正在寻找一个最近的邻居并且您使用某个点 query,该函数将返回一个距离和一个索引。索引是对用于构建树的数组的引用。距离是查询点与树点之间的距离差。

所以要使用这棵树,您可以保留两个数组。一个是对象坐标,另一个是对象。它们的顺序应该相同,这样当查询返回索引时,它们在两个数组中的含义相同。

附注。这是我的第一个回答,所以也请保持温和 :D

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?