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.