Ganos支援為三維點(Point)或線段(Linestring)構建緩衝區。
文法
meshgeom ST_3DBuffer(geometry geom3d, float8 buffer_radius, boolean round_end default true, float8 smooth default 0.5);參數
| 參數名稱 | 描述 |
| geom3d | geometry對象僅支援Point和Linestring類型。 |
| buffer_radius | 浮點數,表示緩衝區半徑。 |
| round_end | 布爾型,預設為true。對於Linestring類型:
|
| smooth | 浮點數,預設為0.5,取值為(0,1]。表示緩衝區表面的三角形的邊長。取值越小,緩衝區表面三角形邊長越小,表面越光滑,越近似曲面。 |
重要
- 如果未配置round_end參數,則smooth 參數無需配置。
- 如果未配置round_end參數,但是配置smooth 參數,會造成解析錯誤。
描述
將三維的點或線段往外延伸一定距離,形成一段密閉的緩衝區空間。
效果示意





樣本
SELECT ST_AsText(ST_3DBuffer('POINT(0 0 0)', 2));
---------------------------------------------------
MESHGEOM(PATCH(INDEXSURFACE Z (VERTEX(0 0 2,-0.894427190999916 0 1.78885438199983,-0.447213595499958 ...
SELECT ST_AsText(ST_3DBuffer('LINESTRING(1 2 3, 0 0 4)', 0.5, false));
---------------------------------------------------
MESHGEOM(PATCH(INDEXSURFACE Z (VERTEX(1.43294188107951 1.89763792560716 3.22821773229382,1.30266373925419...
SELECT ST_AsText(ST_3DBuffer('LINESTRING(0 1 0, 1 3 2, 2 1 1)', 1, true, 0.6));
------------------------------------------------------
MESHGEOM(PATCH(INDEXSURFACE Z (VERTEX(-0.89885050178969 1.01131599079557 0.438109260099278...