ST_ AddPoint - Amazon Redshift

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 einem GEOMETRY-Typ ausgewertet wird. Der Subtyp muss sein LINESTRING.

geom2

Ein Wert vom Datentyp GEOMETRY oder ein Ausdruck, der zu einem GEOMETRY-Typ ausgewertet wird. Der Subtyp muss sein POINT. 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)