用户指南和参考

ST_Relate

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*")。

表 56. 等于模式矩阵



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.


[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 ]