st_collect Fonction

S’applique à :check marqué oui Databricks Runtime 18 LTS et versions ultérieures

Remarque

Databricks Runtime 18 est plus récent que Databricks Runtime 18.0, 18.1 et 18.2. Les fonctionnalités qui auraient précédemment été livrées sous la forme d’une version numérotée ultérieure sont désormais fournies sous forme de mises à jour databricks Runtime 18 à la place. Pour plus d’informations, consultez À propos des notes de publication unifiées.

Important

La prise en charge des valeurs GEOGRAPHY est disponible en préversion publique. La prise en charge des valeurs GEOMETRY est généralement disponible.

Collecte un tableau de GEOGRAPHY valeurs dans GEOMETRY une collection multipoint, multiligne, multiligne, multipolygon ou geometry unique.

Syntax

st_collect ( geoArray )

Arguments

  • geoArray: tableau de GEOGRAPHY valeurs ou tableau de GEOMETRY valeurs.

Returns

Valeur de type GEOGRAPHY ou GEOMETRY, représentant une collection multipoint, multilignestring, multipolygon ou geometry.

Toutes les NULL valeurs du tableau d’entrée sont ignorées. Le type de la sortie dépend des types de géométries nonNULL entrées :

  • Si tous les éléments non-élémentsNULL sont des points, retourne un multipoint.
  • Si tous les éléments autresNULL que des éléments sont des chaînes de ligne, retourne une chaîne multiligne.
  • Si tous les non-élémentsNULL sont des polygones, retourne un multipolygon.
  • Sinon, retourne une collection geometry.

Chaque sortie contient un élément par élément nonNULL matricielle.

Les entrées multi-typées (multipoint, multilignestring, multipolygon) et les entrées de collection geometry sont conservées en tant qu’éléments de la collection géométrique résultante ; ils ne sont pas aplatir.

La valeur SRID de la sortie est la valeur SRID commune des géométries nonNULL entrées.

La dimension de la sortie est la dimension commune maximale des géométries nonNULL entrées.

Si le tableau d’entrée est vide ou contient uniquement NULL des valeurs, la collection geometry vide 2D est retournée. Dans ce cas, le SRID de la sortie est déterminé comme suit :

  • Si le type d’élément du tableau d’entrée est GEOGRAPHY(ANY), le SRID de la sortie est 4326.
  • Si le type d’élément du tableau d’entrée est GEOMETRY(ANY), le SRID de la sortie est 0.
  • Sinon, le SRID de la sortie est celui du type d’élément du tableau d’entrée.

La fonction retourne NULL si l’entrée est NULL.

Conditions de l’erreur

  • Si deux géométries nonNULL entrées ont des valeurs SRID différentes, la fonction retourne ST_DIFFERENT_SRID_VALUES.

Exemples

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