ST_RemoveRepeatedPoints — Renvoie une version d'une géométrie dont les points en double ont été supprimés.
geometry ST_RemoveRepeatedPoints(
geometry geom, float8 tolerance = 0.0)
;
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.
If a non-zero tolerance
parameter is provided, vertices within the tolerance distance of one another are considered to be duplicates. The distance is computed in 2D (XY plane).
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.
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)