ST_InteriorRingN

定義

St_InteriorRingN は、ポリゴンの n 番目の内部リングを ST_LineString として返します。

リングの順序は事前に定義できません。リングは、幾何学的な向きではなく、内部のジオメトリ検証ルーチンによって定義された規則に従って編成されるためです。インデックスがポリゴンが持つ内部リングの数を超えた場合、NULL 値が返されます。

構文

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/6/2012