Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Funzione
Si applica a:
Databricks Runtime 18.3 e versioni successive
Importante
Questa funzionalità è in Anteprima Pubblica.
Raccoglie una matrice di GEOGRAPHY valori o GEOMETRY in un singolo insieme multipunto, multilinestring, multipolygon o geometry.
Syntax
st_collect ( geoArray )
Arguments
-
geoArray: matrice diGEOGRAPHYvalori o matrice diGEOMETRYvalori.
Returns
Valore di tipo GEOGRAPHY o GEOMETRY, che rappresenta un insieme multipunto, multilinestring, multipolygon o geometry.
Tutti i NULL valori nella matrice di input vengono ignorati. Il tipo di output dipende dai tipi delleNULL geometrie non di input:
- Se tutti gli elementi non
NULLsono punti, restituisce un multipunto. - Se tutti gli elementi non
NULLsono linestring, restituisce una stringa multilinea. - Se tutti gli elementi non
NULLsono poligoni, restituisce un multipolygon. - In caso contrario, restituisce un insieme geometry.
Ogni output contiene un elemento per ogni elemento nonNULL di matrice.
Gli input multitipo (multipoint, multilinestring, multipolygon) e gli input della raccolta geometry vengono mantenuti come elementi della raccolta geometry risultante; non sono appiattiti.
Il valore SRID dell'output è il valore SRID comune delleNULL geometrie non di input.
La dimensione dell'output è la dimensione massima comune delle geometrie nonNULL di input.
Se la matrice di input è vuota o contiene solo NULL valori, viene restituita la raccolta geometry vuota 2D. In questo caso, l'identificatore SRID dell'output viene determinato nel modo seguente:
- Se il tipo di elemento della matrice di input è
GEOGRAPHY(ANY), l'identificatore SRID dell'output è4326. - Se il tipo di elemento della matrice di input è
GEOMETRY(ANY), l'identificatore SRID dell'output è0. - In caso contrario, lo SRID dell'output è quello del tipo di elemento della matrice di input.
La funzione restituisce NULL se l'input è NULL.
Condizioni di errore
- Se due geometrie non
NULLdi input hanno valori SRID diversi, la funzione restituisce ST_DIFFERENT_SRID_VALUES.
Examples
-- 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