このトピックでは、ST_Simplify関数について説明します。 この関数は、入力ジオメトリオブジェクトの簡易バージョンを表すジオメトリオブジェクトを返します。 この関数はDouglas-Peuckerアルゴリズムを使用します。
構文
ジオメトリST_Simplify (ジオメトリgeomA、フロートトレランス、ブール値preserveCollapsed);
パラメーター
パラメーター | 説明 |
geomA | 指定するジオメトリオブジェクト。 |
公差 | 指定する公差。 |
preserveCollapsed | 返されるジオメトリオブジェクトに小さなジオメトリオブジェクトを保持するかどうかを指定するフラグ。 |
説明
- この関数は、MultiLineオブジェクト、MultiPolygonオブジェクト、およびMultiPointオブジェクトでのみ簡略化操作をサポートします。 ただし、この関数を使用して任意のジオメトリオブジェクトを処理できます。
- 簡略化操作は、入力ジオメトリオブジェクトに対して1つずつ実行される。 したがって、この関数を使用してGeometryCollectionオブジェクトを処理できます。
- 入力ジオメトリオブジェクトのスケールが公差パラメーターの値よりもはるかに小さく、preserveCollapsedパラメーターが指定されている場合、入力ジオメトリオブジェクトは消えません。
preserveCollapsedパラメーターは、エンジンをレンダリングして、多数の小さなジオメトリオブジェクトがマップから消えて異常なギャップが残るのを防ぐのに役立ちます。
- 返されるジオメトリオブジェクトは、その単純さを失うことがある。
- この関数は、入力ジオメトリオブジェクトのトポロジを変更し、無効なジオメトリオブジェクトを返す場合があります。
ST_SimplifyPreserveTopology関数を使用して、入力ジオメトリオブジェクトのトポロジを保持できます。
例
公差パラメーター: 


select g,ST_Simplify(g,0.25),
ST_Simplify(g,0.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;


