Amazon Redshift unterstützt ab dem 1. November 2025 nicht mehr die Erstellung neuer Python-UDFs. Wenn Sie Python-UDFs verwenden möchten, erstellen Sie die UDFs vor diesem Datum. Bestehende Python-UDFs funktionieren weiterhin wie gewohnt. Weitere Informationen finden Sie im Blog-Posting
ST_GeometryN
ST_GeometryN gibt eine Geometrie zurück, auf die der Eingabeindex der Eingabegeometrie zeigt, wie folgt:
Wenn es sich bei der Eingabe um einen Punkt, Linestring oder ein Polygon handelt, wird die Geometrie unverändert zurückgegeben, wenn der Index gleich eins ist (1) und als null, wenn der Index ein anderer als eins (1) ist.
Wenn es sich bei der Eingabe um eine Multipoint-, Multilinestring-, Multipolygon- oder Geometriesammlung handelt, wird eine Punkt-, Linestring-, Polygon- oder Geometriesammlung zurückgegeben, auf die ein Eingabeindex zeigt.
Der Index ist eins-basiert. Der räumliche Referenzsystem-Bezeichner (SRID) des Ergebnisses entspricht dem der Eingabegeometrie. Die Dimension der zurückgegebenen Geometrie entspricht der der Eingabegeometrie.
Syntax
ST_GeometryN(geom, index)
Argumente
- geom
-
Ein Wert vom Datentyp
GEOMETRYoder ein Ausdruck, der zu einemGEOMETRY-Typ ausgewertet wird. - index
-
Ein Wert des Datentyps
INTEGER, der die Position eines eins-basierten Indexes darstellt.
Rückgabetyp
GEOMETRY
Wenn geom oder index null ist, wird null zurückgegeben.
Wenn der Index außerhalb des Bereichs liegt, wird ein Fehler zurückgegeben.
Beispiele
Die folgende SQL-Anweisung gibt die Geometrien in einer Geometriesammlung zurück.
WITH tmp1(idx) AS (SELECT 1 UNION SELECT 2), tmp2(g) AS (SELECT ST_GeomFromText('GEOMETRYCOLLECTION(POLYGON((0 0,10 0,0 10,0 0)),LINESTRING(20 10,20 0,10 0))')) SELECT idx, ST_AsEWKT(ST_GeometryN(g, idx)) FROM tmp1, tmp2 ORDER BY idx;
idx | st_asewkt
-----+------------------------------
1 | POLYGON((0 0,10 0,0 10,0 0))
2 | LINESTRING(20 10,20 0,10 0)