Kategorien:

Geodatenfunktionen

ST_DISJOINT

Gibt TRUE zurück, wenn die beiden Objekte nicht verbunden sind (d. h. es gibt keine Überschneidung im Raum). ST_DISJOINT entspricht NOT ST_INTERSECTS(Ausdruck1, Ausdruck2)

Siehe auch:

ST_INTERSECTS

Syntax

ST_DISJOINT( <geography_expression_1> , <geography_expression_2> )

Argumente

Geografischer_Ausdruck_1

Ein GEOGRAPHY-Objekt.

Geografischer_Ausdruck_2

Ein GEOGRAPHY-Objekt.

Rückgabewerte

Ein BOOLEAN-Wert.

Beispiele

In den folgenden Beispielen wird mithilfe der Funktion ST_DISJOINT ermittelt, ob zwei Geodatenobjekte räumlich getrennt sind:

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