Поделиться через


Функция st_buffer

Применяется к:check помеченный да флажок Databricks SQL помечен да Databricks Runtime 17.1 и более поздних версий

Important

Эта функция доступна в общедоступной предварительной версии.

Замечание

Эта функция недоступна в классических хранилищах Databricks SQL. Дополнительные сведения о хранилищах SQL Databricks см. в разделе "Типы хранилища SQL".

Возвращает буфер входного GEOMETRY значения с помощью указанного радиуса.

Syntax

st_buffer ( geoExpr, radiusExpr )

Arguments

  • geoExpr: GEOMETRY значение.
  • radiusExpr DOUBLE: значение в качестве радиуса буфера. Единица радиуса — это координатная эталонная система геометрии.

Returns

Возвращает буфер входного GEOMETRY значения с помощью указанного радиуса. Буфер — это сумма Minkowski (если радиус не является отрицательным) или различие Minkowski (если радиус отрицательный) этой геометрии с диском, радиус которого является заданным радиусом radiusExpr. Граница результата состоит из кругов или круговых дуг. Здесь мы производим аппроксимацию этих дуг с помощью полилиний и возвращаем результат в форме геометрического значения. Результатом всегда является многоугольник 2D или многополигон (координаты Z и M в входных данных удаляются).

Examples

-- Expands a point into a circle-like polygon with a 1-unit radius.
> SELECT st_astext(st_envelope(st_buffer(st_geomfromtext('POINT(0 0)'), 1)));
  POLYGON((-1 -1,-1 1,1 1,1 -1,-1 -1))

-- Shrinks a small polygon so much that nothing is left
> SELECT st_astext(st_buffer(st_geomfromtext('POLYGON((0 0,2 0,2 2,0 2,0 0))'), -5));
  POLYGON EMPTY