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

ST_IsRing

ST_IsRing は linestring を引き数とし、 それがリングであれば (つまり閉じた単純な折れ線であれば)、1 (TRUE) を戻します。 そうでなければ 0 (FALSE) を戻します。

構文

db2gse.ST_IsRing(c db2gse.ST_Curve)

戻りタイプ

整数

以下の CREATE TABLE ステートメントによって RING_LINESTRING 表が作成されます。 この表には LN1 という 1 つの折れ線列があります。

CREATE TABLE RING_LINESTRING (ln1 db2gse.ST_LineString)

以下の INSERT ステートメントによって、3 つの折れ線が LN1 列に挿入されます。 最初の行には、閉じていない、つまりリングでない折れ線が含まれています。 2 番目の行には、閉じた単純な折れ線、つまりリングである折れ線が含まれています。 3 番目の行には、閉じているものの単純ではない (自身の内部と交差している)、 つまりリングではない折れ線が含まれています。

INSERT INTO RING_LINESTRING
VALUES(db2gse.ST_LineFromText('linestring  (10.02 20.01,10.32 23.98,11.92 25.64)',
                              db2gse.coordref()..srid(0)))
INSERT INTO RING_LINESTRING
VALUES(db2gse.ST_LineFromText('linestring (10.02 20.01,11.92 35.64,25.02 34.15,
                                 19.15 33.94, 10.02 20.01)',
                              db2gse.coordref()..srid(0)))
INSERT INTO RING_LINESTRING
VALUES(db2gse.ST_LineFromText('linestring (15.47 30.12,20.73 22.12,10.83 14.13,
                                 16.45 17.24,21.56 13.37,11.23 22.56,
                                 19.11 26.78,15.47 30.12)',
                              db2gse.coordref()..srid(0)))
 

以下の SELECT ステートメントおよび対応する結果セットによって、 ST_IsRing 関数の出力が表示されます。 最初の行と 3 番目の行は、0 を戻します。 その理由は折れ線がリングではないからですが、 2 番目の行は折れ線がリングなので 1 を戻します。

SELECT db2gse.ST_IsRing(ln1) "Is it ring" FROM RING_LINESTRING
Is it ring
-----------
          0
          1
          0
  3 record(s) selected.


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