ST_MakePolygon - Amazon Redshift

ST_MakePolygon

ST_MakePolygon には、ポリゴンを返す 2 つの変形があります。1 つは単一のジオメトリを取り、もう 1 つは 2 つのジオメトリを取ります。

  • 最初の変形の入力は、出力ポリゴンの外リングを定義するライン文字列です。

  • 2 番目の変形の入力は、ライン文字列とマルチライン文字列です。どちらも空であるか、閉じられています。

    出力ポリゴンの外部リングの境界は入力ライン文字列であり、ポリゴンの内部リングの境界は入力マルチライン文字列のライン文字列です。入力ライン文字列が空の場合、空のポリゴンが返されます。マルチライン文字列内の空のライン文字列は無視されます。結果ジオメトリの空間リファレンス識別子 (SRID) は、2 つの入力ジオメトリの共通 SRID です。

結果のジオメトリのディメンションは、入力ジオメトリのものと同じです。外部リングと内部リングは同じディメンションでなければなりません。

構文

ST_MakePolygon(geom1)
ST_MakePolygon(geom1, geom2)

引数

geom1

データ型 GEOMETRY の値または GEOMETRY 型と評価される式の値。サブタイプは LINESTRING である必要があります。linestring 値はクローズされているか、空である必要があります。

geom2

データ型 GEOMETRY の値または GEOMETRY 型と評価される式の値。サブタイプは MULTILINESTRING である必要があります。

戻り型

GEOMETRYサブタイプ の POLYGON

返されたジオメトリの空間リファレンスシステム識別子 (SRID) は、入力の SRID と等しくなります。

geom1 または geom2 が null の場合、null が返されます。

geom1 が linestring でない場合、エラーが返されます。

geom2 がマルチライン文字列でない場合、エラーが返されます。

geom1 がクローズされていない場合、エラーが返されます。

geom1 が単一のポイントであるか、クローズされていない場合、エラーが返されます。

geom2 に、単一のポイントを持つ、または閉じられていないライン文字列が少なくとも 1 つ含まれている場合、エラーが返されます。

geom1 および geom2 の SRID 値が異なる場合、エラーが返されます。

geom1geom2 のディメンションが異なる場合、エラーが返されます。

次の SQL は、入力 LINESTRING からポリゴンを返します。

SELECT ST_AsText(ST_MakePolygon(ST_GeomFromText('LINESTRING(77.29 29.07,77.42 29.26,77.27 29.31,77.29 29.07)')));
st_astext --------------- POLYGON((77.29 29.07,77.42 29.26,77.27 29.31,77.29 29.07))

次の SQL では、閉じたライン文字列と閉じたマルチライン文字列からポリゴンを作成します。ライン文字列は、ポリゴンの外部リングに使用されます。マルチライン文字列のライン文字列は、ポリゴンの内部リングに使用されます。

SELECT ST_AsEWKT(ST_MakePolygon(ST_GeomFromText('LINESTRING(0 0,10 0,10 10,0 10,0 0)'), ST_GeomFromText('MULTILINESTRING((1 1,1 2,2 1,1 1),(3 3,3 4,4 3,3 3))')));
st_astext ---------------------------------- POLYGON((0 0,10 0,10 10,0 10,0 0),(1 1,1 2,2 1,1 1),(3 3,3 4,4 3,3 3))