ST_ChaikinSmoothing — チャイキンのアルゴリズムを使って、与えられたジオメトリが「平滑化された」ものを返します。
geometry ST_ChaikinSmoothing(
geometry geom, integer nIterations = 1, boolean preserveEndPoints = false)
;
チャイキンのアルゴリズムを使って、与えられたジオメトリの「平滑化された」ものを返します。処理の説明についてはChaikins-Algorithmをご覧下さい。繰り返しごとに頂点の数は倍になります。この関数は新しい頂点を、各ポイントの前後に、ラインの1/4の位置に置き、元のポイントを削除します。ポイント数を減らすには、結果に対して簡略化関数を使います。新しいポイントの、ZとMを含むジオメトリの全ての次元に補間値が付きます。
第2引数は、繰り返し回数で、最大5回に制限されます。
第3引数はポリゴンでのみ有効で、ラインストリングでは無視されます。
この関数は3次元を扱います。第3次元は結果に影響を与えます。
![]() | |
返されるジオメトリは元のジオメトリより頂点が多くなります。ポイント数を減らすには、結果に対して簡略化関数を使います (ST_SimplifyとST_SimplifyVWをご覧下さい)。 |
Availability: 2.5.0
三角形を平滑化します
select ST_AsText(ST_ChaikinSmoothing(geom)) smoothed FROM (SELECT 'POLYGON((0 0, 8 8, 0 16, 0 0))'::geometry geom) As foo; ┌───────────────────────────────────────────┐ │ smoothed │ ├───────────────────────────────────────────┤ │ POLYGON((2 2,6 6,6 10,2 14,0 12,0 4,2 2)) │ └───────────────────────────────────────────┘