st_collect Função

Aplica-se a:sim Databricks Runtime 18 e superiores

Importante

O suporte para valores de GEOGRAFIA está disponível em Pré-visualização Pública. O suporte para valores GEOMETRY está geralmente disponível.

Recolhe um array de GEOGRAPHY valores ou GEOMETRY numa única coleção multiponto, multilinha, multipolígono ou geometria.

Syntax

st_collect ( geoArray )

Arguments

  • geoArray: Um array de GEOGRAPHY valores, ou um array de GEOMETRY valores.

Devoluções

Um valor do tipo GEOGRAPHY ou GEOMETRY, representando uma coleção multiponto, multilinha, multipolígono ou geometria.

Todos os NULL valores na matriz de entrada são ignorados. O tipo da saída depende dos tipos das geometrias não deNULL entrada:

  • Se todos os não-elementosNULL forem pontos, retorna um multiponto.
  • Se todos os não-elementosNULL forem strings de linha, devolve uma stringa multilinha.
  • Se todos os não-elementosNULL forem polígonos, retorna um multipolígono.
  • Caso contrário, devolve uma coleção de geometria.

Cada saída contém um elemento por elemento que não seja doNULL array.

Entradas multi-tipadas (multiponto, multilinha, multipolígono) e entradas de coleção de geometria são preservadas como elementos da coleção de geometria resultante; não são achatados.

O valor SRID da saída é o valor SRID comum das geometrias não deNULL entrada.

A dimensão da saída é a dimensão máxima comum das geometrias nãoNULL de entrada.

Se o array de entrada estiver vazio ou contiver apenas NULL valores, a coleção de geometria 2D vazia é devolvida. Neste caso, o SRID da saída é determinado da seguinte forma:

  • Se o tipo de elemento do array de entrada for GEOGRAPHY(ANY), o SRID da saída é 4326.
  • Se o tipo de elemento do array de entrada for GEOMETRY(ANY), o SRID da saída é 0.
  • Caso contrário, o SRID da saída corresponde ao tipo de elemento do array de entrada.

A função retorna NULL se a entrada for NULL.

Condições de erro

  • Se quaisquer duas geometrias não deNULL entrada tiverem valores SRID diferentes, a função devolve ST_DIFFERENT_SRID_VALUES.

Exemplos

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