ST_Touches — Prüft, ob zwei Geometrien mindestens einen Punkt gemeinsam haben, aber ihre Innenräume sich nicht schneiden
boolean ST_Touches(
geometry A, geometry B)
;
Rückgabe TRUE
wenn A und B sich schneiden, aber ihre Innenräume sich nicht schneiden. Äquivalent dazu haben A und B mindestens einen Punkt gemeinsam, und die gemeinsamen Punkte liegen in mindestens einer Begrenzung. Bei Punkt/Punkt-Eingaben ist die Beziehung immer FALSE
, da Punkte keine Begrenzung haben.
In mathematical terms: ST_Touches(A, B) ⇔ (Int(A) ⋂ Int(B) = ∅) ∧ (A ⋂ B ≠ ∅)
Diese Beziehung ist gegeben, wenn die DE-9IM-Schnittpunktmatrix für die beiden Geometrien einem der folgenden Werte entspricht:
FT*******
F**T*****
F***T****
Diese Funktion beinhaltet automatisch einen Bounding-Box-Vergleich, der alle räumlichen Indizes verwendet, die für die Geometrien verfügbar sind. Um die Verwendung eines Indexes zu vermeiden, verwenden Sie stattdessen |
Verbessert: 3.0.0 ermöglicht die Unterstützung von |
Diese Methode implementiert die OGC Simple Features Implementation Specification for SQL 1.1. s2.1.1.2 // s2.1.13.3
Diese Methode setzt die SQL/MM-Spezifikation um. SQL-MM 3: 5.1.28
Das Prädikat ST_Touches
liefert TRUE
in den folgenden Beispielen.
|
|
|
|
|
|
SELECT ST_Touches('LINESTRING(0 0, 1 1, 0 2)'::geometry, 'POINT(1 1)'::geometry); st_touches ------------ f (1 row) SELECT ST_Touches('LINESTRING(0 0, 1 1, 0 2)'::geometry, 'POINT(0 2)'::geometry); st_touches ------------ t (1 row)