全部產品
Search
文件中心

ApsaraDB RDS:ST_SimplifyPreserveTopology

更新時間:Feb 28, 2024

使用Douglas-Peucker演算法返回給定Geometry對象的簡化版本,並避免創造無效Geometry對象。

文法

geometry  ST_SimplifyPreserveTopology(geometry  geomA , float  tolerance);

參數

參數名稱描述
geomA目標Geometry對象。
tolerance容差。

描述

  • 該函數實際上只支援(Multi)Line、(Multi)Polygon和MultiPoint類型對象,但是你可以安全地對任何Geometry對象使用該函數。
  • 由於簡化操作是逐個對象進行的,因此您還可以將GeometryCollection應用於該函數。
  • 該函數會避免建立新的派生的無效的Geometry對象(特別是多邊形)。

樣本

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)