ST_ SetPoint - 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_ SetPoint

ST_ SetPoint gibt eine Linienfolge mit aktualisierten Koordinaten in Bezug auf die Position der Eingabelinienfolge zurück, wie sie durch den Index angegeben ist. Die neuen Koordinaten sind die Koordinaten des Eingabepunkts.

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_SetPoint(geom1, index, geom2)

Argumente

geom1

Ein Wert vom Datentyp GEOMETRY oder ein Ausdruck, der zu einem GEOMETRY-Typ ausgewertet wird. Der Subtyp muss sein LINESTRING.

index

Ein Wert des Datentyps INTEGER, der die Position eines Index darstellt. Eine 0 bezieht sich auf den ersten Punkt eines Linestrings von links, 1 bezieht sich auf den zweiten Punkt und so weiter. Der Index kann ein negativer Wert sein. Eine -1 bezieht sich auf den ersten Punkt eines Linestrings von rechts, -2 bezieht sich auf den zweiten Punkt des Linestrings von rechts und so weiter.

geom2

Ein Wert vom Datentyp GEOMETRY oder ein Ausdruck, der zu einem GEOMETRY-Typ ausgewertet wird. Der Subtyp muss sein POINT.

Rückgabetyp

GEOMETRY

Wenn geom2 der leere Punkt ist, wird geom1 zurückgegeben.

Wenn geom1, geom2 oder index null ist, wird null zurückgegeben.

Wenn geom1 kein Linestring ist, wird ein Fehler zurückgegeben.

Wenn index nicht in einem gültigen Indexbereich ist, wird ein Fehler zurückgegeben.

Wenn geom2 kein Punkt ist, wird ein Fehler zurückgegeben.

Wenn geom1 und geom2 nicht den gleichen SRID-Wert (Spatial Reference System Identifier) haben, wird ein Fehler zurückgegeben.

Beispiele

Die folgende SQL-Anweisung gibt einen neuen Linestring zurück, bei dem wir den zweiten Punkt des Eingabe-Linestrings mit dem angegebenen Punkt festgelegt haben.

SELECT ST_AsText(ST_SetPoint(ST_GeomFromText('LINESTRING(1 2, 3 2, 5 2, 1 2)'), 2, ST_GeomFromText('POINT(7 9)')));
st_astext ------------- LINESTRING(1 2,3 2,7 9,1 2)

Das folgende SQL-Beispiel gibt einen neuen Linestring zurück, bei dem wir den dritten Punkt von rechts (der Index ist negativ) des Linestrings mit dem angegebenen Punkt festgelegt haben.

SELECT ST_AsText(ST_SetPoint(ST_GeomFromText('LINESTRING(1 2, 3 2, 5 2, 1 2)'), -3, ST_GeomFromText('POINT(7 9)')));
st_astext ------------- LINESTRING(1 2,7 9,5 2,1 2)