ST_Relate
Definition
ST_Relate vergleicht zwei ST_Geometry-Geometrien und gibt 1 (Oracle) oder t (PostgreSQL) zurück, wenn die beiden Geometrien die Bedingungen erfüllen, die im DE-9IM-Mustermatrixstring festgelegt worden sind. Andernfalls wird 0 (Oracle) oder f (PostgreSQL) zurückgegeben.
Syntax
sde.st_relate (g1 sde.st_geometry, g2 sde.st_geometry, patternMatrix String)
Rückgabetyp
Boolesch
Beispiel
Eine DE-9IM-Mustermatrix ist ein Hilfsmittel zum Vergleichen von Geometrien. Es gibt verschiedene Typen solcher Matrizen. Beispielsweise können Sie mit der Mustermatrix "equals" herausfinden, ob zwei beliebige Geometrien gleich sind.
Die Tabelle "relate_test" wird mit der folgenden CREATE TABLE-Anweisung erstellt.
CREATE TABLE relate_test (g1 sde.st_geometry, g2 sde.st_geometry, g3 sde.st_geometry);
Mit der folgenden INSERT-Anweisung wird eine Beispiel-Subclass in die Tabelle "relate_test" eingefügt.
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) );
Die folgende SELECT-Anweisung und der zugehörige Ergebnissatz listet den Namen der in der Spalte "geotype" gespeicherten Subclass zusammen mit der Dimension dieses "geotype"-Eintrags auf.
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