ST_NumInteriorRing

Определение

ST_NumInteriorRings принимает ST_Polygon и возвращает число внутренних колец.

Синтаксис

sde.st_numinteriorring (pl1 sde.st_geometry)

Тип возврата

Integer

Пример

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

Столбцы ID и name таблицы islands определяют каждый остров, а в столбце land ST_Polygon хранится геометрия островов.

CREATE TABLE islands (id integer,
name varchar(32),
land sde.st_geometry);

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

INSERT INTO islands VALUES (
2,
'Johnson',
sde.st_polygon ('polygon ((10 10, 50 10, 10 30, 10 10))', 0)
);

Так как внутренние кольца представляют озера, функция ST_NumInteriorRing указывает только те острова, у которых есть по крайней мере одно внутреннее кольцо.

Oracle

SELECT name
FROM ISLANDS
WHERE sde.st_numinteriorring (land)> 0;

NAME

Bear

PostgreSQL

SELECT name
FROM islands
WHERE sde.st_numinteriorring (land)> 0;

name

Bear
9/11/2013