Guide d'utilisation et de référence

ST_IsRing

ST_IsRing utilise une ligne en entrée et renvoie la valeur 1 (TRUE) s'il s'agit d'un anneau (autrement dit, si la ligne est fermée et simple), et la valeur 0 (FALSE) dans le cas contraire.

Syntaxe

db2gse.ST_IsRing(c db2gse.ST_Curve)

Type de retour

Integer

Exemples

L'instruction CREATE TABLE ci-après crée la table RING_LINESTRING, qui comporte une seule colonne de type ligne LN1.

CREATE TABLE RING_LINESTRING (ln1 db2gse.ST_LineString)

Les instructions INSERT ci-après insèrent trois lignes dans la colonne LN1. La première n'est pas fermée et n'est donc pas un anneau, la seconde est fermée et il s'agit donc d'un anneau, et la troisième est fermée mais n'est pas simple puisqu'elle se coupe elle-même, par conséquent, ce n'est pas un anneau.

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)))
 

L'instruction SELECT ci-après et l'ensemble de résultats correspondant présentent les résultats de la fonction ST_IsRing. La première et la troisième lignes renvoient la valeur 0. En effet, ces lignes ne sont pas des anneaux, alors que la deuxième ligne renvoie la valeur 1 car c'en est bien un.

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


[ Début de page | Page précédente | Page suivante | Table des matières | Index ]