使用者の手引きおよび解説書

ST_OrderingEquals

ST_OrderingEquals は 2 つの図形を比較して、 図形が等しく座標の順序が同じであれば 1 (TRUE) を戻し、そうでなければ 0 (FALSE) を戻します。

構文

db2gse.ST_OrderingEquals(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)

戻りタイプ

整数

以下の CREATE TABLE ステートメントによって LINESTRING_TEST 表が作成されます。 この表には 2 つの折れ線列 L1、L2 があります。

CREATE TABLE LINESTRING_TEST (lid integer, l1 db2gse.ST_LineString,
l2 db2gse.ST_LineString);

以下の INSERT ステートメントは、 等しくて座標の順序も同じである 2 つの折れ線列を L1 と L2 に挿入します。

INSERT INTO linestring_test VALUES (1,
db2gse.LineFromText('linestring (10.01 20.02, 21.50 12.10)', db2gse.coordref()..srid(0)),
db2gse.LineFromText('linestring (10.01 20.02, 21.50 12.10)',
db2gse.coordref()..srid(0)));

以下の INSERT ステートメントは、 等しいが座標の順序が同じでない 2 つの折れ線列を L1 と L2 に挿入します。

INSERT INTO linestring_test VALUES (2,
db2gse.LineFromText('linestring (10.01 20.02, 21.50 12.10)', db2gse.coordref()..srid(0)),
db2gse.LineFromText('linestring (21.50 12.10,10.01 20.02)', db2gse.coordref()..srid(0)));

以下の SELECT ステートメントおよび対応する結果セットは、 座標の順序に関係なく ST_Equals 関数により 1 (TRUE) が戻されることを示しています。 ST_OrderingEquals 関数によって 0 (FALSE) が戻されるのは、 図形が等しくなく座標の順序も同じでない場合です。

SELECT lid, db2gse.ST_Equals(l1,l2) equals, db2gse.ST_OrderingEquals(l1,l2)
OrderingEquals
FROM linestring_test
lid   equals   OrderingEquals
---   ------   -----------
 1       1           1
 2       1           0


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]