Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
ST_ AddPoint
ST_ AddPoint gibt eine Linienkettengeometrie zurück, die mit der Eingabegeometrie identisch ist, wobei ein Punkt hinzugefügt wurde. Wenn ein Index angegeben wird, wird der Punkt an der Indexposition hinzugefügt. Wenn der Index -1 ist oder nicht angegeben wird, wird der Punkt an den Linestring angehängt.
Der Index ist null-basiert. Der räumliche Referenzsystem-Bezeichner (SRID) des Ergebnisses entspricht dem der Eingabegeometrie.
Die Dimension der zurückgegebenen Geometrie entspricht der des geom1-Werts. Wenn geom1 und geom2 unterschiedliche Dimensionen haben, wird geom2 auf die Dimension von geom1 projiziert.
Syntax
ST_AddPoint(geom1, geom2)
ST_AddPoint(geom1, geom2, index)
Argumente
- geom1
-
Ein Wert vom Datentyp
GEOMETRY
oder ein Ausdruck, der zu einemGEOMETRY
-Typ ausgewertet wird. Der Subtyp muss seinLINESTRING
. - geom2
-
Ein Wert vom Datentyp
GEOMETRY
oder ein Ausdruck, der zu einemGEOMETRY
-Typ ausgewertet wird. Der Subtyp muss seinPOINT
. Der Punkt kann der leere Punkt sein. - index
-
Ein Wert des Datentyps
INTEGER
. der die Position eines null-basierten Indexes darstellt.
Rückgabetyp
GEOMETRY
Wenn geom1, geom2 oder index null ist, wird null zurückgegeben.
Wenn geom2 der leere Punkt ist, wird eine Kopie von geom1 zurückgegeben.
Wenn geom1 kein LINESTRING
ist, wird ein Fehler zurückgegeben.
Wenn geom2 kein POINT
ist, wird ein Fehler zurückgegeben.
Wenn der Index außerhalb des Bereichs liegt, wird ein Fehler zurückgegeben. Gültige Werte für die Indexposition sind -1 oder ein Wert zwischen 0 und ST_NumPoints(geom1)
.
Beispiele
Die folgende SQL-Anweisung fügt einem Linestring einen Punkt hinzu, um ihn zu einem geschlossenen Linestring zu machen.
WITH tmp(g) AS (SELECT ST_GeomFromText('LINESTRING(0 0,10 0,10 10,5 5,0 5)',4326)) SELECT ST_AsEWKT(ST_AddPoint(g, ST_StartPoint(g))) FROM tmp;
st_asewkt
------------------------------------------------
SRID=4326;LINESTRING(0 0,10 0,10 10,5 5,0 5,0 0)
Die folgende SQL-Anweisung fügt einen Punkt zu einer bestimmten Position in einem Linestring hinzu.
WITH tmp(g) AS (SELECT ST_GeomFromText('LINESTRING(0 0,10 0,10 10,5 5,0 5)',4326)) SELECT ST_AsEWKT(ST_AddPoint(g, ST_SetSRID(ST_Point(5, 10), 4326), 3)) FROM tmp;
st_asewkt
------------------------------------------------
SRID=4326;LINESTRING(0 0,10 0,10 10,5 10,5 5,0 5)