このトピックでは、ST_ChaikinSmoothing関数について説明します。 この関数は、入力ジオメトリオブジェクトのより滑らかなバージョンを表すジオメトリオブジェクトを返します。 この関数は、Chaikinアルゴリズムを使用します。
構文
geometry ST_ChaikinSmoothing(geometry geom、integer nIterations、boolean preserveEndPoints);
パラメーター
パラメーター | 説明 |
geom | 指定するジオメトリオブジェクト。 |
nIterations | 指定するイテレーションの数。 最大値: 5。 デフォルト値は 1 です。 |
preserveEndPoints | 入力ジオメトリオブジェクトのエンドポイントを保持するかどうかを指定するフラグ。 デフォルト値:false このパラメーターは、入力ジオメトリオブジェクトがポリゴンオブジェクトの場合にのみ有効です。 |
説明
- 反復操作ごとに、この関数は入力ジオメトリオブジェクトの頂点の数を2倍にします。
- この関数は、入力ジオメトリオブジェクトの各点の前後の線の4分の1に新しい頂点を配置し、元の点を削除します。
- 新しい点は、zおよびm次元を含む、入力ジオメトリオブジェクトのすべての固有次元に対する補間値である。
- 返されるジオメトリオブジェクトには、入力ジオメトリオブジェクトよりも多くのポイントが含まれます。 返されるジオメトリオブジェクトのポイント数を減らすには、ST_Simplify関数またはST_SimplifyVW関数を使用します。
例
nIterationsパラメーターの異なる値で返される結果: 


select g,ST_ChaikinSmoothing(g,1),
ST_ChaikinSmoothing(g,5)
から ('LINESTRING (0 0,2 2,3 1,3 5 1.5、5 0,5 25 0.25、5.5 0)'::geometry as g) as t;


