st_collect 関数

適用対象:はい Databricks Runtime 18 LTS 以上とマークされているチェック

Note

Databricks Runtime 18 は、Databricks Runtime 18.0、18.1、および 18.2 より新しいです。 以前に後の番号付きバージョンとして出荷されていた機能は、代わりに Databricks Runtime 18 の日付の更新プログラムとして出荷されるようになりました。 詳細については、「 統合リリース ノートについて」を参照してください。

Important

GEOGRAPHY 値のサポートは パブリック プレビュー段階です。 GEOMETRY 値のサポートが 一般公開されています

GEOGRAPHY値またはGEOMETRY値の配列を 1 つのマルチポイント、マルチライン文字列、マルチポリゴン、または geometry コレクションに収集します。

Syntax

st_collect ( geoArray )

論争

  • geoArray: GEOGRAPHY 値の配列、または GEOMETRY 値の配列。

返品

マルチポイント、マルチライン文字列、マルチポリゴン、または geometry コレクションを表す GEOGRAPHY 型または GEOMETRY型の値。

入力配列内のすべての NULL 値は無視されます。 出力の種類は、NULL 以外の入力ジオメトリの種類によって異なります。

  • NULL以外のすべての要素がポイントの場合は、マルチポイントを返します。
  • NULL以外のすべての要素が行文字列の場合は、複数行文字列を返します。
  • すべての非NULL 要素が多角形の場合は、マルチポリゴンを返します。
  • それ以外の場合は、geometry コレクションを返します。

各出力には、NULL 以外の配列要素ごとに 1 つの要素が含まれます。

マルチ型入力 (multipoint、multilinestring、multipolygon) と geometry コレクションの入力は、結果の geometry コレクションの要素として保持されます。フラット化されません。

出力の SRID 値は、NULL 以外の入力ジオメトリの共通の SRID 値です。

出力の寸法は、NULL 以外の入力ジオメトリの最大共通寸法です。

入力配列が空であるか、 NULL 値のみが含まれている場合は、2D 空の geometry コレクションが返されます。 この場合、出力の SRID は次のように決定されます。

  • 入力配列の要素型が GEOGRAPHY(ANY)場合、出力の SRID は 4326
  • 入力配列の要素型が GEOMETRY(ANY)場合、出力の SRID は 0
  • それ以外の場合、出力の SRID は入力配列の要素型の SRID になります。

入力がNULL場合、この関数はNULLを返します。

エラー条件

  • 2 つの非NULL 入力ジオメトリの SRID 値が異なる場合、この関数は ST_DIFFERENT_SRID_VALUESを返します。

例示

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