st_collect Funkce

Platí pro:check označeno ano Databricks Runtime 18 a vyšší

Note

Databricks Runtime 18 je novější než Databricks Runtime 18.0, 18.1 a 18.2. Funkce, které by se dříve odeslaly jako novější číslovaná verze, se teď dodávají jako datové aktualizace data do Databricks Runtime 18. Podrobnosti najdete v článku o jednotných poznámkách k verzi.

Important

Podpora hodnot GEOGRAPHY je ve verzi Public Preview. Podpora hodnot GEOMETRY je obecně dostupná.

Shromažďuje pole GEOGRAPHY nebo GEOMETRY hodnoty do jedné vícebodové, víceřádkového řetězce, multipolygonu nebo kolekce geometrie.

Syntax

st_collect ( geoArray )

Argumenty

  • geoArray: Matice GEOGRAPHY hodnot nebo matice GEOMETRY hodnot.

Returns

Hodnota typu GEOGRAPHY nebo GEOMETRY, představující vícebodový, multilinestring, multipolygon nebo kolekce geometrie.

Všechny NULL hodnoty ve vstupním poli se ignorují. Typ výstupu závisí na typech nesvícenýchNULL geometrií:

  • Pokud jsou všechny prvky,NULL které nejsou body, vrátí více bodů.
  • Pokud jsou všechny prvky bezNULL čar, vrátí víceřádkový řetězec.
  • Pokud jsou všechny prvky jiné nežNULL mnohoúhelníky, vrátí multipolygon.
  • V opačném případě vrátí kolekci geometrie.

Každý výstup obsahuje jeden prvek na prvek bezNULL pole.

Vstupy více typů (multipoint, multilinestring, multipolygon) a vstupy kolekce geometrie jsou zachovány jako prvky výsledné kolekce geometrie; nejsou zploštěné.

Hodnota SRID výstupu je společná hodnota SRID nesvícenýchNULL geometrií.

Rozměr výstupu je maximální společná dimenze nesměrnýchNULL geometrií.

Pokud je vstupní pole prázdné nebo obsahuje pouze NULL hodnoty, vrátí se kolekce 2D prázdné geometrie. V tomto případě je SRID výstupu určen následujícím způsobem:

  • Pokud je GEOGRAPHY(ANY)typ elementu vstupního pole , je SRID výstupu 4326.
  • Pokud je GEOMETRY(ANY)typ elementu vstupního pole , je SRID výstupu 0.
  • V opačném případě je SRID výstupu to, že typ elementu vstupního pole.

Funkce vrátí NULL , pokud je NULLvstup .

Stavy chyb

Příklady

-- 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