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