すべてのプロダクト
Search
ドキュメントセンター

PolarDB:ST_3DBuffer

最終更新日:Jun 21, 2024

このトピックでは、ST_3DBuffer関数について説明します。 この関数は、3Dポイントまたはラインストリングのバッファを作成します。

構文

meshgeom ST_3DBuffer(geometry geom3d、float8 buffer_radius、ブールround_endデフォルトtrue、float8滑らかなデフォルト0.5);

パラメーター

パラメーター説明
geom3dジオメトリオブジェクト。Point型またはLineString型にすることができます。
buffer_radiusバッファ半径。浮動小数点数です。
round_end値は Boolean 型です。 デフォルト値:true
  • ラインストリングに対してround_endパラメーターをtrueに設定すると、ラインストリングの端点に対して半球バッファが作成されます。
  • ラインストリングのround_endパラメーターをfalseに設定した場合、ラインストリングのエンドポイントにバッファーは作成されません。
滑らかなバッファサーフェス上の三角形の辺の長さ。 値は浮動小数点数です。 デフォルト値: 0.5 有効な値: (0,1) 。 小さい値は、三角形の辺の長さが小さいことを示す。 表面はより滑らかで、曲面により近い。
重要
  • round_endパラメーターを設定しない場合、smoothパラメーターを設定する必要はありません。
  • round_endパラメーターを設定せず、smoothパラメーターを設定すると、解析エラーが発生します。

説明

この関数は、3Dポイントまたはラインストリングを特定の距離だけ拡張して、閉じたバッファを形成します。

効果図

図1. Buffer for a 3D point when smooth parameter is set to 0.5 Figure 1
図2. Buffer for a 3D point when the smooth parameter is set to 0.8 Figure 2
図3. round_endパラメーターがtrueに設定されている場合の3Dラインストリングのバッファ Figure 3
図4. round_endパラメーターがfalseに設定されている場合の3Dラインストリングのバッファ Figure 4
図5. round_endパラメーターがtrueに設定され、smoothパラメーターが0に設定されている場合の3Dラインストリングのバッファ。 Figure 1

SELECT ST_AsText(ST_3DBuffer('POINT(0 0 0)', 2));
---------------------------------------------------
MESHGEOM (パッチ (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 (パッチ (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, true, 0.6));
------------------------------------------------------
MESHGEOM (パッチ (INDEXSURFACE Z) (VERTEX(-0.89885050178969 1.01131599079557 0.438109260099278... 
))