ST_GeometryN - Amazon Redshift

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 GEOMETRY oder ein Ausdruck, der zu einem GEOMETRY-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)