ST_NumInteriorRing

定义

ST_NumInteriorRings 采用 ST_Polygon,并返回其内部环数。

语法

sde.st_numinteriorring (pl1 sde.st_geometry)

返回类型

整型

示例

一个鸟类学家想研究几个南部海岛上的鸟群。她想标识哪些岛上有一个或多个湖,因为她感兴趣的鸟类仅在淡水湖中觅食。

岛屿表格的 ID 和名称列标识各岛屿,而陆地 ST_Polygon 列存储岛屿的几何。

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_NumInteriorRing 函数仅列出那些至少有一个内部环的岛屿。

Oracle

SELECT name
FROM ISLANDS
WHERE sde.st_numinteriorring (land)> 0;

NAME

Bear

PostgreSQL

SELECT name
FROM islands
WHERE sde.st_numinteriorring (land)> 0;

name

Bear
9/15/2013