ST_ExteriorRing

定义

ST_ExteriorRing 以线串形式返回面的外部环。

语法

sde.st_exteriorring (pl1 sde.st_geometry)

返回类型

ST_LineString

示例

鸟类学家想要研究多个岛屿上的鸟类种群,了解到的情况是她所感兴趣的鸟类物种的摄食区域限制在岸线地带。在计算岛屿的承载能力过程中,鸟类学家需要知道岛屿的周长。一些岛屿很大,上面有几个湖。但是,湖的岸线地带被另一个更具侵略性的鸟类物种所独占栖息。因此,鸟类学家只需要知道岛屿的外部环的周长。

islands 表的 ID 列和名称列标识每个岛屿,而陆地面列存储岛屿的几何。

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

岛屿的外部环表示每个岛屿与海洋共有的生态分界面。


7/10/2012