Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:
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 deGEOGRAPHYvalores o una matriz deGEOMETRYvalores.
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 no
NULLson elementos son puntos, devuelve un punto múltiple. - Si todos los elementos que no
NULLson linestrings, devuelve una cadena de varias líneas. - Si todos los elementos no
NULLson 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 es4326. - Si el tipo de elemento de la matriz de entrada es
GEOMETRY(ANY), el SRID de la salida es0. - 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 no
NULLson 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