ダグラス・ポーカーアルゴリズムを使用して、入力ジオメトリオブジェクトの単純化されたバージョンを返します。
構文
geometry ST_Simplify(geometry geomA, float tolerance, boolean preserveCollapsed);パラメーター
| パラメーター | 説明 |
|---|---|
geomA | 単純化するジオメトリオブジェクトです。 |
tolerance | 単純化の許容値です。値が大きいほど、より積極的な単純化が行われます。 |
preserveCollapsed | 許容値のしきい値を下回ると消失してしまうような小さなジオメトリオブジェクトを保持するかどうかを指定します。 |
注意事項
単純化は、MultiLineString、MultiPolygon、および MultiPoint オブジェクトに対してネイティブに動作します。この関数は、あらゆるジオメトリタイプを受け入れ、GeometryCollection オブジェクトを要素ごとに処理します。
ジオメトリオブジェクトのスケールが
toleranceの値よりもはるかに小さい場合、preserveCollapsedがtrueに設定されていない限り、オブジェクトは結果から消失します。これは、レンダリングエンジンが小さなジオメトリオブジェクトによってマップ上にギャップが生じるのを防ぐ必要がある場合に役立ちます。返されるジオメトリは、その単純さを失う可能性があります。
この関数は、入力ジオメトリのトポロジーを変更し、無効なジオメトリオブジェクトを返す可能性があります。トポロジーを保持するには、代わりに ST_SimplifyPreserveTopology を使用します。
例
次の例では、ST_Simplify を LineString に適用し、2 つの異なる許容値 (0.25 と 0.5) を使用して、許容値を大きくすると頂点数がどのように減少するかを示します。
select g, ST_Simplify(g, 0.25),
ST_Simplify(g, 0.5)
from (select '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;

