Name

ST_Equals — Teste si deux géométries comprennent le même ensemble de points

Synopsis

boolean ST_Equals(geometry A, geometry B);

Description

Renvoie true si les géométries données sont "topologiquement égales". Utilisez ceci pour une "meilleure" réponse que "=". L'égalité topologique signifie que les géométries ont la même dimension et que leurs ensembles de points occupent le même espace. Cela signifie que l'ordre des sommets peut être différent dans des géométries topologiquement égales. Pour vérifier que l'ordre des points est cohérent, utilisez ST_OrderingEquals (il convient de noter que ST_OrderingEquals est un peu plus strict que la simple vérification de l'ordre des points).

En termes mathématiques : ST_Equals(A, B) ⇔ A = B

La relation suivante est valable : ST_Equals(A, B) ⇔ ST_Within(A,B) ∧ ST_Within(B,A)

[Important]

Amélioration : 3.0.0 a permis la prise en charge de GEOMETRYCOLLECTION

Cette méthode implémente la spécification OGC Simple Features Implementation Specification for SQL 1.1. s2.1.1.2

Cette méthode implémente la spécification SQL/MM. SQL-MM 3: 5.1.24

Modifié : 2.2.0 Retourne vrai même pour les géométries invalides si elles sont binairement égales

Exemples

SELECT ST_Equals(ST_GeomFromText('LINESTRING(0 0, 10 10)'),
    ST_GeomFromText('LINESTRING(0 0, 5 5, 10 10)'));
 st_equals
-----------
 t
(1 row)

SELECT ST_Equals(ST_Reverse(ST_GeomFromText('LINESTRING(0 0, 10 10)')),
    ST_GeomFromText('LINESTRING(0 0, 5 5, 10 10)'));
 st_equals
-----------
 t
(1 row)