名前

ST_Equals — 二つのジオメトリが同じ点集合になっているかテストします。

概要

boolean ST_Equals(geometry A, geometry B);

説明

ジオメトリが「トポロジ的に等価である」場合にTRUEを返します。'='より良い答を得るのに使います。トポロジ的に等価であるとは、ジオメトリが同じ図形次元で、点集合が同じ空間を占めていることを指します。頂点の順位が同じでなくても構いません。ポイントの順序の確認には一貫してST_OrderingEqualsを使います (ST_OrderingEqualsは、単純なポイントの順序が同じであるかを確認するより多少厳しいです)。

数学用語では: ST_Equals(A, B) ⇔ A = B

次の関係が成り立ちます: ST_Equals(A, B) ⇔ ST_Within(A,B) ∧ ST_Within(B,A)

[重要]

Enhanced: 3.0.0 GEOMETRYCOLLECTIONへの対応が可能となりました

このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。

s2.1.1.2

このメソッドはSQL/MM仕様の実装です。

SQL-MM 3: 5.1.24

Changed: 2.2.0 この関数は、どちらのジオメトリも不正であっても、バイナリで同じ場合ならTRUEを返します。

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)

関連情報

ST_IsValid, ST_OrderingEquals, ST_Reverse, ST_Within