用户指南和参考

ST_OrderingEquals

ST_OrderingEquals 比较两个几何图形, 若这两个几何图形相等且坐标次序相同,则返回 1 (TRUE);否则, 它返回 0 (FALSE)。

语法

db2gse.ST_OrderingEquals(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)

返回类型

整数

示例

以下 CREATE TABLE 语句创建 LINESTRING_TEST 表, 它具有两个线条列 L1 和 L2。

CREATE TABLE LINESTRING_TEST (lid integer, l1 db2gse.ST_LineString,
l2 db2gse.ST_LineString);

以下 INSERT 语句将两个相等且具有相同坐标次序的线条插入 L1 和 L2。

INSERT INTO linestring_test VALUES (1,
db2gse.LineFromText('linestring (10.01 20.02, 21.50 12.10)', db2gse.coordref()..srid(0)),
db2gse.LineFromText('linestring (10.01 20.02, 21.50 12.10)',
                         db2gse.coordref()..srid(0)));

以下 INSERT 语句将两个相等但坐标次序不相同的线条插入 L1 和 L2。

INSERT INTO linestring_test VALUES (2,
db2gse.LineFromText('linestring (10.01 20.02, 21.50 12.10)', db2gse.coordref()..srid(0)),
db2gse.LineFromText('linestring (21.50 12.10,10.01 20.02)', db2gse.coordref()..srid(0)));

以下 SELECT 语句和相应结果集显示,不管坐标次序如何,ST_Equals 函数都返回 1 (TRUE)。若两个几何图形既不相等又不具有相同坐标次序, 则 ST_OrderingEquals 函数返回 0 (FALSE)。

SELECT lid, db2gse.ST_Equals(l1,l2) equals, db2gse.ST_OrderingEquals(l1,l2)
OrderingEquals
FROM linestring_test
 
lid   equals   OrderingEquals
---   ------   -----------
 1       1           1
 2       1           0


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