ST_IsRing toma uma cadeia de linhas e retorna 1 (VERDADEIRO) se for um anel (a saber, a cadeia de linhas é fechada e simples); caso contrário, retornará 0 (FALSO).
Sintaxe
db2gse.ST_IsRing(c db2gse.ST_Curve)
Tipo de retorno
Inteiro
Exemplos
A seguinte instrução CREATE TABLE cria a tabela RING_LINESTRING, que tem uma coluna de cadeia de linhas simples denominada LN1.
CREATE TABLE RING_LINESTRING (ln1 db2gse.ST_LineString)
As seguintes instruções INSERT inserem três cadeias de linhas na coluna LN1. A primeira linha contém uma cadeia de linha que não é fechada e portanto não é um anel. A segunda linha contém uma cadeia de linhas que é fechada e é simples, portanto, é um anel. A terceira linha contém uma cadeia de linhas que está fechada mas não é simples porque faz interseção com seu próprio interior e, portanto, não é um anel.
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)))
A seguinte instrução SELECT e o conjunto de resultados correspondente mostra os resultados da função ST_IsRing. A primeira e a terceira linha retornam 0. Isto porque as cadeias de linhas não são anéis, ao passo que a segunda linha retorna 1 porque é um anel.
SELECT db2gse.ST_IsRing(ln1) "Is it ring" FROM RING_LINESTRING Is it ring ----------- 0 1 0 3 record(s) selected.