ST_Touches — Testar om två geometrier har minst en gemensam punkt, men deras inre delar inte skär varandra
boolean ST_Touches(
geometry A, geometry B)
;
Returnerar TRUE
om A och B skär varandra, men deras interiörer inte skär varandra. På motsvarande sätt har A och B minst en gemensam punkt och de gemensamma punkterna ligger inom minst en gräns. För Point/Point-indata är relationen alltid FALSK
, eftersom punkter inte har någon gräns.
I matematiska termer: ST_Touches(A, B) ⇔ (Int(A) ⋂ Int(B) = ∅) ∧ (A ⋂ B ≠ ∅)
Detta förhållande gäller om DE-9IM Intersection Matrix för de två geometrierna matchar en av:
FT*******
F**T*****
F***T****
![]() |
|
&index_aware; För att undvika att använda ett index, använd |
![]() |
|
Förbättrad: 3.0.0 aktiverade stöd för |
Denna metod implementerar OGC:s implementeringsspecifikation för enkla funktioner för SQL 1.1. s2.1.1.2 // s2.1.13.3
Denna metod implementerar SQL/MM-specifikationen. SQL-MM 3: 5.1.28
Predikatet ST_Touches
returnerar TRUE
i följande exempel.
![]()
|
![]()
|
![]()
|
![]()
|
![]()
|
![]()
|
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)