ST_InteriorRingN

定义

St_InteriorRingN 以 ST_LineString 形式返回面的第 n 个内部环。

环的顺序不能预先定义,因为环是按照由内部几何验证例程定义的规则进行组织,而不是按照由几何方向定义的规则进行组织。如果索引超出了面所拥有的内部环数,则返回空值。

语法

Oracle

sde.st_interiorringn (pl1 sde.st_polygon, INDEX integer)

返回类型

ST_LineString

示例

创建表 sample_polys 并添加一条记录。

CREATE TABLE sample_polys (id integer, geometry sde.st_geometry);

INSERT INTO sample_polys VALUES (
1,
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)
);

选择内部环的 ID 和几何。

Oracle

SELECT id, sde.st_astext (sde.st_interiorringn (geometry, 2)) Interior_Ring
FROM SAMPLE_POLYS; 

ID INTERIOR_RING 

1  LINESTRING (70.00000000 130.00000000, 70.00000000 140.00000000, 80.00000000 140.00000000, 80.00000000 130.00000000, 70.00000000 130.00000000)

PostgreSQL

SELECT id, sde.st_astext (st_interiorringn (geometry, 2)) 
AS Interior_Ring
FROM sample_polys; 

id interior_ring

1  LINESTRING (70 130, 70 140, 80 140, 80 130, 70 130)

3/7/2012