小编yur*_*sen的帖子

&& vs ST_Intersects 性能

我试图找出位于矩形区域(信封)内的点。我在使用了一点点难度的理解性能影响&&运营商相比ST_Intersect

但是,我想我在尝试提出我的问题时解释了我自己的问题。我无论如何都会提交它,以防它对某人有用。

&&的手册说(具有讽刺意味的是,页面名称是 geometry_overlaps.html):

&& — 如果 A 的 2D 边界框与 B 的 2D 边界框相交,则返回 TRUE。`

ST_Intersects的手册说:

如果几何/地理“在二维空间上相交”-(共享空间的任何部分),则返回 TRUE,如果不相交(它们不相交),则返回 FALSE。对于地理 - 容差为 0.00001 米(因此任何靠近的点都被视为相交)

ST_Intersects在这种情况下将返回 true。因为我&&在任何一种情况下都使用矩形边界框,所以我的目标运算符几乎做同样的事情。我想知道是否&&是我的目的最快的运营商?感觉&&必须做更少的检查,所以它必须更有效率。

这是一个直接复制自&&,ST_Intersects改编的示例:

SELECT
        t1.id AS t1,
        t2.id AS t2,
        t1.ln && t2.ln AS "&&",
        ST_Intersects(t1.ln,t2.ln)
FROM ( VALUES
        (1, 'LINESTRING(0 0, 3 3)'::geometry),
        (2, 'LINESTRING(0 1, 0 5)'::geometry)
) AS t1(id,ln)
CROSS JOIN (VALUES
        (3, 'LINESTRING(1 2, 4 …
Run Code Online (Sandbox Code Playgroud)

postgresql spatial postgis

3
推荐指数
1
解决办法
2270
查看次数

标签 统计

postgis ×1

postgresql ×1

spatial ×1