Получение объединения двух геометрических объектов.
Union
(<объект1>
,<объект2>
)
<объект1> ,<объект2> – геометрические
объекты произвольного типа. |
В случае нормального завершения – геометрический объект, представляющий объединение двух заданных геометрических объектов.
Тип возвращаемого значения:
char, если оба геометрических объекта являются объектами VARBYTE-типа. Длина строки вычисляется динамически и не может превышать 4000 символов;
blob, если один или оба геометрических объектов являются объектами BLOB-типа. В этом случае для получения значения типа char необходимо использовать SQL-функцию getblobstr (см. документ «СУБД ЛИНТЕР. Справочник по SQL»);
NULL, если один или оба аргумента NULL.
Код завершения СУБД ЛИНТЕР (при неправильном аргументе функции).
Так же, как и для функции INTERSECTION, при объединении с некоторыми геометрическими типами круг может быть аппроксимирован многоугольником с 32 вершинами.
геометрический VARBYTE-объект
select AsText(Union(GeomFromText('POLYGON ((0 0,0 3,3 3,3 0,0 0))'),GeomFromText('POLYGON ((1 1,1 4,4 4,4 1,1 1))'))); Результат: |POLYGON ((3 1,3 0,0 0,0 3,1 3,1 4,4 4,4 1,3 1)) |
геометрический BLOB-объект
select getblobstr(astext(UNION(GEOM, GeomFromText('POLYGON (5 5,5 25,25 25,25 5,5 5)', 4284))), 1, 100) from GTEST; |POLYGON ((10 25,10 50,50 50,50 10,25 10,25 5,5 5,5 25,10 25)) |