ST_InteriorRingN

Определение

ST_InteriorRingN возвращает n-е внутреннее кольцо полигона в виде строки ST_LineString.

Порядок колец не может быть задан заранее, так как они организуются в соответствии с правилами, определенными внутренними процедурами проверки геометрии, а не геометрической ориентацией. Если индекс превышает число внутренних колец полигона, возвращается ноль.

Синтаксис

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)
9/11/2013