ST_Relate compara duas figuras geométricas e retorna 1 (VERDADEIRO) se as figuras geométricas atenderem às condições especificadas pela cadeia de matrizes do padrão DE-9IM; do contrário, 0 (FALSO) retornará. Para obter informações sobre as matrizes de padrão DE-9IM, consulte Funções do predicado.
Sintaxe
db2gse.ST_Relate(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry, patternMatrix CHAR(9))
Tipo de retorno
Inteiro
Exemplos
Uma matriz de padrão DE-9IM é um dispositivo para comparação de figuras geométricas. Há vários tipos de matrizes. Por exemplo, a matriz do padrão é igual informará se as duas figuras geométricas são iguais.
Neste exemplo, uma matriz de padrão igual, mostrada em Tabela 57, é lida da esquerda para a direita e de cima para baixo numa
cadeia ("T*F**FFF*").
Tabela 57. Matriz de padrão igual
|
|
|
b
|
|
|
|
Interior
|
Limite
|
Exterior
|
|
Interior
|
T
|
*
|
F
|
a
|
Limite
|
*
|
*
|
F
|
|
Exterior
|
F
|
F
|
*
|
Em seguida, a tabela RELATE_TEST é criada com a seguinte instrução CREATE TABLE.
CREATE TABLE RELATE_TEST (rid integer, g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry, g3 db2gse.ST_Geometry);
As seguintes instruções INSERT inserem uma subclasse na tabela RELATE_TEST.
INSERT INTO RELATE_TEST VALUES( 1, db2gse.ST_PointFromText('point (10.02 20.01)', db2gse.coordref()..srid(0), db2gse.ST_PointFromText('point (10.02 20.01)', db2gse.coordref()..srid(0), db2gse.ST_PointFromText('point (30.01 20.01)', db2gse.coordref()..srid(0) )
A seguinte instrução SELECT e o conjunto de resultados correspondente relaciona o nome da subclasse armazenado na coluna GEOTYPE à dimensão desse geotipo.
SELECT rid, relate(g1,g2, 'T*F**FFF*') equals FROM relate_test RID equals -------- ----------- 1 1 1 record(s) selected.