ST_Touches devuelve 1 (TRUE) si ninguno de los puntos comunes a ambas geometrías forma intersección con los interiores de ambas geometrías; si no es así, devuelve 0 (FALSE). Al menos una geometría debe ser de tipo serie lineal, polígono, varias series lineales o varios polígonos.
Sintaxis
db2gse.ST_Touches(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)
Tipo devuelto
Entero
Ejemplos
El técnico de GIS tiene que confeccionar una lista de líneas de alcantarillado cuyo final forma intersección con otra línea de alcantarillado.
La siguiente sentencia CREATE TABLE crea la tabla SEWERLINES, que tiene tres columnas. La primera columna, SEWER_ID, identifica de forma exclusiva cada línea de alcantarillado. La segunda columna, CLASS, de tipo entero, identifica el tipo de línea de alcantarillado, que suele estar asociado a la capacidad de la línea. La tercera columna, SEWER, de tipo serie lineal, almacena la geometría de la línea de alcantarillado.
CREATE TABLE SEWERLINES (sewer_id integer, class integer, sewer db2gse.ST_LineString);
La siguiente sentencia SELECT devuelve una lista ordenada de SEWER_ID que se tocan entre sí.
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;