ST_Relate
定義
ST_Relate は、2 つの ST_Geometry を比較し、ジオメトリが DE-9IM のパターン マトリックス文字列で指定された条件を満たす場合は 1(Oracle)または t(PostgreSQL)を返します。それ以外の場合は 0(Oracle)または f(PostgreSQL)を返します。
構文
sde.st_relate (g1 sde.st_geometry, g2 sde.st_geometry, patternMatrix String)
戻り値のタイプ
Boolean
例
DE-9IM のパターン マトリックスは、ジオメトリを比較するための手段です。このようなマトリックスにはさまざまなタイプがあります。たとえば、イコール パターン マトリックスは、2 つのジオメトリが等しいかどうかを判定します。
次の CREATE TABLE ステートメントを使用して、relate_test テーブルを作成します。
CREATE TABLE relate_test (g1 sde.st_geometry, g2 sde.st_geometry, g3 sde.st_geometry);
次の INSERT ステートメントは、サンプル サブクラスを relate_test テーブルに挿入します。
INSERT INTO relate_test VALUES (
sde.st_geometry ('point (10.02 20.01)', 0),
sde.st_geometry ('point (10.02 20.01)', 0),
sde.st_geometry ('point (30.01 20.01)', 0)
);
次の SELECT ステートメントとそれに対応する結果セットは、geotype 列に格納されているサブクラス名と、そのジオタイプのディメンションをリストします。
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
9/14/2013