Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:
Databricks Runtime 18.3 и выше
Important
Эта функция доступна в общедоступной предварительной версии.
Собирает массив GEOGRAPHY или GEOMETRY значения в одну многоточие, многостроческую, многоуровневую или геометрическую коллекцию.
Syntax
st_collect ( geoArray )
Arguments
-
geoArray: массив значенийGEOGRAPHYили массив значенийGEOMETRY.
Returns
Значение типа GEOGRAPHY или GEOMETRY, представляющее многоточие, многостроческую, многоуровневую или геометрическую коллекцию.
Все NULL значения в входном массиве игнорируются. Тип выходных данных зависит от типов не входныхNULL геометрий:
- Если все элементы не
NULLявляются точками, возвращает многоточие. - Если все элементы, не являющиеся
NULLстроками, возвращает многострочный элемент. - Если все не являются
NULLмногоугольниками, возвращает многополигон. - В противном случае возвращает коллекцию геометрии.
Каждый выход содержит один элемент на элемент, отличныйNULL от массива.
Входные данные с несколькими типами (multipoint, multilinestring, multipolygon) и геометрические входные данные коллекции сохраняются в виде элементов результирующей коллекции геометрии; они не плоские.
Значение SRID выходных данных — это общее значение SRID для неNULL входных геометрий.
Измерение выходных данных является максимальным общим измерениемNULL не входных геометрий.
Если входной массив пуст или содержит только NULL значения, возвращается 2D пустая коллекция геометрии. В этом случае SRID выходных данных определяется следующим образом:
- Если тип элемента входного массива имеет значение
GEOGRAPHY(ANY), SRID выходных данных имеет значение4326. - Если тип элемента входного массива имеет значение
GEOMETRY(ANY), SRID выходных данных имеет значение0. - В противном случае SRID выходных данных — это тип элемента входного массива.
Функция возвращается NULL , если входные данные являются NULL.
Условия ошибок
- Если две
NULLне входные геометрии имеют разные значения SRID, функция возвращает ST_DIFFERENT_SRID_VALUES.
Примеры
-- Collects an array of points into a multipoint.
> SELECT st_astext(st_collect(array(st_geomfromtext('POINT(1 2)'),st_geomfromtext('POINT(3 4)'))));
MULTIPOINT((1 2),(3 4))
-- Collects an array of polygons into a multipolygon.
> SELECT st_astext(st_collect(array(st_geomfromtext('POLYGON((0 0,10 0,10 10,0 10,0 0))'))));
MULTIPOLYGON(((0 0,10 0,10 10,0 10,0 0)))
-- Collects an array of mixed geometry kinds into a geometry collection.
> SELECT st_astext(st_collect(array(st_geomfromtext('POLYGON((0 0,10 0,10 10,0 10,0 0))'),st_geomfromtext('LINESTRING(1 2,3 4)'))));
GEOMETRYCOLLECTION(POLYGON((0 0,10 0,10 10,0 10,0 0)),LINESTRING(1 2,3 4))
-- Returns the 2D empty geometry collection for an empty input array.
> SELECT st_astext(st_collect(array()));
GEOMETRYCOLLECTION EMPTY
-- Returns NULL for a NULL input.
> SELECT st_collect(NULL);
NULL