ST_Relate 比较两个几何图形,若这两个几何图形满足 DE-9IM 模式矩阵字符串指定的条件,则返回 1 (TRUE);否则,返回 0 (FALSE)。 有关 DE-9IM 模式矩阵的信息,参见谓词函数。
语法
db2gse.ST_Relate(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry, patternMatrix String)
返回类型
整数
示例
DE-9IM 模式矩阵是用于比较几何图形的设备。这样的矩阵有几种类型。 例如,等于模式矩阵将告知任何两个几何图形是否相等。
在此示例中,将表 56中显示的等于模式矩阵从左至右从上至下读入某个字符串 ("T*F**FFF*")。
|
|
|
b
|
|
|
|
内部
|
边界
|
外部
|
|
内部
|
T
|
*
|
F
|
a
|
边界
|
*
|
*
|
F
|
|
外部
|
F
|
F
|
*
|
下一步,用以下 CREATE TABLE 语句创建表 RELATE_TEST。
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) equals, relate(g1,g3) not_equals FROM relate_test RID equals not_equals -------- ----------- ----------------- 1 1 0 1 record(s) selected.