st_collect fonksiyon

Şunun için geçerlidir:evet olarak işaretlendi Databricks Runtime 18.3 ve üzerini denetleyin

Important

Bu özellik Genel Önizleme aşamasındadır.

Veya GEOMETRY değerlerinin dizisini GEOGRAPHY tek bir çok noktalı, çok satırlı, çok köşeli veya geometri koleksiyonunda toplar.

Syntax

st_collect ( geoArray )

Bağımsız değişken

  • geoArray: Değer dizisi GEOGRAPHY veya değer dizisi GEOMETRY .

İadeler

Çok noktalı, çok satırlı, çok kutuplu veya geometri koleksiyonunu temsil eden veya GEOMETRYtüründe GEOGRAPHY bir değer.

Giriş dizisindeki NULL değerlerinden herhangi biri es geçilir. Çıkışın türü, giriş olmayanNULL geometrilerin türlerine bağlıdır:

  • Öğe olmayanNULL tüm öğeler nokta ise, çok noktalı bir değer döndürür.
  • Olmayan tümNULL öğeler linestrings ise, çok satırlı dize döndürür.
  • Olmayan tümNULL öğeler çokgense, çok kutuplu bir değer döndürür.
  • Aksi takdirde, bir geometri koleksiyonu döndürür.

Her çıkış, dizi olmayanNULL öğe başına bir öğe içerir.

Çok tipli girişler (çok noktalı, çok satırlı, çok kutuplu) ve geometri koleksiyonu girişleri, sonuçta elde edilen geometri koleksiyonunun öğeleri olarak korunur; düz değildirler.

Çıkışın SRID değeri, giriş olmayanNULL geometrilerin ortak SRID değeridir.

Çıkışın boyutu, giriş olmayanNULL geometrilerin en büyük ortak boyutudur.

Giriş dizisi boşsa veya yalnızca NULL değerler içeriyorsa, 2B boş geometri koleksiyonu döndürülür. Bu durumda, çıkışın SRID'i aşağıdaki gibi belirlenir:

  • Giriş dizisinin öğe türü ise GEOGRAPHY(ANY), çıkışın SRID değeri olur 4326.
  • Giriş dizisinin öğe türü ise GEOMETRY(ANY), çıkışın SRID değeri olur 0.
  • Aksi takdirde, çıkışın SRID değeri giriş dizisinin öğe türüdür.

İşlev, birinci parametre NULL ise NULL döndürür.

Hata koşulları

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