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

ST_IsClosed

ST_IsClosed は折れ線または複数折れ線を引き数とし、そのストリングが閉じていれば 1 (TRUE) を戻します。そうでなければ 0 (FALSE) を戻します。

構文
db2gse.ST_IsClosed(c db2gse.ST_Curve)
db2gse.ST_IsClosed(mc db2gse.ST_MultiCurve)

戻りタイプ

整数

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

CREATE TABLE CLOSED_LINESTRING (ln1 db2gse.ST_LineString) 

以下の INSERT ステートメントによって 2 つのレコードが CLOSED_LINESTRING 表に挿入されます。最初のレコードは閉じた折れ線ではありませんが、2 番目は閉じた折れ線です。

INSERT INTO CLOSED_LINESTRING
VALUES(db2gse.ST_LineFromText('linestring  (10.02 20.01,10.32 23.98,
       11.92 25.64)', db2gse.coordref()..srid(0)))
 
INSERT INTO CLOSED_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)))

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

SELECT db2gse.ST_IsClosed(ln1) "Is it closed" FROM CLOSED_LINESTRING
 
Is it closed
------------
           0
           1
 
  2 record(s) selected.

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

CREATE TABLE CLOSED_MULTILINESTRING (mln1 db2gse.ST_MultiLineString) 

以下の INSERT ステートメントによって、閉じていない複数折れ線のレコードと、閉じた複数折れ線のレコードが CLOSED_MULTILINESTRING に挿入されます。

INSERT INTO CLOSED_MULTILINESTRING
VALUES(db2gse.ST_MLineFromText('multilinestring ((10.02 20.01,10.32 23.98,
       11.92 25.64), (9.55 23.75,15.36 30.11))',
                     db2gse.coordref()..srid(0)))
 
INSERT INTO CLOSED_MULTILINESTRING
VALUES(db2gse.ST_MLineFromText('multilinestring ((10.02 20.01,11.92 35.64,
       25.02 34.15, 19.15 33.94,10.02 20.01),
                                       (51.71 21.73,73.36 27.04,71.52 32.87,
                                        52.43 31.90,51.71 21.73))',
                     db2gse.coordref()..srid(0)))

以下の SELECT ステートメントおよび対応する結果セットによって、 ST_IsClosed 関数の出力が表示されます。最初の行は複数折れ線が閉じていないので 0 を戻しますが、 2 番目の行は複数折れ線が閉じているので 1 を戻します。折れ線要素がすべて閉じている場合、その複数折れ線は閉じています。

SELECT db2gse.ST_IsClosed(mln1) "Is it closed" FROM CLOSED_MULTILINESTRING
 
Is it closed
------------
           0
           1
 
  2 record(s) selected.


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