Benutzer- und Referenzhandbuch

ST_Intersects

ST_Intersects verwendet zwei Geometrieobjekte und gibt 1 (TRUE) zurück, wenn die Schnittmenge der beiden Geometrien keine leere Menge ergibt. Andernfalls wird 0 (FALSE) zurückgegeben.

Syntax

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

Rückgabetyp

Integer

Beispiele

Der Chef der Feuerwehr benötigt eine Liste aller sensiblen Bereiche innerhalb eines Radius von 5 Meilen um die Lagerstätten für gefährlichen Abfall.

Die sensiblen Bereiche sind in der Tabelle SENSITIVE_AREAS gespeichert, die mit der folgenden Anweisung CREATE TABLE erstellt wird. Die Spalte ZONE ist als Polygon definiert, in dem der Umriß der jeweiligen sensiblen Bereiche gespeichert ist.

CREATE TABLE SENSITIVE_AREAS (id        integer,
                              name      varchar(128),
                              size      float,
                              type      varchar(10),
                              zone      db2gse.ST_Polygon); 

Die Gefahrenstandorte sind in der Tabelle HAZARDOUS_SITES gespeichert, die mit der folgenden Anweisung CREATE TABLE erstellt wird. Die als Punkt definierte Spalte LOCATION speichert einen Standort, der das geographische Zentrum jedes Gefahrenstandorts darstellt.

CREATE TABLE HAZARDOUS_SITES (site_id   integer,
                              name      varchar(128),
                              location  db2gse.ST_Point); 

Die Abfrage gibt eine Liste der sensiblen Bereiche und der Namen der Gefahrenstandorte zurück, sie sich mit dem Fünf-Meilen-Puffer um die Gefahrenstandorte schneiden.

SELECT sa.name, hs.name
FROM SENSITIVE_AREAS sa, HAZARDOUS_SITES hs
WHERE db2gse.ST_Intersects(db2gse.ST_Buffer(hs.location,(5 * 5280)),sa.zone) 
=1; 


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