ST_Relate vergleicht zwei Geometrien und gibt 1 (TRUE) zurück, wenn die Geometrien die von der Mustermatrix-Zeichenfolge DE-9IM definierten Bedingungen erfüllen; andernfalls wird 0 (FALSE) zurückgegeben. Informationen zu der DE-9IM-Mustermatrix finden Sie im Abschnitt Prädikatfunktionen.
Syntax
db2gse.ST_Relate(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry, patternMatrix String)
Rückgabetyp
Integer
Beispiele
Eine DE-9IM-Mustermatrix ist eine Einheit zum Vergleich von Geometrien. Es gibt verschiedene Arten solcher Matrizen. Die Mustermatrix equals gibt beispielsweise an, ob zwei Geometrien gleich sind.
In diesem Beispiel wird eine "equals"-Mustermatrix (siehe Tabelle 56) von links nach rechts und von oben nach unten in eine
Zeichenfolge ("T*F**FFF*") eingelesen.
Tabelle 56. Equals-Mustermatrix
|
|
|
b
|
|
|
|
Innenbereich
|
Begrenzung
|
Außenbereich
|
|
Innenbereich
|
T
|
*
|
F
|
a
|
Begrenzung
|
*
|
*
|
F
|
|
Außenbereich
|
F
|
F
|
*
|
Als nächstes wird die Tabelle RELATE_TEST mit der folgenden Anweisung CREATE TABLE erstellt.
CREATE TABLE RELATE_TEST (rid integer, g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry, g3 db2gse.ST_Geometry);
Die folgenden INSERT-Anweisungen fügen eine Muster-Unterklasse in die Tabelle RELATE_TEST ein.
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) )
Die folgende Anweisung SELECT und die entsprechende Ergebnisgruppe listet den Unterklassennamen auf, der in der Spalte GEOTYPE mit der Dimension dieses Geotyps gespeichert ist.
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.