カテゴリ:

地理空間関数

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