Name

= — Gibt TRUE zurück, wenn die Koordinaten und die Reihenfolge der Koordinaten der Geometrie/Geographie A und der Geometrie/Geographie B ident sind.

Synopsis

boolean =( geometry A , geometry B );

boolean =( geography A , geography B );

Beschreibung

Der Operator = gibt TRUE zurück, wenn die Koordinaten und die Reihenfolge der Koordinaten der Geometrie/Geographie A und der Geometrie/Geographie B ident sind. PostgreSQL verwendet die =, <, und > Operatoren um die interne Sortierung und den Vergleich von Geometrien durchzuführen (z.B.: in einer GROUP BY oder ORDER BY Klausel). 

[Note]

Nur die Geometrie/Geographie die in allen Gesichtspunkten übereinstimmt, d.h. mit den selben Koordinaten in der gleichen Reihenfolge, werden von diesem Operator als gleich betrachtet. Für "räumliche Gleichheit", bei der Dinge wie die Reihenfolge der Koordinaten außer Acht gelassen werden, und die es ermöglicht Geoobjekte zu erfassen, die denselben räumlichen Bereich mit unterschiedlicher Darstellung abdecken, verwenden Sie bitte ST_OrderingEquals oder ST_Equals

[Caution]

Dieser Operator verwendet NICHT die Indizes, welche für die Geometrien vorhanden sind. Um eine Überprüfung auf exakte Gleichheit indexgestützt durchzuführen, kombinieren Sie bitte = mit &&.

Änderung: 2.4.0, in Vorgängerversionen war dies die Gleichheit der umschreibenden Rechtecke, nicht die geometrische Gleichheit. Falls Sie auf Gleichheit der umschreibenden Rechtecke prüfen wollen, verwenden Sie stattdesse bitte ~=.

This method supports Circular Strings and Curves.

This function supports Polyhedral surfaces.

Beispiele

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

Siehe auch

ST_Equals, ST_OrderingEquals, ~=