gpt4 book ai didi

c++ - 计算 rtrees 之间的交集

转载 作者:行者123 更新时间:2023-11-28 02:13:11 29 4
gpt4 key购买 nike

我正在关注 boost geometry rtree文档。我能够使用一个框执行空间查询,以检索与其相交的 rtree 元素列表。

我想知道是否有一种方法可以在 rtree 和另一个 rtree(相同类型)之间执行空间查询。

类似于:

typedef bg::model::point<float, 2, bg::cs::cartesian> point;
typedef bg::model::box<point> box;
typedef std::pair<box, unsigned> value;

bgi::rtree< value, bgi::quadratic<16> > rtree1;
//... create first rtree
bgi::rtree< value, bgi::quadratic<16> > rtree2;
//... create second rtree
std::vector<value> result_s;
rtree1.query(bgi::intersects(rtree2), std::back_inserter(result_s));
// At this point result_s should contain elements of rtree1 that intersect with rtree2

是否可能有类似的东西,或者我只能使用相同类型的 rtree 模板元素的元素执行查询?

最佳答案

我认为你的意思是所谓的“空间连接”。天真的方法会遍历较小树的所有元素并在较大树上执行矩形查询。对此有一些研究,只需在 scholar.google.com 上搜索 'spatial join' .

我不认为任何高级方法明显优于我上面描述的朴素方法,但我不是最新的主题。

关于c++ - 计算 rtrees 之间的交集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34952220/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com