本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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 的擴充已知文字 (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 表示法。在此情況下,傳回的凸包為 linestring。
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)