ST_IsSimple
Définition
ST_IsSimple renvoie 1 (Oracle) ou t (PostgreSQL) si l'objet ST_Geometry est simple conformément à la spécification de l'OGC (Open Geospatial Consortium). Dans le cas contraire, la fonction renvoie 0 (Oracle) ou f (PostgreSQL).
Syntaxe
sde.st_issimple (g1 sde.st_geometry)
Type de retour
Booléen
Exemple
La table issimple_test est créée avec deux colonnes. La colonne pid est de type de données smallint et contient l'identifiant unique de chaque enregistrement. La colonne g1 de type ST_Geometry stocke les exemples de géométrie simples et non simples.
CREATE TABLE issimple_test (pid smallint, g1 sde.st_geometry);
Les instructions INSERT suivantes insèrent deux enregistrements dans la table issimple_test. Le premier est un objet linestring simple puisqu'il n'intersecte pas son intérieur. Le second est non simple, conformément à la spécification de l'OGC, puisqu'il intersecte son intérieur.
Oracle
INSERT INTO ISSIMPLE_TEST VALUES (
1,
sde.st_linefromtext ('linestring (10 10, 20 20, 30 30)', 0)
);
INSERT INTO ISSIMPLE_TEST VALUES (
2,
sde.st_linefromtext ('linestring (10 10, 20 20, 20 30, 10 30, 10 20,
20 10)', 0)
);
PostgreSQL
INSERT INTO issimple_test VALUES (
1,
sde.st_linestring ('linestring (10 10, 20 20, 30 30)', 0)
);
INSERT INTO issimple_test VALUES (
2,
sde.st_linestring ('linestring (10 10, 20 20, 20 30, 10 30, 10 20,
20 10)', 0)
);
La requête suivante renvoie les résultats de la fonction ST_IsSimple. Le premier enregistrement renvoie la valeur 1 puisque l'objet linestring est simple, alors que le deuxième enregistrement renvoie la valeur 0 puisque l'objet linestring n'est pas simple.
Oracle
SELECT pid, sde.st_issimple (g1) Is_it_simple
FROM ISSIMPLE_TEST;
PID Is_it_simple
1 1
2 0
PostgreSQL
SELECT pid, sde.st_issimple (g1) AS Is_it_simple
FROM issimple_test;
pid is_it_simple
1 t
2 f