类别:

地理空间函数

ST_DISJOINT

如果两个 GEOGRAPHY 对象或两个 GEOMETRY 对象不相交(即不共享空间的任何部分),则返回 TRUE。ST_DISJOINT 等同于 NOT ST_INTERSECTS(expr1, expr2)

备注

此函数不支持使用 GeometryCollection 或 FeatureCollection 作为输入值。

另请参阅:

ST_INTERSECTS

语法

ST_DISJOINT( <geography_expression_1> , <geography_expression_2> )

ST_DISJOINT( <geometry_expression_1> , <geometry_expression_2> )
Copy

实参

geography_expression_1

GEOGRAPHY 对象。

geography_expression_2

GEOGRAPHY 对象。

geometry_expression_1

GEOMETRY 对象。

geometry_expression_2

GEOMETRY 对象。

返回

BOOLEAN。

使用说明

  • 对于 GEOMETRY 对象,如果两个输入 GEOMETRY 对象具有不同的 SRIDs,该函数会报告错误。

示例

GEOGRAPHY 示例

以下示例使用 ST_DISJOINT 函数来确定两个地理空间对象是否不相交:

-- These two polygons are disjoint and do not intersect.
SELECT ST_DISJOINT(
    TO_GEOGRAPHY('POLYGON((0 0, 2 0, 2 2, 0 2, 0 0))'),
    TO_GEOGRAPHY('POLYGON((3 3, 5 3, 5 5, 3 5, 3 3))')
    );
+---------------------------------------------------------+
| ST_DISJOINT(                                            |
|     TO_GEOGRAPHY('POLYGON((0 0, 2 0, 2 2, 0 2, 0 0))'), |
|     TO_GEOGRAPHY('POLYGON((3 3, 5 3, 5 5, 3 5, 3 3))')  |
|     )                                                   |
|---------------------------------------------------------|
| True                                                    |
+---------------------------------------------------------+
Copy
-- These two polygons intersect and are not disjoint.
SELECT ST_DISJOINT(
    TO_GEOGRAPHY('POLYGON((0 0, 2 0, 2 2, 0 2, 0 0))'),
    TO_GEOGRAPHY('POLYGON((1 1, 3 1, 3 3, 1 3, 1 1))')
    );
+---------------------------------------------------------+
| ST_DISJOINT(                                            |
|     TO_GEOGRAPHY('POLYGON((0 0, 2 0, 2 2, 0 2, 0 0))'), |
|     TO_GEOGRAPHY('POLYGON((1 1, 3 1, 3 3, 1 3, 1 1))')  |
|     )                                                   |
|---------------------------------------------------------|
| False                                                   |
+---------------------------------------------------------+
Copy
语言: 中文