funktion st_collect

Gäller för:check markerat ja Databricks Runtime 18 LTS och senare

Note

Databricks Runtime 18 är nyare än Databricks Runtime 18.0, 18.1 och 18.2. Funktioner som tidigare skulle ha levererats som en senare numrerad version levereras nu som daterade uppdateringar till Databricks Runtime 18 i stället. Mer information finns i Om enhetliga viktig information.

Viktigt!

Stöd för GEOGRAPHY-värden finns i offentlig förhandsversion. Stöd för GEOMETRI-värden är allmänt tillgängligt.

Samlar in en matris med GEOGRAPHY eller GEOMETRY värden i en enda flerpunkts-, multilinestring-, multipolygon- eller geometrisamling.

Syntax

st_collect ( geoArray )

Arguments

  • geoArray: En matris med GEOGRAPHY värden eller en matris med GEOMETRY värden.

Returns

Ett värde av typen GEOGRAPHY eller GEOMETRY, som representerar en flerpunkts-, multilinestring-, multipolygon- eller geometrisamling.

Alla NULL värden i indatamatrisen ignoreras. Typen av utdata beror på typerna av icke-indatageometrierNULL :

  • Om alla icke-elementNULL är punkter returnerar en multipunkt.
  • Om alla icke-elementNULL är linjedragningar returnerar en multilinestring.
  • Om alla icke-elementNULL är polygoner returnerar en multipolygon.
  • Annars returnerar en geometrisamling.

Varje utdata innehåller ett element per icke-matriselementNULL .

Indata för flera skrivna indata (multipoint, multilinestring, multipolygon) och geometriinsamling bevaras som element i den resulterande geometrisamlingen. de är inte utplattade.

SRID-värdet för utdata är det vanliga SRID-värdet för icke-indatageometrierNULL .

Dimensionen för utdata är den maximala gemensamma dimensionen för icke-indatageometrierNULL .

Om indatamatrisen är tom eller endast NULL innehåller värden returneras den tomma 2D-geometrisamlingen. I det här fallet bestäms SRID för utdata enligt följande:

  • Om indatamatrisens elementtyp är GEOGRAPHY(ANY)är 4326SRID för utdata .
  • Om indatamatrisens elementtyp är GEOMETRY(ANY)är 0SRID för utdata .
  • Annars är SRID för utdata som av indatamatrisens elementtyp.

Funktionen returnerar NULL om indata är NULL.

Feltillstånd

Exempel

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