ST_Difference rileva due oggetti di geometria e restituisce un oggetto differente dagli oggetti di origine.
Sintassi
db2gse.ST_Difference(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)
Tipo di ritorno
db2gse.ST_Geometry
Esempi
L'ingegnere desidera conoscere l'intera area della città non coperta da edifici. Quindi, l'ingegnere richiede la somma dell'area dei lotti successiva all'eliminazione dell'area edificabile.
CREATE TABLE BUILDINGFOOTPRINTS (building_id integer, lot_id integer, footprint db2gse.ST_MultiPolygon); CREATE TABLE LOTS (lot_id integer, lot db2gse.ST_MultiPolygon);
L'ingegnere unifica le tabelle BUILDINGFOOTPRINTS e LOTS in lot_id. Quindi, calcola la somma dell'area della differenza dei lotti, sottraendo le piantine degli edifici.
SELECT SUM(db2gse.ST_Area(db2gse.ST_Difference(lot,footprint))) FROM BUILDINGFOOTPRINTS bf, LOTS WHERE bf.lot_id = LOTS.lot_id;