Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
ジオメトリが別のジオメトリと同一であるかどうかをテストします。
geometry-expression.ST_OrderingEquals(geo2)
geo2
ST_Geometry
geometry-expression と比較するもう一方のジオメトリ値。
BIT 2 つのジオメトリ値が完全に等しい場合は 1 を返し、それ以外の場合は 0 を返します。
ST_Geometry 値が別の ST_Geometry 値と同一かどうかをテストします。2 つのジオメトリには同じオブジェクト階層が含まれ、その階層には ST_OrderingEquals で等しいと見なされる順序でまったく同じポイントが存在している必要があります。
ST_OrderingEquals メソッドは、曲線の方向が考慮されるという点で ST_Equals とは異なります。2 つの曲線には、まったく同じポイントが逆の順序で含まれていることがあります。これら 2 つの曲線は ST_Equals では等しいと見なされますが、ST_OrderingEquals では等しくないと見なされます。さらに、ST_OrderingEquals では、両方のジオメトリ内の各ポイントが完全に等しいことが要求されます (空間参照系で指定された許容範囲距離内で等しいだけでは不十分です)。
ST_OrderingEquals メソッドは、比較述部 (= と <>)、IN リスト述部、DISTINCT、GROUP BY に使用されるセマンティックを定義します。2 つの空間値が空間的に等しい (セット内に同じポイントセットが含まれている) かどうかを比較する場合、ST_Equals メソッドを使用できます。
詳細については、空間の比較操作を参照してください。
SQL/MM 標準では、ST_OrderingEquals は相対的な順序を返すように定義されています。2 つのジオメトリが空間的に等しい場合は (ST_Equals に基づく) 0 が返され、等しくない場合は 1 が返されます。SQL Anywhere の実装は業界の慣行に従っており、ブール値 (ジオメトリが等しいことを示す 1 と等しくないことを示す 0) を返すという点で SQL/MM とは異なります。さらに、ST_OrderingEquals の実装は、値が空間的に等しい (空間内に同じポイントセットが存在する) かどうかではなく、値が同一 (同じ順序の同じオブジェクト階層が存在する) かどうかをテストするという点で SQL/MM とは異なります。
SQL/MM (ISO/IEC 13249-3: 2006) 5.1.43
次の例では、結果として 16 を返します。結果の ShapeID 16 に対応する Shape には、指定した多角形とまったく同じポイントがまったく同じ順序で含まれています。
16
SELECT ShapeID FROM SpatialShapes WHERE Shape.ST_OrderingEquals( NEW ST_Polygon( 'Polygon ((0 0, 2 0, 1 2, 0 0))' ) ) = 1