Guide d'utilisation et de référence

ST_IsValid

ST_IsValid utilise un objet ST_Geometry en entrée et renvoie la valeur 1 (TRUE) s'il est valide, et la valeur 0 (FALSE) dans le cas contraire. Une géométrie insérée dans une base de données DB2 doit toujours être valide car Extension Spatiale vérifie systématiquement ses données spatiales avant de les accepter. Cependant, il est possible que certains fournisseurs de SGBD ne valident pas leurs entrées mais requièrent que ce soit fait par l'application.

Syntaxe

db2gse.ST_IsValid(g db2gse.ST_Geometry)

Type de retour

Integer

Exemples

La table valid_test est créée avec les colonnes GEOTYPE et G1. La colonne GEOTYPE stocke le nom de la sous-classe de la géométrie enregistrée dans la colonne G1.

CREATE TABLE valid_test (geotype varchar(20), g1 db2gse.ST_Geometry)

Les instructions INSERT insèrent une sous-classe exemple dans la table valid_test.

INSERT INTO valid_test VALUES( 
    'Point', db2gse.ST_PointFromText('point (10.02 20.01)', 
    db2gse.coordref()..srid(0))
)
 
INSERT INTO valid_test VALUES( 
'Linestring', 
db2gse.ST_LineFromText('linestring  (10.02 20.01,10.32 23.98,11.92 25.64)', 
db2gse.coordref()..srid(0))
)
 
INSERT INTO valid_test VALUES(
'Polygon', db2gse.ST_PolyFromText('polygon ((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 valid_test VALUES( 
'Multipoint', db2gse.ST_MPointFromText('multipoint (10.02 20.01,10.32 23.98,
11.92 25.64)', db2gse.coordref()..srid(0))
)
 
INSERT INTO valid_test VALUES( 
'Multilinestring', 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 valid_test VALUES( 
'Multipolygon', 
db2gse.ST_MPolyFromText('multipolygon (((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)) 
)

L'instruction SELECT ci-après répertorie le nom de la sous-classe stocké dans la colonne geotype, accompagné des dimensions de ce type de géométrie.

SELECT geotype, db2gse.ST_IsValid(g1) Valid FROM valid_test
GEOTYPE              Valid
-------------------- -------------
ST_Point                    1
ST_Linestring               1
ST_Polygon                  1
ST_Multipoint               1
ST_Multilinestring          1
ST_Multipolygon             1
 
6 record(s) selected.


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