適用対象:
Databricks SQL
Databricks Runtime 17.1 以降" とマークされているチェック
Important
この機能は パブリック プレビュー段階です。
注
この機能は、Databricks SQL クラシック ウェアハウスでは使用できません。 Databricks SQL ウェアハウスの詳細については、 SQL ウェアハウスの種類に関するページを参照してください。
入力外部境界と、閉じたライン文字列として表される内部境界の省略可能な配列から、多角形の GEOMETRY 値を構築します。
Syntax
st_makepolygon ( outer[, innerArray] )
Arguments
-
outer:GEOMETRY値。 -
innerArray:GEOMETRY値の配列。
Returns
多角形を表す GEOMETRY型の値。
内部境界配列内の NULL 値はすべて無視されます。
出力ポリゴンの SRID 値は、入力ジオメトリの共通 SRID 値です。
出力ポリゴンの次元は、入力ラインストリングの最大共通次元です。
いずれかの入力がNULLされている場合、関数はNULLを返します。
エラー条件
- 入力ジオメトリのいずれかがlinestringでない場合、この関数はST_INVALID_ARGUMENT.INVALID_TYPEを返します。
- 入力ジオメトリに同じ SRID 値がない場合、関数は ST_DIFFERENT_SRID_VALUESを返します。
- 外側の境界が空のラインストリングの場合、内部境界の配列は空の配列であることが期待されます。 それ以外の場合、関数はST_INVALID_ARGUMENTを返します 。EMPTY_OUTER_BOUNDARY。
- 外側の境界の頂点が 4 つ未満の場合、関数はST_INVALID_ARGUMENTを返します 。TOO_FEW_VERTICES_IN_OUTER_BOUNDARY。
- 外側の境界が閉じていない場合、関数はST_INVALID_ARGUMENTを返します 。OUTER_BOUNDARY_NOT_CLOSED。
- 内部境界のいずれかが 4 つ未満の頂点を持つ場合、関数はST_INVALID_ARGUMENTを返します 。TOO_FEW_VERTICES_IN_INNER_BOUNDARY。
- 内部境界のいずれかが閉じていない場合、関数はST_INVALID_ARGUMENTを返します 。INNER_BOUNDARY_NOT_CLOSED。
Examples
-- Returns a polygon constructed from the outer boundary.
> SELECT st_astext(st_makepolygon(st_geomfromtext('LINESTRING(0 0,10 0,10 10,0 10,0 0)')));
POLYGON((0 0,10 0,10 10,0 10,0 0))
-- Returns a polygon constructed from the outer boundary and an inner boundary.
> SELECT st_astext(st_makepolygon(st_geomfromtext('LINESTRING(0 0,10 0,10 10,0 10,0 0)'), array(st_geomfromtext('LINESTRING(1 1,2 1,1 2,1 1)'))));
POLYGON((0 0,10 0,10 10,0 10,0 0),(1 1,2 1,1 2,1 1))