ST_ExteriorRing

Definition

ST_ExteriorRing gibt den äußeren Ring eines Polygons als Linestring zurück.

Syntax

sde.st_exteriorring (pl1 sde.st_geometry)

Rückgabetyp

ST_LineString

Beispiel

Eine Ornithologin möchte die Vogelpopulation auf einigen Inseln studieren und weiß, dass die Vogelarten, an denen sie interessiert ist, nur am Strand nach Nahrung suchen. Zur Berechnung der Tragfähigkeit der Inseln benötigt die Ornithologin jeweils den Inselumfang. Einige Inseln sind so groß, dass es einige Binnenseen darauf gibt. Allerdings wird der Strand dieser Seen ausschließlich von einer anderen aggressiveren Vogelart bewohnt. Daher benötigt die Ornithologin nur den Umfang des äußeren Inselrings.

Durch die Spalten "ID" und "name" der Tabelle "islands" werden die einzelnen Inseln eindeutig gekennzeichnet, und die Spalte "land" enthält die Geometrie der einzelnen Inseln.

CREATE TABLE islands (id integer,
name varchar(32),
land sde.st_geometry);

INSERT INTO islands VALUES (
1,
'Bear',
sde.st_polygon ('polygon ((40 120, 90 120, 90 150, 40 150, 40 120),(50 130, 60 130, 60 140, 50 140, 50 130), 
(70 130, 80 130, 80 140, 70 140, 70 130))', 0)
);

INSERT INTO islands VALUES (
2,
'Johnson',
sde.st_polygon ('polygon ((10 10, 50 10, 10 30, 10 10))', 0)
);

Die Funktion ST_ExteriorRing extrahiert den äußeren Ring aus jedem Inselpolygon und gibt ihn als Linestring zurück. Die Länge des Linestring wird mit der Funktion ST_Length berechnet. Die einzelnen Linestring-Längen werden mit der Funktion SUM zusammengezählt.

Oracle

SELECT SUM (sde.st_length (sde.st_exteriorring (land)))
FROM ISLANDS;

SUM(ST_LENGTH(ST_EXTERIORRING(LAND)))

                            264.72136

PostgreSQL

SELECT SUM (sde.st_length (sde.st_exteriorring (land)))
FROM islands;

sum

264.721359549996

Der äußere Ring der Inseln stellt die ökologische Schnittstelle dar, die jede Insel mit dem Meer gemeinsam hat.


3/6/2012