ST_Touches renvoie la valeur 1 (TRUE) si aucun des points communs aux deux géométries ne forme d'intersection avec les intérieurs des deux géométries. Sinon, elle renvoie la valeur 0 (FALSE). Une des deux géométries, au moins, doit être une ligne, un polygone, une multiligne ou un multipolygone.
Syntaxe
db2gse.ST_Touches(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)
Type de retour
Integer
Exemples
Le technicien SIG doit fournir la liste de toutes les canalisations d'égout dont les extrémités forment une intersection avec une autre canalisation.
L'instruction CREATE TABLE présentée ci-après crée la table SEWERLINES qui comporte trois colonnes. La première, SEWER_ID, identifie de manière univoque chaque canalisation. La seconde, CLASS, de type entier identifie le type de canalisation d'égout qui est généralement associé à la capacité de la canalisation. La troisième colonne, SEWER, de type ligne stocke la géométrie de la canalisation d'égout.
CREATE TABLE SEWERLINES (sewer_id integer, class integer, sewer db2gse.ST_LineString);
L'instruction SELECT ci-après renvoie une liste ordonnée des ID canalisation (SEWER_ID) dont les extrémités se touchent.
SELECT s1.sewer_id, s2.sewer_id FROM sewerlines s1, sewerlines s2 WHERE db2gse.ST_Touches (s1.sewer, s2.sewer) = 1, ORDER BY 1,2;