ST_Difference toma dois objetos de geometria e retorna um objeto de geometria que é a diferença dos objetos de origem.
Sintaxe
db2gse.ST_Difference(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)
Tipo de retorno
db2gse.ST_Geometry
Exemplos
O engenheiro da cidade precisa saber a área total da área de lotes da cidade não abrangida por uma construção. Ou seja, o engenheiro da cidade deseja a soma da área de lotes após a remoção da área de construção.
CREATE TABLE BUILDINGFOOTPRINTS ( building_id integer, lot_id integer, footprint db2gse.ST_MultiPolygon); CREATE TABLE LOTS ( lot_id integer, lot db2gse.ST_MultiPolygon);
O engenheiro da cidade reune a tabela BUILDINGFOOTPRINTS e LOTS no lot_id. O engenheiro então soma a área de diferença dos lotes menos as bases de construção.
SELECT SUM(db2gse.ST_Area(db2gse.ST_Difference(lot,footprint))) FROM BUILDINGFOOTPRINTS bf, LOTS WHERE bf.lot_id = LOTS.lot_id;