Получить заданный объект группы
Функция
Получение заданного объекта из группы геометрических объектов.
Спецификация
GeometryN
(<группа объектов>
[,<номер>
])
<группа объектов> – геометрический объект типа
GEOMETRYCOLLECTION, MULTIPOINT, MULTILINESTRING или
MULTIPOLYGON; |
<номер> – порядковый номер требуемого объекта. |
Синтаксические правила
-
Аргумент
<номер>
задает порядковый номер объекта в группе геометрических объектов. Отсчет начинается с 1. -
Если
<номер>
не задан, по умолчанию принимается значение 1.
Возвращаемое значение
-
В случае нормального завершения – геометрический объект с заданным порядковым номером из состава группы объектов.
Тип возвращаемого объекта:
-
char для геометрического объекта <группа объектов> типа VARBYTE. Длина строки вычисляется динамически и не может превышать 4000 символов;
-
blob для геометрического объекта <группа объектов> типа BLOB. В этом случае для получения значения типа char необходимо использовать SQL-функцию getblobstr (см. документ «СУБД ЛИНТЕР. Справочник по SQL»);
-
NULL, если <группа объектов> пуста.
-
-
Код завершения СУБД ЛИНТЕР (при неправильном аргументе функции).
Примеры
-
геометрический VARBYTE-объект
SELECT AsText(GeometryN(GeomFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))'),1)); |POINT (1 1) |
-
геометрический BLOB-объект
select getblobstr(astext(GEOMETRYN(SYMDIFFERENCE(GEOM, GeomFromText('POLYGON (5 5,5 25,25 25,25 5,5 5)', 4284)), 2)), 1, 80) from GTEST; |POLYGON ((25 10,25 5,5 5,5 25,10 25,10 10,25 10)) |