ST_Relate compara dos geometrías y devuelve 1 (TRUE) si las geometrías cumplen con las condiciones especificadas por la serie de la matriz patrón DE-9IM; si no es así, devuelve 0 (FALSE). Para obtener información sobre las matrices patrón DE-9IM, consulte el tema Funciones de predicado.
Sintaxis
db2gse.ST_Relate(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry, patternMatrix String)
Tipo devuelto
Entero
Ejemplos
Una matriz patrón DE-9IM es un dispositivo que sirve para comparar geometrías. Hay varios tipos de matrices. Por ejemplo, la matriz patrón de igualdad le indicará si hay dos geometrías iguales.
En este ejemplo, una matriz patrón de igualdad, que se muestra en la Tabla 56, se lee de izquierda a derecha y de arriba a abajo como una
serie ("T*F**FFF*").
Tabla 56. Matriz patrón de igualdad
|
|
|
b
|
|
|
|
Interior
|
Límite
|
Exterior
|
|
Interior
|
T
|
*
|
F
|
a
|
Límite
|
*
|
*
|
F
|
|
Exterior
|
F
|
F
|
*
|
Luego se crea la tabla RELATE_TEST con la siguiente sentencia CREATE TABLE.
CREATE TABLE RELATE_TEST (rid integer, g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry, g3 db2gse.ST_Geometry);
Las siguientes sentencias INSERT insertan una subclase de ejemplo en la tabla 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) )
La siguiente sentencia SELECT y el conjunto de resultados correspondiente listan el nombre de subclase almacenado en la columna GEOTYPE con la dimensión de este tipo de geografía.
SELECT rid, relate(g1,g2) equals, relate(g1,g3) not_equals FROM relate_test RID equals not_equals -------- ----------- ----------------- 1 1 0 1 record(s) selected.