ST_InteriorRingN

定义

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

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

语法

Oracle

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

PostgreSQL

sde.st_interiorringn (polygon1 sde.st_polygon, ring_number integer)

SQLite

st_interiorringn (polygon1 sde.st_polygon, ring_number int32)

返回类型

ST_LineString

示例

创建表 sample_polys,并添加一条记录,然后选择内部环的 ID 和几何。

Oracle

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))', 4326)
);
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

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

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

SQLite

CREATE TABLE sample_polys (
 id integer primary key autoincrement not null
);

SELECT AddGeometryColumn (
 NULL,
 'sample_polys',
 'geometry',
 4326,
 'polygon',
 'xy',
 'null'
);

INSERT INTO sample_polys (geometry) VALUES (
 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))', 4326)
);
SELECT id, st_astext (st_interiorringn (geometry, 2)) 
 AS "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)

相关主题

5/25/2014