ST_ExteriorRing はポリゴンを引き数とし、その外部リングを折れ線として戻します。
構文
db2gse.ST_ExteriorRing(s db2gse.ST_Polygon)
戻りタイプ
db2gse.ST_LineString
例
南洋諸島で鳥の群生の調査を計画しているある鳥類学者は、特定の鳥の採食地域が水際に限定されていることを知りました。島々の食料供給能力を計算するために、この学者は島の周囲の長さを知る必要があります。いくつかの池のある島もありますが、池の湖岸線はより攻撃的な別の種類の鳥に占領されています。このため、この鳥類学者は島々の外部リングの周囲の長さを知る必要があります。
ISLANDS 表の ID 列と NAME 列はそれぞれの島を識別し、タイプ ST_Polygon の LAND 列にはそれぞれの図形が格納されています。
CREATE TABLE ISLANDS (id integer, name varchar(32), land db2gse.ST_Polygon);
ST_ExteriorRing 関数は、それぞれの島のポリゴンの外部リングを折れ線として抽出します。折れ線の長さは、length 関数によって算出されます。島々の折れ線の長さの合計は SUM 関数によって算出されます。
SELECT SUM(db2gse.ST_length(db2gse.ST_ExteriorRing (land))) FROM ISLANDS;
図 33 で、島の外部リングはそれぞれの島と海との生態学的な境界を表しています。いくつかの島には湖があり、ポリゴンの内部リングとして表されています。
図 33. ST_ExteriorRing を用いて島の海岸線の長さを判別する