ST_AddPoint — Fügt einem Linienzug einen Punkt hinzu.
geometry ST_AddPoint(
geometry linestring, geometry point)
;
geometry ST_AddPoint(
geometry linestring, geometry point, integer position = -1)
;
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.
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;