使用Chaikin算法返回给定Geometry对象的平滑版本。
语法
geometry ST_ChaikinSmoothing(geometry geom , integer nIterations , boolean preserveEndPoints);
参数
参数名称 | 描述 |
geom | 目标Geometry对象。 |
nIterations | 迭代次数。最大值为5,默认为1。 |
preserveEndPoints | 标志位,是否保留端点,默认为false。只对多边形有意义。 |
描述
每次迭代顶点数将增加一倍。
该函数在每个点之前和之后的线的1/4处放置新的顶点,并删除原始点。
新点将为所有包含的维度(也包括z和m)插值。
返回的Geometry对象将比原始对象具有更多的点。要减少点数,请对结果使用ST_Simplify或ST_SimplifyVW等简化函数。
示例
不同迭代次数的效果对比:
select g,ST_ChaikinSmoothing(g,1),
ST_ChaikinSmoothing(g,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;
文档内容是否对您有帮助?