返回给定的两个Geometry对象间的相接情况。

语法

boolean  ST_Touches(geometry  g1 , geometry  g2);

参数

参数名称 描述
g1 第一个Geometry对象。
g2 第二个Geometry对象。

描述

  • 如果g1和g2之间唯一的共同点位于g1和g2的边界的并集中,则返回True。
  • 两个对象间的DE-9IM交集关系满足以下结果之一:
    • FT*******
    • F**T*****
    • F***T****
  • ST_Touches关系适用于Area/Area、Line/Line、Line/Area、Point/Area和Point/Line。
  • ST_Touches关系不适用于Point/Point。
  • 该函数不支持GeometryCollection类型对象作为输入参数。
  • 该函数会自动生成一个bounding box用于利用Geometry对象上的索引。如果不想使用索引,请使用函数_ST_Touches。

示例

  • SELECT ST_Touches('LINESTRING(0 0,0 2)'::geometry, 'LINESTRING(0 2,0 3)'::geometry);
     st_touches
    ------------
     t
    (1 row)
                        
  • 不满足DE-9IM结果的情况:
    SELECT ST_Touches(g1,g2), ST_Relate(g1,g2) FROM (SELECT 'LINESTRING(0 0,0 2)'::geometry as g1, 'LINESTRING(0 1,0 3)'::geometry as g2) as test;
     st_touches | st_relate
    ------------+-----------
     f          | 1010F0102
    (1 row)