Guide d'utilisation et de référence

ST_Difference

ST_Difference utilise deux objets de type géométrie en entrée et renvoie un objet de même type résultant de la différence des deux objets source. Les deux géométries en entrée doivent être de même dimension, sinon la valeur nulle est renvoyée.

Syntaxe

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

Type de retour

db2gse.ST_Geometry

Exemples

Le directeur des services techniques municipaux a besoin de connaître la surface totale non bâtie des parcelles de la ville. Autrement dit, il veut connaître la superficie totale obtenue une fois la surface bâtie soustraite de la surface des parcelles.

CREATE TABLE BUILDINGFOOTPRINTS (   building_id integer,
                                 lot_id      integer,
                                 footprint   db2gse.ST_MultiPolygon);
 
CREATE TABLE LOTS ( lot_id   integer,
                   lot      db2gse.ST_MultiPolygon);

Le directeur des services techniques exécute une équijointure sur les tables BUILDINGFOOTPRINTS et LOTS à partir de l'ID parcelle (lot_id). Il calcule ensuite la surface cumulée issue de la différence parcelles moins bâtis.

SELECT SUM(db2gse.ST_Area(db2gse.ST_Difference(lot,footprint)))
FROM BUILDINGFOOTPRINTS bf, LOTS
WHERE bf.lot_id = LOTS.lot_id; 


[ Début de page | Page précédente | Page suivante | Table des matières | Index ]