Benutzer- und Referenzhandbuch

ST_Distance

ST_Distance verwendet zwei Geometrieobjekte und gibt die kleinste Entfernung zwischen diesen Objekten zurück.

Syntax

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

Rückgabetyp

Double

Beispiele

Der Stadtplaner benötigt eine Liste aller Gebäude, deren Entfernung bis zum Grundstücksrand maximal 1 Fuß (30,48 cm) beträgt.

Die Spalte BUILDING_ID der Tabelle BUILDINGFOOTPRINTS kennzeichnet jedes Gebäude eindeutig. Die Spalte LOT_ID kennzeichnet das Grundstück, zu dem das jeweilige Gebäude gehört. Das Multipolygon der Gebäudegrundfläche speichert die Geometrie der Grundfläche jedes Gebäudes.

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

Die Tabelle LOTS speichert die lot-ID, die jedes Grundstück eindeutig kennzeichnet sowie das Multipolygon, das die Geometrie der Grundstückslinie enthält.

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

Die Abfrage gibt eine Liste der Gebäude-IDs zurück, die einen Abstand von maximal 1 Fuß zu der jeweiligen Grundstückslinie haben. Die Funktion ST_Distance führt eine räumliche Verknüpfung zwischen den Grundflächen und der Begrenzung der Grundstückspolygone durch. Die Gleichsetzungsverknüpfung zwischen bf.lot_id und LOTS.lot_id stellt jedoch sicher, daß nur die Multipolygone zu dem gleichen Grundstück mit der Funktion ST_Distance verglichen werden.

SELECT bf.building_id
  FROM BUILDINGFOOTPRINTS bf, LOTS
 WHERE bf.lot_id = LOTS.lot_id AND
       db2gse.ST_Distance(bf.footprint, db2gse.ST_Boundary(LOTS.lot)) <= 1.0;


[ Seitenanfang | Vorherige Seite | Nächste Seite | Inhaltsverzeichnis | Index ]