名称

ST_Disjoint — 测试两个几何体是否没有公共点

语法

boolean ST_Disjoint( geometry A , geometry B );

描述

如果两个几何体不相交,则返回 true。如果几何体没有公共点,则不相交。

如果一对几何体有任何其他空间关系为真,则它们不相交。不相交意味着 ST_Intersects 为假。

用数学术语来说:ST_Disjoint(A, B) ⇔ A ⋂ B = ∅

[Important]

增强:3.0.0 启用了对 GEOMETRYCOLLECTION 的支持

由 GEOS 模块执行

[Note]

此函数调用不使用索引。可以将取反的 ST_Intersects 谓词用作一种使用索引的性能更好的替代方法:ST_Disjoint(A,B) = NOT ST_Intersects(A,B)

[Note]

注意:这是返回布尔值(而非整数)的“允许”版本。

此方法实现了 OGC 简单要素 SQL 1.1 实施规范。

s2.1.1.2 //s2.1.13.3 - a.Relate(b, 'FF*FF****')

此方法实现了 SQL/MM 规范。

SQL-MM 3: 5.1.26

示例

SELECT ST_Disjoint('POINT(0 0)'::geometry, 'LINESTRING ( 2 0, 0 2 )'::geometry);
 st_disjoint
---------------
 t
(1 row)
SELECT ST_Disjoint('POINT(0 0)'::geometry, 'LINESTRING ( 0 0, 0 2 )'::geometry);
 st_disjoint
---------------
 f
(1 row)
    

另请参阅

ST_Intersects