ST_Simplify
Prev | 8.14. Geometry Processing | Next

## Name

ST_Simplify — Returns a simplified version of a geometry, using the Douglas-Peucker algorithm.

## Synopsis

`geometry ST_Simplify(`geometry geomA, float tolerance`)`;

`geometry ST_Simplify(`geometry geomA, float tolerance, boolean preserveCollapsed`)`;

## Description

Returns a "simplified" version of the given geometry using the Douglas-Peucker algorithm. Will actually do something only with (multi)lines and (multi)polygons but you can safely call it with any kind of geometry. Since simplification occurs on a object-by-object basis you can also feed a GeometryCollection to this function.

The "preserve collapsed" flag will retain objects that would otherwise be too small given the tolerance. For example, a 1m long line simplified with a 10m tolerance. If `preserveCollapsed` argument is specified as true, the line will not disappear. This flag is useful for rendering engines, to avoid having large numbers of very small objects disappear from a map leaving surprising gaps.

Note that returned geometry might lose its simplicity (see ST_IsSimple)

Note topology may not be preserved and may result in invalid geometries. Use (see ST_SimplifyPreserveTopology) to preserve topology.

Availability: 1.2.2

## Examples

A circle simplified too much becomes a triangle, medium an octagon,

    SELECT ST_Npoints(geom) AS np_before,
           ST_NPoints(ST_Simplify(geom,0.1)) AS np01_notbadcircle,
           ST_NPoints(ST_Simplify(geom,0.5)) AS np05_notquitecircle,
           ST_NPoints(ST_Simplify(geom,1)) AS np1_octagon,
           ST_NPoints(ST_Simplify(geom,10)) AS np10_triangle,
           (ST_Simplify(geom,100) is null) AS  np100_geometrygoesaway
      FROM
        (SELECT ST_Buffer('POINT(1 3)', 10,12) As geom) AS foo;

     np_before | np01_notbadcircle | np05_notquitecircle | np1_octagon | np10_triangle | np100_geometrygoesaway
    -----------+-------------------+---------------------+-------------+---------------+------------------------
            49 |                33 |                  17 |           9 |             4 | t

## See Also

ST_IsSimple, ST_SimplifyPreserveTopology, ST_SimplifyVW, Topology ST_Simplify

Prev | Up | Next
ST_SharedPaths | Home | ST_SimplifyPreserveTopology