名前

ST_Equals — 与えられたジオメトリ表現が同じ場合にTRUEを返します。方向は無視されます。

概要

boolean ST_Equals(geometry A, geometry B);

説明

与えられたジオメトリ表現が「空間的に同じ」場合にTRUEを返します。'='よりも「よりよい」答を得るために使います。空間的に同じということは、ST_Within(A,B) = trueかつST_Within(B,A) = trueとなります。また、ポイントの順序が違っても同じジオメトリ構造ならtrueとなります。構成ポイントの順序の確認にはST_OrderingEqualsを使用します (ST_OrderingEqualsはポイントのオーダが同じかを確認するよりも若干厳しくなります)。

[重要]

この関数は、バイナリで同じ場合を除いて、どちらのジオメトリも不正である場合はFALSEを返します。

[重要]

ジオメトリコレクションを引数として読んではなりません。

This method implements the OpenGIS Simple Features Implementation Specification for SQL 1.1. s2.1.1.2

This method implements the SQL/MM specification. 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