ST_Touches — 测试两个几何图形是否至少有一个共同点,但它们的内部不相交
boolean ST_Touches(
geometry A, geometry B)
;
如果 A 和 B 相交,但它们的内部不相交,则返回 TRUE
。 等价地,A和B至少有一个公共点,并且公共点至少位于一个边界内。 对于点/点输入,关系始终为 FALSE
,因为点没有边界。
在数学术语中:ST_Touches(A, B) ⇔ (Int(A) ⋂ Int(B) = ∅) ∧ (A ⋂ B ≠ ∅)
如果两个几何图形的 DE-9IM 交集矩阵匹配以下之一,则此关系成立:
FT*******
F**T*****
F***T****
此功能自动包括利用几何上可用的任何空间索引的边界框比较。 要避免使用索引,请改用 |
增强:3.0.0 启用了对 |
此方法实现了 SQL 1.1 的 OGC 简单功能规范。 s2.1.1.2 // s2.1.13.3
该方法实现了SQL/MM规范。 SQL-MM 3: 5.1.28
ST_Touches
谓词在以下示例中返回 TRUE
。
|
|
|
|
|
|
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)