ST_Simplify
使用Douglas-Peucker算法簡化一個給定的Geometry對象,并返回。
語法
geometry ST_Simplify(geometry geomA , float tolerance , boolean preserveCollapsed);
參數(shù)
參數(shù)名稱 | 描述 |
geomA | 目標Geometry對象。 |
tolerance | 簡化容差。 |
preserveCollapsed | 標志位,是否保留過小的對象。 |
描述
該函數(shù)實際上只支持(Multi)Line、(Multi)Polygon和MultiPoint類型對象,但是你可以安全地對任何Geometry對象使用該函數(shù)。
由于簡化操作是逐個對象進行的,因此您還可以將GeometryCollection應(yīng)用于該函數(shù)。
當Geometry對象的尺度遠小于容差時,如果啟用保留標志位,將不會消失。
該標志對于渲染引擎很有用,可避免大量非常小的對象從地圖上消失從而留下異常的間隙。
返回的Geometry對象可能會丟失簡單性。
輸入對象拓撲結(jié)構(gòu)可能會變化,也可能會產(chǎn)生無效的Geometry對象。
可以使用ST_SimplifyPreserveTopology來維持輸入對象的拓撲結(jié)構(gòu)。
示例
不同容差簡化效果對比:
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;
文檔內(nèi)容是否對您有幫助?