PostGIS
Name
ST_Touches — Tests if two geometries have at least one point in common, but their interiors do not intersect
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: [.emphasis]#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*
-
FT*
-
FT*
|
|
[.inlinemediaobject] 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)
ST_RelateMatch |
ST_Within |