Буферный геометрический объект
Функция
Получение буферного геометрического объекта (т. е. объекта, все точки которого равноудалены от заданного объекта).
Спецификация
Buffer
(<объект>
,<расстояние>
)
<объект> –
геометрические объекты произвольного типа (кроме типа LINE – бесконечной прямой); |
<расстояние> –
положительное вещественное значение. |
Возвращаемое значение
-
В случае нормального завершения – геометрический объект, все точки которого расположены от
<объекта>
на заданное<расстояние>
.Тип возвращаемого значения:
-
char для геометрического объекта типа VARBYTE. Длина строки вычисляется динамически и не может превышать 4000 символов;
-
blob для геометрического объекта типа BLOB. В этом случае для получения значения типа char необходимо использовать SQL-функцию getblobstr (см. документ «СУБД ЛИНТЕР. Справочник по SQL»);
-
NULL, если один или оба аргумента NULL.
-
-
Код завершения СУБД ЛИНТЕР (при неправильном аргументе функции).
Пример
Получить буферный геометрический объект от отрезка линии VARBYTE-типа, например:

create or replace table test( line1 linestring); insert into test(line1) values( linefromtext('linestring (1 0,5 0)')); select astext(buffer(line1, 1)) from test; Результат: |POLYGON ((5 1, 1 1, 0.80491 0.980785, 0.617317 0.92388, 0.44443 0.83147, 0.292893 0.707107, 0.16853 0.55557, 0.07612 0.382683, 0.019215 0.19509, 0 0, 0.019215 -0.19509, 0.07612 -0.382683, 0.16853 -0.55557, 0.292893 -0.707107, 0.44443 -0.83147, 0.617317 -0.92388, 0.80491 -0.980785, 1 -1, 5 -1, 5.19509 -0.980785, 5.382683 -0.92388, 5.55557 -0.83147, 5.707107 -0.707107, 5.83147 -0.55557, 5.92388 -0.382683, 5.980785 -0.19509, 6 0, 5.980785 0.19509, 5.92388 0.382683, 5.83147 0.55557, 5.707107 0.707107, 5.55557 0.83147, 5.382683 0.92388, 5.19509 0.980785, 5 1))|