Name

ST_AddPoint — Fügt einem Linienzug einen Punkt hinzu.

Synopsis

geometry ST_AddPoint(geometry linestring, geometry point);

geometry ST_AddPoint(geometry linestring, geometry point, integer position = -1);

Beschreibung

Fügt einen Punkt zu einem LineString vor dem Index Position hinzu (unter Verwendung eines 0-basierten Index). Wenn der Parameter position weggelassen wird oder -1 ist, wird der Punkt an das Ende des LineString angehängt.

Verfügbarkeit: 1.1.0

Diese Funktion unterstützt 3d und lässt den Z-Index nicht fallen.

Beispiele

Hinzufügen eines Punktes am Ende einer 3D-Linie

SELECT ST_AsEWKT(ST_AddPoint('LINESTRING(0 0 1, 1 1 1)', ST_MakePoint(1, 2, 3)));

    st_asewkt
    ----------
    LINESTRING(0 0 1,1 1 1,1 2 3)

Garantiert, dass alle Zeilen einer Tabelle geschlossen sind, indem der Anfangspunkt jeder Zeile nur bei den nicht geschlossenen Zeilen an das Zeilenende angefügt wird.

UPDATE sometable
SET geom = ST_AddPoint(geom, ST_StartPoint(geom))
FROM sometable
WHERE ST_IsClosed(geom) = false;