ST_Equals vergleicht zwei Geometrien und gibt 1 (TRUE) zurück, wenn die Geometrien identisch sind; andernfalls wird 0 (FALSE) zurückgegeben.
Syntax
db2gse.ST_Equals(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)
Rückgabetyp
Integer
Beispiele
Der GIS-Techniker vermutet, daß manche der Daten in der Tabelle BUILDINGFOOTPRINTS irgendwie dupliziert wurden. Der Techniker fragt die Tabelle ab, um festzustellen, ob irgendwelche der Multipolygone der Gebäudegrundflächen gleich sind.
Die Tabelle BUILDINGFOOTPRINTS wird mit der folgenden Anweisung erstellt. Die Spalte BUILDING_ID kennzeichnet die Gebäude eindeutig; die Spalte LOT_ID kennzeichnet das Grundstück zu dem Gebäude, und die Spalte FOOTPRINT speichert die Geometrie des Gebäudes.
CREATE TABLE BUILDINGFOOTPRINTS ( building_id integer, lot_id integer, footprint db2gse.ST_MultiPolygon);
Die Tabelle BUILDINGFOOTPRINTS ist über das Prädikat ST_Equals mit sich selbst räumlich verknüpft; dieses Prädikat gibt 1 zurück, wenn es zwei gleiche Multipolygone findet. Die Bedingung bf1.building_id <> bf2.building_id ist erforderlich, um den Vergleich mit der gleichen Geometrie zu eliminieren.
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;