ST_Disjoint

确定两个 GEOMETRY 对象是否未相交也未接触。

如果 ST_Disjoint 针对一对 GEOMETRY 对象返回 TRUE,则 ST_Intersects 将针对这两个相同的对象返回 FALSE。

不支持顶点或边界位于国际日期变更线 (IDL) 或南、北极的 GEOGRAPHY 多边形。

行为类型

不可变

语法

ST_Disjoint( g1, g2
                         [USING PARAMETERS spheroid={true | false}] )

参数

g1
空间对象,类型为 GEOMETRY
g2
空间对象,类型为 GEOMETRY

参数

spheroid = {true | false}

(可选)用于指定是否使用理想球体或 WGS84 的 BOOLEAN 值。

默认值:False

返回

BOOLEAN

支持的数据类型

兼容的 GEOGRAPHY 对:

数据类型
GEOGRAPHY (WGS84)
Point-Point
Linestring-Point
Polygon-Point
Multipolygon-Point

示例

以下示例显示了 ST_Disjoint 的用法。

两个未相交或接触的多边形:

=> SELECT ST_Disjoint (ST_GeomFromText('POLYGON((-1 2,0 3,0 1,-1 2))'),
   ST_GeomFromText('POLYGON((1 0, 1 1, 2 2, 1 0))'));
 ST_Disjoint
-------------
 t
(1 row)

两个相交的线串:

=> SELECT ST_Disjoint(ST_GeomFromText('LINESTRING(-1 2,0 3)'),
   ST_GeomFromText('LINESTRING(0 2,-1 3)'));
 ST_Disjoint
-------------
 f
(1 row)

两个在一个点接触的多边形:

=> SELECT ST_Disjoint (ST_GeomFromText('POLYGON((-1 2, 0 3, 0 1, -1 2))'),
   ST_GeomFromText('POLYGON((0 2, 1 1, 1 2, 0 2))'));
 ST_Disjoint
--------------
 f
(1 row)

另请参阅