ST_ChaikinSmoothing
Name
ST_ChaikinSmoothing — Returns a "smoothed" version of the given geometry using the Chaikin algorithm
Synopsis
    
     geometry
     
      ST_ChaikinSmoothing
     
     (
    
    geometry
    
     geom
    
    , integer
    
     nIterations = 1
    
    , boolean
    
     preserveEndPoints = false
    
    
     )
    
    ;
   
Description
Returns a "smoothed" version of the given geometry using the Chaikin algorithm. See Chaikins-Algorithm for an explanation of the process. For each iteration the number of vertex points will double. The function puts new vertex points at 1/4 of the line before and after each point and removes the original point. To reduce the number of points use one of the simplification functions on the result. The new points gets interpolated values for all included dimensions, also z and m.
Second argument, number of iterations is limited to max 5 iterations
Note third argument is only valid for polygons, and will be ignored for linestrings
This function handles 3D and the third dimension will affect the result.
       
      | 
     |
| 
       Note that returned geometry will get more points than the original. To reduce the number of points again use one of the simplification functions on the result. (see ST_Simplify and ST_SimplifyVW )  | 
    
Availability: 2.5.0
Examples
A triangle is smoothed
select ST_AsText(ST_ChaikinSmoothing(geom)) smoothed FROM (SELECT 'POLYGON((0 0, 8 8, 0 16, 0 0))'::geometry geom) As foo; ┌───────────────────────────────────────────┐ │ smoothed │ ├───────────────────────────────────────────┤ │ POLYGON((2 2,6 6,6 10,2 14,0 12,0 4,2 2)) │ └───────────────────────────────────────────┘