ST_Touches retorna 1 (VERDADEIRO) se nenhum dos pontos comuns a ambas as geometrias fizerem interseção com os interiores das duas; do contrário, retornará 0 (FALSO). Pelo menos uma geometria deve ser uma cadeia de linhas, polígono, cadeia de linhas múltiplas ou multipolígono.
Sintaxe
db2gse.ST_Touches(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)
Tipo de retorno
Inteiro
Exemplos
O técnico GIS precisa fornecer uma lista de todas as linhas de sewer cujas extremidades façam interseção com outra linha de sewer.
A seguinte instrução CREATE TABLE cria a tabela SEWERLINES, a qual possui três colunas. A primeira coluna, SEWER_ID, identifica exclusivamente cada linha do sewer. A segunda coluna, CLASS, do tipo inteiro identifica o tipo de linha de sewer, que geralmente está associada à capacidade da linha. A terceira coluna, SEWER, do tipo cadeia de linhas armazena a geometria da linha sewer.
CREATE TABLE SEWERLINES (sewer_id integer, class integer, sewer db2gse.ST_LineString);
A seguinte instrução SELECT retorna uma lista ordenada de SEWER_IDS que se encontram.
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;