Name

ST_RemoveRepeatedPoints — Renvoie une version d'une géométrie dont les points en double ont été supprimés.

Synopsis

geometry ST_RemoveRepeatedPoints(geometry geom, float8 tolerance);

Description

Renvoie une version de la géométrie donnée dont les points consécutifs en double ont été supprimés. La fonction ne traite que les (Multi)LineStrings, les (Multi)Polygons et les MultiPoints, mais elle peut être appelée avec n'importe quel type de géométrie. Les éléments des collections de géométries sont traités individuellement. Les extrémités des lignes sont préservées.

Si le paramètre tolérance est fourni, les sommets situés dans la distance de tolérance les uns des autres sont considérés comme des doublons.

Amélioration : 3.2.0

Disponibilité : 2.2.0

Cette fonction prend en charge les surfaces Polyhedral.

Cette fonction prend en charge la 3D et ne supprime pas l'indice z.

Exemples

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)

Exemple: Les éléments de la collection sont traités individuellement.

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))

Exemple: Suppression répété de points avec une tolérance de distance.

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)

Voir aussi

ST_Simplify