適用対象:はい 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