全部產品
Search
文件中心

ApsaraDB RDS:ST_Simplify

更新時間:Feb 28, 2024

使用Douglas-Peucker演算法簡化一個給定的Geometry對象,並返回。

文法

geometry  ST_Simplify(geometry  geomA , float  tolerance , boolean  preserveCollapsed);

參數

參數名稱描述
geomA目標Geometry對象。
tolerance簡化容差。
preserveCollapsed標誌位,是否保留過小的對象。

描述

  • 該函數實際上只支援(Multi)Line、(Multi)Polygon和MultiPoint類型對象,但是你可以安全地對任何Geometry對象使用該函數。
  • 由於簡化操作是逐個對象進行的,因此您還可以將GeometryCollection應用於該函數。
  • 當Geometry對象的尺度遠小於容差時,如果啟用保留標誌位,將不會消失。

    該標誌對於渲染引擎很有用,可避免大量非常小的對象從地圖上消失從而留下異常的間隙。

  • 返回的Geometry對象可能會丟失簡單性。
  • 輸入對象拓撲結構可能會變化,也可能會產生無效的Geometry對象。

    可以使用ST_SimplifyPreserveTopology來維持輸入對象的拓撲結構。

樣本

不同容差簡化效果對比:
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;
123