このトピックでは、ST_SimplifyPreserveTopology関数について説明します。 この関数は、入力ジオメトリオブジェクトの簡易バージョンを表すジオメトリオブジェクトを返します。 この関数はDouglas-Peuckerアルゴリズムを使用します。 この関数は、無効なジオメトリオブジェクトの戻りを防ぎます。
構文
geometry ST_SimplifyPreserveTopology(geometry geomA , float tolerance);パラメーター
パラメーター | 説明 |
geomA | 指定するジオメトリオブジェクト。 |
tolerance | 指定する公差。 |
説明
この関数は、MultiLineオブジェクト、MultiPolygonオブジェクト、およびMultiPointオブジェクトでのみ簡略化操作をサポートします。 ただし、この関数を使用して任意のジオメトリオブジェクトを処理できます。
簡略化操作は、入力ジオメトリオブジェクトに対して1つずつ実行される。 したがって、この関数を使用してGeometryCollectionオブジェクトを処理できます。
この関数は、派生した無効なジオメトリオブジェクト、特にポリゴンオブジェクトの戻りを防ぎます。
例
ST_SimplifyPreserveTopology関数とST_Simplify関数の結果の比較:
SELECT ST_ASText(ST_SimplifyPreserveTopology(g,1)) as PreserveTopology ,ST_ASText(ST_Simplify(g,1)) as Normal from (select 'POLYGON((0 0,1 0,0 1,1 1,0 0))'::geometry as g) as t;
preservetopology | normal
----------------------------+--------
POLYGON((0 0,1 0,1 1,0 0)) |
(1 row)