Name

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

Synopsis

boolean ST_Equals(geometry A, geometry B);

説明

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

[Important]

This function will return false if either geometry is invalid except in the case where they are binary equal.

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 Returns true even for invalid geometries if they are binary equal

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