カテゴリ:

地理空間関数

ST_MAKEPOLYGON , ST_POLYGON

穴のないポリゴンを表す GEOGRAPHY または GEOMETRY オブジェクトを構築します。この関数は、指定された LineString を外部ループとして使用します。

この関数は、球体の半分以上にまたがるポリゴンの作成しないようループの方向を修正します。対照的に、 ST_MAKEPOLYGONORIENTED はループの向きを修正しようとしません。

こちらもご参照ください。

TO_GEOGRAPHYTO_GEOMETRYST_MAKEPOLYGONORIENTED

構文

ST_MAKEPOLYGON( <geography_or_geometry_expression> )
Copy

引数

geography_or_geometry_expression

最後のポイントが最初のポイントと同じ(つまり、ループ)である LineString を表す GEOGRAPHY または GEOMETRY オブジェクト。

戻り値

この関数は、型 GEOGRAPHY または GEOMETRY の値を返します。

使用上の注意

  • ポリゴンの線はループを形成する必要があります。言い換えると、LineString を定義する一連のポイントにおける最後のポイントは、シーケンスの最初のポイントと同じポイントでなければなりません。

  • ST_POLYGON は、ST_MAKEPOLYGON のエイリアスです。

  • GEOMETRY オブジェクトの場合、返された GEOMETRY オブジェクトは入力と同じ SRID を持ちます。

GEOGRAPHY 例

これは、 ST_MAKEPOLYGON 関数の簡単な使用法を示しています。以下の一連のポイントは、幅1°、高さ2°の測地線矩形領域を定義し、ポリゴンの左下隅は赤道(緯度)とグリニッジ(経度)からはじまります。シーケンスの最後のポイントは、ループを完了する最初のポイントと同じです。

SELECT ST_MAKEPOLYGON(
   TO_GEOGRAPHY('LINESTRING(0.0 0.0, 1.0 0.0, 1.0 2.0, 0.0 2.0, 0.0 0.0)')
   ) AS polygon1;
+--------------------------------+
| POLYGON1                       |
|--------------------------------|
| POLYGON((0 0,1 0,1 2,0 2,0 0)) |
+--------------------------------+
Copy

GEOMETRY 例

これは、 ST_MAKEPOLYGON 関数の簡単な使用法を示しています。

SELECT ST_MAKEPOLYGON(
  TO_GEOMETRY('LINESTRING(0.0 0.0, 1.0 0.0, 1.0 2.0, 0.0 2.0, 0.0 0.0)')
  ) AS polygon;
Copy
+--------------------------------+
| POLYGON                        |
|--------------------------------|
| POLYGON((0 0,1 0,1 2,0 2,0 0)) |
+--------------------------------+
Copy