ST_Relate

Definición

ST_Relate compara dos ST_Geometries (Oracle) y devuelve 1 o t (PostgreSQL) si las geometrías cumplen con las condiciones especificadas por la cadena de caracteres de la matriz de patrón de DE-9IM; de lo contrario, 0 (Oracle) o f (PostgreSQL) se devuelven.

Sintaxis

sde.st_relate (g1 sde.st_geometry, g2 sde.st_geometry, patternMatrix String)

Tipo de devolución

Booleano

Ejemplo

Una matriz de patrón DE-9IM es un dispositivo para comparar geometrías. Hay varios tipos de matrices de este tipo. Por ejemplo, la matriz de patrón igual le dirá si alguna de las dos geometrías es igual.

La tabla relate_test se crea con la siguiente declaración CREATE TABLE.

CREATE TABLE relate_test (g1 sde.st_geometry, g2 sde.st_geometry, g3 sde.st_geometry);

Las siguientes declaraciones INSERT insertan una subclase de muestra en la tabla relate_test.

INSERT INTO relate_test VALUES (
sde.st_pointfromtext ('point (10.02 20.01)', 0),
sde.st_pointfromtext ('point (10.02 20.01)', 0),
sde.st_pointfromtext ('point (30.01 20.01)', 0)
);

La siguiente declaración SELECT y el resultado SET correspondiente enumera el nombre de subclase almacenada en la columna geotipo con la dimensión de ese geotipo.

Oracle

SELECT sde.st_relate (g1, g2, 'T*F**FFF*') equals, sde.st_relate (g1, g3, 'T*F**FFF*') not_equals 
FROM RELATE_TEST;
 
equals     not_equals 

1          0

PostgreSQL

SELECT st_relate (g1, g2, 'T*F**FFF*') 
AS equals, 
st_relate (g1, g3, 'T*F**FFF*') 
AS not_equals 
FROM relate_test;
 
equals     not_equals 

t          f

7/11/2012