用户指南和参考

ST_IsRing

ST_IsRing 接受线条,若该线条为环(即该线条是封闭且简单的),则返回 1 (TRUE); 否则,它返回 0 (FALSE)。

语法

db2gse.ST_IsRing(c db2gse.ST_Curve)

返回类型

整数

示例

以下 CREATE TABLE 语句创建 RING_LINESTRING 表, 该表具有称作 LN1 的单个线条列。

CREATE TABLE RING_LINESTRING (ln1 db2gse.ST_LineString)

下列 INSERT 语句将三个线条插入 LN1 列。 第一行包含不封闭因此不是环的线条。 第二行包含封闭且简单因此是环的线条。 第三行包含封闭但不简单的线条,因为它与它自己的内部相交,因此不是环。

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 函数的结果。 第一和第三行返回 0。 这是因为这两个线条不是环,而第二行返回 1,因为它是环。

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


[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 ]