ST_ExteriorRing

定義

ST_ExteriorRing は、ポリゴンの外部リングをラインストリングとして返します。

構文

sde.st_exteriorring (pl1 sde.st_geometry)

戻り値のタイプ

ST_LineString

複数の島で鳥の生息数を調査している鳥類学者は、目的の鳥類の餌場が海岸線に限定されることを知っています。島の扶養能力を計算する上で、鳥類学者は島の周長を知る必要があります。島の中には、非常に広大で複数の湖がある島もあります。しかし、湖の縁は攻撃的な別の鳥類が独占しています。そのため、鳥類学者が必要なのは、島の外部リングの周長だけです。

islands テーブルの ID と name 列は各島を識別します。land ポリゴン列は島のジオメトリを格納します。

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)
);

ST_ExteriorRing 関数は、各島のポリゴンの外部リングをラインストリングとして抽出します。ラインストリングの長さは、ST_Length 関数によって計算されます。ラインストリングの長さは、SUM 関数によって合計されます。

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

島の外部リングは、各島が海と共有する生態環境インタフェースを表します。

9/14/2013