名前

~= — AのバウンディングボックスがBのバウンディングボックスと同じ場合にTRUEを返します。

概要

boolean ~=( geometry A , geometry B );

説明

~=演算子はジオメトリ/ジオグラフィAのバウンディングボックスがジオメトリ/ジオグラフィBのバウンディングボックスと同じ場合にTRUEを返します。

[注記]

この被演算子はジオメトリで利用できるインデクスを使用します。

初出: 1.5.0で振る舞いが変更されました

この関数は多面体サーフェスに対応しています。

[警告]

この演算子のふるまいはPostGIS 1.5で、実際のジオメトリとしての等価性のテストから、バウンディングボックスの等価性のテストに変更されました。ハードアップグレードまたはソフトアップグレードを実行している場合は、データベースがどの挙動を持つかに動作が依存して、ややこしくなります。データベースがどの挙動を持つか判断するために、下のクエリを実行することができます。本当の等価性をチェックするにはST_OrderingEqualsまたは ST_Equalsを使用し、バウンディングボックスの等価性をチェックするには=を使用するのが、安全な選択肢です。

select 'LINESTRING(0 0, 1 1)'::geometry ~= 'LINESTRING(0 1, 1 0)'::geometry as equality;
 equality   |
-----------------+
          t    |
                         

上の例は、~=演算子の新しい挙動でも古い挙動でも使えます。

関連情報

ST_Equals, ST_OrderingEquals, =