ST_RemoveRepeatedPoints
Prev | 8.5. Geometry Editors | Next

## Name

ST_RemoveRepeatedPoints — Returns a version of a geometry with duplicate points removed.

## Synopsis

`geometry ST_RemoveRepeatedPoints(`geometry geom, float8 tolerance`)`;

## Description

Returns a version of the given geometry with duplicate consecutive points removed. The function processes only (Multi)LineStrings, (Multi)Polygons and MultiPoints but it can be called with any kind of geometry. Elements of GeometryCollections are processed individually. The endpoints of LineStrings are preserved.

If the `tolerance` parameter is provided, vertices within the tolerance distance of one another are considered to be duplicates.

Enhanced: 3.2.0

Availability: 2.2.0

This function supports Polyhedral surfaces.

This function supports 3d and will not drop the z-index.

## Examples

    SELECT ST_AsText( ST_RemoveRepeatedPoints( 'MULTIPOINT ((1 1), (2 2), (3 3), (2 2))'));
    -------------------------
     MULTIPOINT(1 1,2 2,3 3)

    SELECT ST_AsText( ST_RemoveRepeatedPoints( 'LINESTRING (0 0, 0 0, 1 1, 0 0, 1 1, 2 2)'));
    ---------------------------------
     LINESTRING(0 0,1 1,0 0,1 1,2 2)

Example: Collection elements are processed individually.

    SELECT ST_AsText( ST_RemoveRepeatedPoints( 'GEOMETRYCOLLECTION (LINESTRING (1 1, 2 2, 2 2, 3 3), POINT (4 4), POINT (4 4), POINT (5 5))'));
    ------------------------------------------------------------------------------
     GEOMETRYCOLLECTION(LINESTRING(1 1,2 2,3 3),POINT(4 4),POINT(4 4),POINT(5 5))

Example: Repeated point removal with a distance tolerance.

    SELECT ST_AsText( ST_RemoveRepeatedPoints( 'LINESTRING (0 0, 0 0, 1 1, 5 5, 1 1, 2 2)', 2));
    -------------------------
     LINESTRING(0 0,5 5,2 2)

## See Also

ST_Simplify

Prev | Up | Next
ST_RemovePoint | Home | ST_Reverse