Name

= — 退货 TRUE 如果几何/地理A的坐标和坐标顺序与几何/地理B的坐标和坐标顺序相同。

Synopsis

boolean =( geometry A , geometry B );

boolean =( geography A , geography B );

描述

这个 = 运算符返回 TRUE 如果坐标和坐标顺序几何/地理A与几何/地理B的坐标和坐标顺序相同,则PostgreSQL使用=, <, and > 为几何定义的运算符,用于执行几何的内部排序和比较(即在GROUP BY或ORDER BY子句中)。

[Note]

只有在所有方面都完全相等、具有相同坐标、相同顺序的几何图形/地理区域才被该运算符视为相等。对于“空间相等”,这忽略了诸如坐标顺序之类的东西,并且可以检测覆盖具有不同表示的相同空间区域的要素,使用 ST_OrderingEqualsST_Equals

[Caution]

此操作数不会使用几何图形上可能可用的任何索引。对于索引辅助的精确相等测试,请组合 = 使用 & & 。

已更改:2.4.0,在以前的版本中,这是边界框相等,而不是几何相等。如果需要边界框相等,请使用 ~= 取而代之的是。

This method supports Circular Strings and Curves

This function supports Polyhedral surfaces.

示例

SELECT 'LINESTRING(0 0, 0 1, 1 0)'::geometry = 'LINESTRING(1 1, 0 0)'::geometry;
 ?column?
----------
 f
(1 row)

SELECT ST_AsText(column1)
FROM ( VALUES
        ('LINESTRING(0 0, 1 1)'::geometry),
        ('LINESTRING(1 1, 0 0)'::geometry)) AS foo;
          st_astext
---------------------
 LINESTRING(0 0,1 1)
 LINESTRING(1 1,0 0)
(2 rows)

-- Note: the GROUP BY uses the "=" to compare for geometry equivalency.
SELECT ST_AsText(column1)
FROM ( VALUES
        ('LINESTRING(0 0, 1 1)'::geometry),
        ('LINESTRING(1 1, 0 0)'::geometry)) AS foo
GROUP BY column1;
      st_astext
---------------------
 LINESTRING(0 0,1 1)
 LINESTRING(1 1,0 0)
(2 rows)

-- In versions prior to 2.0, this used to return true --
 SELECT ST_GeomFromText('POINT(1707296.37 4820536.77)') =
        ST_GeomFromText('POINT(1707296.27 4820536.87)') As pt_intersect;

--pt_intersect --
f

另请参阅

ST_Equals, ST_OrderingEquals, ~=