ST_Equals 比较两个几何图形,若这两个几何图形相同,则返回 1 (TRUE);否则,它返回 0 (FALSE)。
语法
db2gse.ST_Equals(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)
返回类型
整数
示例
城市 GIS 技术人员怀疑 BUILDINGFOOTPRINTS 表中的某些数据由于某种原因重复了。 该技术人员查询该表以确定任何占地形状的复合多边形是否是相等的。
BUILDINGFOOTPRINTS 表是用以下语句创建的。 BUILDING_ID 列唯一地标识建筑物;LOT_ID 列标识该建筑物的地块; FOOTPRINT 列存储该建筑物的几何图形。
CREATE TABLE BUILDINGFOOTPRINTS ( building_id integer, lot_id integer, footprint db2gse.ST_MultiPolygon);
ST_Equals 谓词将 BUILDINGFOOTPRINTS 表与它自身进行 Spatial 连接, 无论何时发现两个复合多边形相等,就会返回 1。 需要 bf1.building_id <> bf2.building_id 条件来消除同一几何图形的比较。
SELECT bf1.building_id, bf2.building_id FROM BUILDINGFOOTPRINTS bf1, BUILDINGFOOTPRINTS bf2 WHERE db2gse.ST_Equals(bf1.footprint,bf2.footprint) = 1 and bf1.building_id <> bf2.building_id;