ST_Difference 接受两个几何图形对象,并返回是源对象之差的几何图形对象。
语法
db2gse.ST_Difference(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)
返回类型
db2gse.ST_Geometry
示例
城市工程师需要知道该城市未被建筑物覆盖的地块面积的总面积。 即,城市工程师想要知道在除去建筑物面积之后的地块面积的和。
CREATE TABLE BUILDINGFOOTPRINTS ( building_id integer, lot_id integer, footprint db2gse.ST_MultiPolygon); CREATE TABLE LOTS ( lot_id integer, lot db2gse.ST_MultiPolygon);
城市工程师通过 lot_id 对等地连接 BUILDINGFOOTPRINTS 和 LOTS 表。 该工程师然后求出地块减去建筑物占地形状的差的面积之和。
SELECT SUM(db2gse.ST_Area(db2gse.ST_Difference(lot,footprint))) FROM BUILDINGFOOTPRINTS bf, LOTS WHERE bf.lot_id = LOTS.lot_id;