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

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.


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