st_collect Función

Se aplica a:check marcado yes Databricks Runtime 18 y versiones posteriores

Important

La compatibilidad con los valores GEOGRAPHY está en versión preliminar pública. La compatibilidad con valores GEOMETRY está disponible con carácter general.

Recopila una matriz de GEOGRAPHY valores o GEOMETRY en una sola colección multipunto, multilínea, multilínea, multipolygon o geometría.

Syntax

st_collect ( geoArray )

Argumentos

  • geoArray: una matriz de GEOGRAPHY valores o una matriz de GEOMETRY valores.

Devoluciones

Valor de tipo GEOGRAPHY o GEOMETRY, que representa una colección multipoint, multilinestring, multilínea, multipolygon o geometry.

Los NULL valores de la matriz de entrada se omiten. El tipo de la salida depende de los tipos de las geometrías que noNULL son de entrada:

  • Si todos los elementos que noNULL son elementos son puntos, devuelve un punto múltiple.
  • Si todos los elementos que noNULL son linestrings, devuelve una cadena de varias líneas.
  • Si todos los elementos noNULL son polígonos, devuelve un multipolygon.
  • De lo contrario, devuelve una colección de geometría.

Cada salida contiene un elemento por elemento que noNULL es de matriz.

Las entradas multitipo (multipunto, cadena multilínea, multipolygon) y entradas de colección de geometría se conservan como elementos de la colección de geometría resultante; no están aplanados.

El valor SRID de la salida es el valor SRID común de las geometrías que noNULL son de entrada.

La dimensión de la salida es la dimensión común máxima de las geometrías que noNULL son de entrada.

Si la matriz de entrada está vacía o contiene solo NULL valores, se devuelve la colección de geometría vacía 2D. En este caso, el SRID de la salida se determina de la siguiente manera:

  • Si el tipo de elemento de la matriz de entrada es GEOGRAPHY(ANY), el SRID de la salida es 4326.
  • Si el tipo de elemento de la matriz de entrada es GEOMETRY(ANY), el SRID de la salida es 0.
  • De lo contrario, el SRID de la salida es el del tipo de elemento de la matriz de entrada.

La función devuelve NULL si la entrada es NULL.

Condiciones del error

  • Si dos geometrías que noNULL son de entrada tienen valores SRID diferentes, la función devuelve ST_DIFFERENT_SRID_VALUES.

Ejemplos

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