ST_ConvexHull
ST_ConvexHull は、入力ジオメトリに含まれる、空でないポイントの凸包を表すジオメトリを返します。
入力が空の場合は、結果のジオメトリは入力ジオメトリと同じになります。空でないすべての入力に対して、この関数は入力ジオメトリの 2D 射影を処理します。ただし、出力ジオメトリのディメンションは、入力ジオメトリのディメンションによって異なります。具体的には、入力が空でない 3DM または 3D ジオメトリの場合、m
座標がドロップされます。つまり、返されるジオメトリのディメンションは、それぞれ 2D または 3DZ となります。入力が空でない 2D または 3DZ ジオメトリの場合、結果のジオメトリのディメンションは同じになります。
構文
ST_ConvexHull(geom)
引数
- geom
-
データ型
GEOMETRY
の値またはGEOMETRY
型と評価される式の値。
戻り型
GEOMETRY
返されたジオメトリの空間リファレンスシステム識別子 (SRID) 値が、入力ジオメトリの SRID 値です。
geom が null の場合、null が返されます。
返される値は次のとおりです。
凸包上のポイント数 | ジオメトリのサブタイプ |
---|---|
0 |
geom のコピーが返されます。 |
1 |
|
2 |
|
3 以上 |
内部リングのない |
例
次の SQL は、LINESTRING の拡張された well-known text (EWKT) 表現を返します。この場合、返される凸包はポリゴンです。
SELECT ST_AsEWKT(ST_ConvexHull(ST_GeomFromText('LINESTRING(0 0,1 0,0 1,1 1,0.5 0.5)'))) as output;
output
-------------
POLYGON((0 0,0 1,1 1,1 0,0 0))
次の SQL は、LINESTRING の EWKT 表現を返します。この場合、返される凸包はライン文字列です。
SELECT ST_AsEWKT(ST_ConvexHull(ST_GeomFromText('LINESTRING(0 0,1 1,0.2 0.2,0.6 0.6,0.5 0.5)'))) as output;
output
-------------
LINESTRING(0 0,1 1)
次の SQL は、マルチポイントの EWKT 表現を返します。この場合、返される凸包はポイントです。
SELECT ST_AsEWKT(ST_ConvexHull(ST_GeomFromText('MULTIPOINT(0 0,0 0,0 0)'))) as output;
output
-------------
POINT(0 0)