Доступные версии документации

Получение заданной пересекающейся области многоугольника
Функция

Получение внутренней границы многоугольника.

Спецификация
  InteriorRingN (<многоугольник>[,<номер>])
<многоугольник> – геометрический объект типа POLYGON;
<номер> – порядковый номер требуемой области.
Синтаксические правила
  1. Аргумент <номер> задает порядковый номер самопересекающейся внутренней области многоугольника. Отсчет областей узлов начинается с 1.

  2. Если <номер> не задан, по умолчанию принимается значение 1.

Возвращаемое значение
  1. В случае нормального завершения – геометрический объект типа LINESTRING, соответствующий границе заданной области.

    Тип возвращаемого значения:

    • char для геометрического объекта типа VARBYTE. Длина строки вычисляется динамически и не может превышать 4000 символов;

    • blob для геометрического объекта типа BLOB. В этом случае для получения значения типа char необходимо использовать SQL-функцию getblobstr (см. документ «СУБД ЛИНТЕР. Справочник по SQL»).

    • NULL, если <многоугольник> пуст.

  2. Код завершения СУБД ЛИНТЕР (при неправильном аргументе функции, в частности, 1036 – требуемая внутренняя граница не существует).

Пример

Геометрический VARBYTE-объект

SELECT AsText(InteriorRingN(GeomFromText('Polygon((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1))'),1));
|LINESTRING (1 1,1 2,2 2,2 1,1 1)                              |
Заметили ошибку?
Выделите текст и нажмите Ctrl + Enter