すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:ST_SimplifyPreserveTopology

最終更新日:Mar 29, 2026

Douglas-Peucker アルゴリズムを使用して、ジオメトリ オブジェクトの単純化され、有効な表現を返します。

構文

geometry ST_SimplifyPreserveTopology(geometry geomA, float tolerance)

パラメータ

パラメータ説明
geomA単純化するジオメトリ オブジェクト。
tolerance指定するトレランス。

説明

ST_SimplifyPreserveTopology は、Douglas-Peucker 単純化アルゴリズムをジオメトリ オブジェクトに適用し、有効な結果を保証します。

サポートされているジオメトリ タイプ

単純化は、MultiLine、MultiPolygon、および MultiPoint オブジェクトに適用されます。GeometryCollection 入力の場合、コレクション内の各ジオメトリは個別に単純化されます。

ST_Simplify とは異なり、この関数は、特にポリゴン入力の場合、無効な派生ジオメトリ オブジェクトを返すことはありません。

次の例では、自己交差ポリゴンに対する ST_SimplifyPreserveTopologyST_Simplify の出力を比較します。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)