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)
12/10/2012