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