Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция
Применяется к:
Databricks SQL
Databricks Runtime 17.1 и более поздних версий
Important
Эта функция доступна в общедоступной предварительной версии.
Замечание
Эта функция недоступна в классических хранилищах Databricks SQL. Дополнительные сведения о хранилищах SQL Databricks см. в разделе "Типы хранилища SQL".
Создает многоугольник GEOMETRY из входной внешней границы с необязательным массивом внутренних границ, представленных как замкнутые линии.
Syntax
st_makepolygon ( outer[, innerArray] )
Arguments
-
outer:GEOMETRYзначение. -
innerArray: массив значенийGEOMETRY.
Returns
Значение типа GEOMETRY, представляющее многоугольник.
Все NULL значения в массиве внутренних границ игнорируются.
Значение SRID выходного многоугольника является общим значением SRID входных геометрий.
Измерение выходного многоугольника является максимальным общим измерением входных строк.
Функция возвращает NULL, если какие-либо из входных данных NULL.
Условия ошибок
- Если какая-либо из входных геометрий не является строкой, функция возвращает ST_INVALID_ARGUMENT. INVALID_TYPE.
- Если входные геометрии не имеют того же значения SRID, функция возвращает ST_DIFFERENT_SRID_VALUES.
- Если внешняя граница является пустой строкой, массив внутренних границ, как ожидается, будет пустым массивом. В противном случае функция возвращает ST_INVALID_ARGUMENT. EMPTY_OUTER_BOUNDARY.
- Если внешняя граница имеет менее четырех вершин, функция возвращает ST_INVALID_ARGUMENT. TOO_FEW_VERTICES_IN_OUTER_BOUNDARY.
- Если внешняя граница не закрыта, функция возвращает ST_INVALID_ARGUMENT. OUTER_BOUNDARY_NOT_CLOSED.
- Если какая-либо из внутренних границ имеет менее четырех вершин, функция возвращает ST_INVALID_ARGUMENT. TOO_FEW_VERTICES_IN_INNER_BOUNDARY.
- Если какая-либо из внутренних границ не закрыта, функция возвращает ST_INVALID_ARGUMENT. INNER_BOUNDARY_NOT_CLOSED.
Examples
-- Returns a polygon constructed from the outer boundary.
> SELECT st_astext(st_makepolygon(st_geomfromtext('LINESTRING(0 0,10 0,10 10,0 10,0 0)')));
POLYGON((0 0,10 0,10 10,0 10,0 0))
-- Returns a polygon constructed from the outer boundary and an inner boundary.
> SELECT st_astext(st_makepolygon(st_geomfromtext('LINESTRING(0 0,10 0,10 10,0 10,0 0)'), array(st_geomfromtext('LINESTRING(1 1,2 1,1 2,1 1)'))));
POLYGON((0 0,10 0,10 10,0 10,0 0),(1 1,2 1,1 2,1 1))