ST_Relate は 2 つの図形を比較して、 DE-9IM パターン・マトリックス・ストリングで指定されている条件を図形が満たしていれば 1 (TRUE) を戻し、そうでなければ 0 (FALSE) を戻します。 DE-9IM パターン・マトリックスに関する情報は、述部関数を参照してください。
構文
db2gse.ST_Relate(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry, patternMatrix CHAR(9))
戻りタイプ
整数
例
DE-9IM パターン・マトリックスは、図形を比較する装置です。この種のマトリックスには複数のタイプがあります。たとえば、等価 パターン・マトリックスは、 2 つの図形が等しいかどうかを知らせます。
この例で、表 57 の等価パターン・マトリックスは、左から右、上から下にストリングを読みます ("T*F**FFF*")。
|
|
|
b
|
|
|
|
内部
|
境界
|
外部
|
|
内部
|
T
|
*
|
F
|
a
|
境界
|
*
|
*
|
F
|
|
外部
|
F
|
F
|
*
|
次に、表 RELATE_TEST は、以下の CREATE TABLE ステートメントで作成されます。
CREATE TABLE RELATE_TEST (rid integer, g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry, g3 db2gse.ST_Geometry);
以下の INSERT ステートメントによって、サンプルのサブクラスが RELATE_TEST 表に挿入されます。
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) )
以下の SELECT ステートメントおよび対応する結果セットによって、 geotype の次元とともに GEOTYPE 列に格納されているサブクラス名がリストされます。
SELECT rid, relate(g1,g2, 'T*F**FFF*') equals FROM relate_test RID equals -------- ----------- 1 1 1 record(s) selected.