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 CHAR(9))
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 57) von links nach rechts und von oben nach unten in eine
Zeichenfolge ("T*F**FFF*") eingelesen.
Tabelle 57. 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, 'T*F**FFF*') equals FROM relate_test RID equals -------- ----------- 1 1 1 record(s) selected.