カテゴリ:

地理空間関数

ST_DISJOINT

2つのオブジェクトが互いに素である(つまり、空間の任意の部分を共有しない)場合に TRUE を返します。ST_DISJOINT は、 NOT ST_INTERSECTS (式1、式2) と同等です。

こちらもご参照ください:

ST_INTERSECTS

構文

ST_DISJOINT( <geography_expression_1> , <geography_expression_2> )

引数

地理式1

GEOGRAPHY オブジェクトです。

地理式2

GEOGRAPHY オブジェクトです。

戻り値

BOOLEAN

次の例では、 ST_DISJOINT 関数を使用して、2つの地理空間オブジェクトが互いに素であるかどうかを判断します。

-- 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                                                    |
+---------------------------------------------------------+
-- 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                                                   |
+---------------------------------------------------------+