使用Visvalingam-Whyatt算法返回給定Geometry對象的簡化版本。

語法

geometry  ST_SimplifyVW(geometry  geomA , float  tolerance);

參數(shù)

參數(shù)名稱 描述
geomA 目標(biāo)Geometry對象。
tolerance 容差。

描述

  • 該函數(shù)實際上只支持(Multi)Line、(Multi)Polygon和MultiPoint類型對象,但是你可以安全地對任何Geometry對象使用該函數(shù)。
  • 由于簡化操作是逐個對象進(jìn)行的,因此您還可以將GeometryCollection應(yīng)用于該函數(shù)。
  • 返回的Geometry對象可能會丟失簡單性。
  • 輸入對象拓?fù)浣Y(jié)構(gòu)可能會變化,也可能會產(chǎn)生無效的Geometry對象。

    可以使用ST_SimplifyPreserveTopology來維持輸入對象的拓?fù)浣Y(jié)構(gòu)。

  • 該函數(shù)支持3D對象,并且3D維度將影響結(jié)果。

示例

ST_Simplify和ST_SimplifyVW效果對比:
select g,ST_Simplify(g,0.5),
			 ST_SimplifyVW(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