gpt4 book ai didi

xquery - 使用 cts :circle-intersect 在 Marklogic 7 中搜索多边形中的点/圆

转载 作者:行者123 更新时间:2023-12-02 06:45:48 24 4
gpt4 key购买 nike

我有一个大约 1100 个多边形的列表,可以在 $polygons 中迭代(它们都没有相互重叠),我需要找到我的点或半径为 1 英里的圆属于/相交的多边形。我使用了下面的函数,大约需要 1 秒半的时间,这很好,但我想知道,是否还有另一种更好/更快的方法?我读过有关 R/M 树算法的内容,但我没有在数据库内索引任何矩形层次结构。我也在尝试 cts:polygon-intersect 看看它是否更快,但我对此表示怀疑。

cts:circle-intersects(cts:circle(1,cts:point(5.8864790,51.0006240)), $polygons)

最佳答案

您可以使用cts:bounding-boxes获取边界框(在多边形的情况下具有不同的粒度)并检查它们是否重叠,并且仅在重叠时才进行更昂贵的检查。检查两个盒子是否相交非常快。

关于xquery - 使用 cts :circle-intersect 在 Marklogic 7 中搜索多边形中的点/圆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28947372/

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