Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » SQL Anywhere サーバー 空間データサポート » 空間データの使用 » 空間に関する高度なトピック

 

空間の比較操作

ジオメトリが別のジオメトリと等しいかどうかをテストするために使用できるメソッドには、ST_Equals と ST_OrderingEquals の 2 つがあります。これらのメソッドで実行される比較と返される結果は異なっています。

  • ST_Equals   ポイントが指定される順序は関係ありません。ポイントの比較では許容度が考慮されます。許容度内で同じ空間を占有している場合は、ジオメトリについても等しいと見なされます。たとえば、2 つの線ストリングが同じ空間を占有しており、片方にはより多くのポイントが定義されている場合でも、2 つの線ストリングが等しいと見なされることを意味します。

  • ST_OrderingEquals   ST_OrderingEquals では、2 つのジオメトリには同じオブジェクト階層が含まれ、その階層には ST_OrderingEquals で等しいと見なされる順序でまったく同じポイントが存在している必要があります。つまり、2 つのジオメトリがまったく同一である必要があります。

ST_Equals と ST_OrderingEquals を使用して比較を実行したときの結果の差異を確認するために、次の線を比較してみてください。ST_Equals では、これらのすべての線が等しいと見なされます (線 C が許容度内であることが前提)。ただし、ST_OrderingEquals では、これらのすべての線は等しいとは見なされません。

線 A と B は 2 つの終了ポイントが同じですが、異なる順序で指定されています。線 C は線 A と似ていますが、少し角度が付いています。線 D は線に 3 つのポイントが定義されていますが、線 A および B と同じ領域を占有しています。
 SQL Anywhere によるジオメトリ比較の実行方法