ST_Touches
Name
ST_Touches — Tests if two geometries have at least one point in common, but their interiors do not intersect
Synopsis
boolean
ST_Touches
(
geometry
A
, geometry
B
)
;
Description
Returns
TRUE
if A and B intersect,
but their interiors do not intersect. Equivalently, A and B have at least one point in common,
and the common points lie in at least one boundary.
For Point/Point inputs the relationship is always
FALSE
,
since points do not have a boundary.
In mathematical terms: ST_Touches(A, B) ⇔ (Int(A) ⋂ Int(B) ≠ ∅) ∧ (A ⋂ B ≠ ∅)
This relationship holds if the DE-9IM Intersection Matrix for the two geometries matches one of:
-
FT*******
-
F**T*****
-
F***T****
This function automatically includes a bounding box comparison that makes use of any spatial indexes that are available on the geometries.
To avoid using an index, use
|
Enhanced: 3.0.0 enabled support for
|
This method implements the OGC Simple Features Implementation Specification for SQL 1.1.
s2.1.1.2 // s2.1.13.3
This method implements the SQL/MM specification.
SQL-MM 3: 5.1.28
Examples
The
ST_Touches
predicate returns
TRUE
in the following examples.
|
|
|
|
|
|
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)