如果给定的两个Geometry对象在空间上相等,那么返回True。

语法

boolean  ST_Equals(geometry  a , geometry  b);

参数

参数名称 描述
a 第一个Geometry对象。
b 第二个Geometry对象。

描述

  • 空间上相等意味着满足ST_Within(A,B) = True的同时满足ST_Within(B,A) = True,当然,点的顺序可能不一致,但空间结构是一致的。

    可以使用ST_OrderingEquals检测点顺序是否一致。

  • 如果任一对象为无效的Geometry对象,则该函数将返回False,除非二者二进制相等。
  • 该函数不支持GeometryCollection类型对象作为输入参数。

示例

  • 点顺序不一样时也可以相等:
    SELECT ST_Equals('LINESTRING(0 1,2 3)'::geometry,'LINESTRING(2 3,0 1)'::geometry);
     st_equals
    -----------
     t
    (1 row)
                        
  • 空间相等即相等:
    SELECT ST_Equals('LINESTRING(0 1,0 3)'::geometry,'LINESTRING(0 1,0 2,0 3)'::geometry);
     st_equals
    -----------
     t
    (1 row)