ST_RemoveRepeatedPoints — Gibt eine Version einer Geometrie zurück, bei der doppelte Punkte entfernt wurden.
geometry ST_RemoveRepeatedPoints(
geometry geom, float8 tolerance = 0.0)
;
Gibt eine Version der angegebenen Geometrie zurück, bei der doppelte aufeinanderfolgende Punkte entfernt wurden. Die Funktion verarbeitet nur (Multi)LineStrings, (Multi)Polygone und MultiPoints, kann aber mit jeder Art von Geometrie aufgerufen werden. Elemente von GeometryCollections werden einzeln verarbeitet. Die Endpunkte von LineStrings werden beibehalten.
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).
Verbessert: 3.2.0
Verfügbarkeit: 2.2.0
Diese Funktion unterstützt polyedrische Flächen.
Diese Funktion unterstützt 3d und lässt den Z-Index nicht fallen.
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)
Beispiel: Sammlungselemente werden einzeln bearbeitet.
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))
Beispiel: Wiederholte Punktentfernung mit einer Abstandstoleranz.
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)