快速空间搜索算法/包

时间:2015-07-09 00:54:43

标签: algorithm geospatial spatial

我有一个数据集,它有空间对象(下图中的红色斑点),覆盖了一些像素或网格点 - 但是有不规则的形状。我有另一个数据集,其中包含具有2D坐标的点,我想知道此数据集中的每个点是否与任何空间对象的任何像素都在一定距离内。我遇到的主要问题是我必须明确地查看每个对象结构以找到它的位置和像素。我有没有办法索引数据的空间信息,以便我可以更有效地执行此搜索?现在,我正在做蛮力,从第二个数据集给出一个点我必须遍历每个对象,检查它的位置,检查其像素的位置,然后测试任何一个像素是否在距离X的距离之内关键点。我正在使用MATLAB,但如果有任何软件包,我可以使用任何语言都很棒。

enter image description here

1 个答案:

答案 0 :(得分:1)

有许多空间索引解决方案quadtreesr-tree,它们列在here中。还有一些工具包含QGISGRASS等内置工具。如果您有大量数据,还有像PostGIS这样的重型解决方案。

然而,查看您的图像,并且由于您声明您的对象已经光栅化,您可以将上面的对象图像转换为二进制图像吗?你的对象是1,背景是0?如果您的距离是常数,那么您可以按该大小dilate二进制图像。然后进行查找所有你需要做的就是光栅化你的测试点并查看它是1还是0.如果你的对象或距离阈值在你的问题中有所不同,那么我会使用上面列出的一个空间索引。