Räumliche Operationen

Räumliche Operationen verwenden Geometriefunktionen, um räumliche Daten als Eingabe zu verwenden, die Daten zu analysieren und dann die Ausgabedaten zu erzeugen, bei denen es sich um eine Ableitung der Analyse handelt, die für die Eingabedaten durchgeführt wurde.

Zu den abgeleiteten Daten, die Sie bei einer räumlichen Operation abrufen können, gehört Folgendes:

Bei der für die Eingabedaten durchgeführten Analyse werden die Koordinaten oder das Textformat der sich ergebenden Geometrien zurückgegeben. Sie können diese Informationen als Teil einer größeren Abfrage verwenden, um eine weiter gehende Analyse durchzuführen, oder Sie können die Ergebnisse als Eingabe für eine andere Tabelle verwenden.

Sie können z. B. einen Puffervorgang in die WHERE-Klausel einer Überschneidungsabfrage einbinden, um zu ermitteln, ob die angegebene Geometrie einen angegebenen Bereich einer anderen Geometrie schneidet.

HinweisHinweis:

In den folgenden Beispielen werden "ST_Geometry"-Funktionen verwendet. Informationen zu den speziellen Geometriefunktionen und zur Syntax, die für eine andere Datenbank und einen anderen räumlichen Datentyp verwendet werden, finden Sie in der Dokumentation zur jeweiligen Datenbank und zum Datentyp.

In diesem Beispiel müssen Benachrichtigungen an alle Eigentümer innerhalb eines Umkreises von 1.000 Fuß um eine gesperrte Straße herum gesendet werden. Die WHERE-Klausel erzeugt einen 1.000-Fuß-Puffer um die Straße, die gesperrt wird. Dieser Puffer wird dann mit den Grundstücken in dem Bereich verglichen, um zu ermitteln, welche vom Puffer geschnitten werden.

SELECT p.owner,p.address,s.stname
FROM parcels p, streets s
WHERE s.stname = 'Main'
AND sde.st_intersects (p.shape, sde.st_buffer (s.shape, 1000)) = 't';

In diesem Beispiel wird eine bestimmte Straße (Main Street) in der WHERE-Klausel ausgewählt, und anschließend wird ein Puffer um die Straße erstellt und mit den Features in der Tabelle "parcels" verglichen, um zu bestimmen, ob sie sich überschneiden.* Für alle Flurstücke, die vom Puffer der Main Street geschnitten werden, wird der Name des Flurstückbesitzers mit der Adresse zurückgegeben.

HinweisHinweis:

* Die Reihenfolge, in der die Teile der WHERE-Klausel ausgeführt werden, hängt vom Datenbank-Optimizer ab.

Im nächsten Beispiel werden die Ergebnisse einer räumlichen Operation (Vereinigen (Union)) für Tabellen mit Nachbarschafts- und Schulbezirksflächen verwendet und die sich ergebenden Features in eine andere Tabelle eingefügt:

INSERT INTO combo c (shape)
VALUES (
(SELECT sde.st_union (n.shape,d.shape)
FROM neighborhoods n, school_districts d),5);

Weitere Informationen zur Verwendung von räumlichen Operatoren mit "ST_Geometry" finden Sie unter Funktionen für räumliche Operationen für "ST_Geometry". Informationen zur Verwendung von räumlichen Operatoren mit den räumlichen Typen IBM DB2, IBM Informix, Oracle Spatial, PostGIS oder Microsoft SQL Server finden Sie in der Dokumentation für diese Datenbankmanagementsysteme.

Verwandte Themen


3/6/2012