Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
纯Python四叉树实现_Python_Quadtree - Fatal编程技术网

纯Python四叉树实现

纯Python四叉树实现,python,quadtree,Python,Quadtree,全部, 有几个例子是关于使用Python实现四叉树的,但我的问题是,有人知道用纯Python编写的类可以像在单个.py文件中那样轻松地包含在我的项目中吗?这里列出了三个最流行的软件包,但我没有使用它们,因为运行它们需要所有依赖项。我真的想要一些轻量级的,相对简单易用的东西。我想通过传递整个地球的边界来调用脚本,并从那里开始工作我的方法(-180,-90180,90)) 谢谢, 亚当看一看。你需要2个文件。您可以将它们合并为一个。是一个非常轻量级的模块(我基于其他人的代码构建)。它是用纯Pytho

全部,

有几个例子是关于使用Python实现四叉树的,但我的问题是,有人知道用纯Python编写的类可以像在单个.py文件中那样轻松地包含在我的项目中吗?这里列出了三个最流行的软件包,但我没有使用它们,因为运行它们需要所有依赖项。我真的想要一些轻量级的,相对简单易用的东西。我想通过传递整个地球的边界来调用脚本,并从那里开始工作<代码>我的方法(-180,-90180,90))

谢谢, 亚当看一看。你需要2个文件。您可以将它们合并为一个。

是一个非常轻量级的模块(我基于其他人的代码构建)。它是用纯Python编写的,没有依赖项,并且根本不需要任何安装或编译。它是一个单独的.py文件,可以很容易地作为更大项目的一部分包括在内,这听起来像是这里要问的问题


它也有文档,支持Python 2x和3x

您链接到()的问题中的第二个库呢?这些依赖关系微不足道。code.google.com上的wiki页面(以及整个项目)似乎已经丢失。有人知道丢失信息的更新链接吗?真不幸。虽然tar.gz仍然可以在PyPi上使用,但我没有四叉树的经验,但我必须在轨迹分析项目中实现它。请让我知道,如果您的模块可以帮助分析轨迹(轨迹数据由x,y坐标序列组成),如果轨迹只是指表示运动的线几何体,则效果良好。但是lib并不关心几何体的类型,它只需要一个边界框(xmin、ymin、xmax、ymax)。因此,您可以在树中插入许多不同的轨迹BBox,然后可以查询树以快速查看某个区域中的轨迹。转到博客帖子中链接到的github repo,阅读具体的使用方法。非常感谢您的回复。请看这里,我试图在一个数据帧上实现这一点,我也不知道如何查询树以知道哪些轨迹属于哪些象限。哪怕是一点点帮助也会非常有用。谢谢。谢谢你的图书馆,我可以部分实现我想要的。但我想听听你对一种特殊情况的建议,在这种情况下,有两条非常接近的轨迹,它们都是水平的。所以他们两个都有自己的bbox,在轨迹上有两条直线。所以,如果我给一个相交框,它指向这两条轨迹之间的区域,尽管非常接近,这两条轨迹不会匹配。解决方案可能是在边界框周围创建一个缓冲框来解决此情况。请建议我可以做什么?如果交叉点bbox不包含两个轨迹bbox,则这是预期行为。不知道为什么你提到它们是水平的,不管怎样,行为都是一样的。或者,您的问题更多的是关于如何在缓冲区内获得接近的匹配?如果是这样,我建议提出一个新问题,简短的回答是“是”,您应该缓冲交叉口bbox。到目前为止,Pyqtree还没有一种方法来获取x最近值。