Name

ST_RemoveRepeatedPoints — Gibt eine Version einer Geometrie zurück, bei der doppelte Punkte entfernt wurden.

Synopsis

geometry ST_RemoveRepeatedPoints(geometry geom, float8 tolerance);

Beschreibung

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.

Wenn der Parameter tolerance angegeben wird, werden Scheitelpunkte, die innerhalb des Toleranzabstands zueinander liegen, als Duplikate betrachtet.

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.

Beispiele

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)

Siehe auch

ST_Simplify