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