View a markdown version of this page

ST_GeometryN - Amazon Redshift

Amazon Redshift non supporterà più l'uso delle UDF Python dopo il 30 giugno 2026. Inizieremo ad applicarlo per fasi. Per ulteriori informazioni sulla fine del ciclo di vita e sulle opzioni di migrazione di Python, consulta il post del blog pubblicato il 30 giugno 2025.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

ST_GeometryN

ST_Geometryn restituisce una geometria puntata dall'indice di input della geometria di input, come segue:

  • Se l'input è un punto, una linestring o un poligono, viene restituita una geometria come se l'indice fosse uguale a uno (1) e nullo se l'indice è diverso da uno (1).

  • Se l'input è un multipunto, una multilinestring, un multipoligono oppure una raccolta di geometria, allora il punto, la linestring, il poligono o la geometria viene restituita come indicato da un indice di input.

L'indice è basato su uno. L'identificatore del sistema di riferimento spaziale (SRID) del risultato è lo stesso della geometria di input. La dimensione della geometria restituita è la stessa della geometria di input.

Sintassi

ST_GeometryN(geom, index)

Arguments (Argomenti)

geom

Un valore di tipo GEOMETRY o un'espressione che restituisce un valore di tipo GEOMETRY.

indice

Valore del tipo di dati INTEGER che rappresenta la posizione di un indice basato su un uno.

Tipo restituito

GEOMETRY

Se geom o index sono nulli, allora viene restituito il valore nullo.

Se index è fuori intervallo, viene restituito un errore.

Esempi

Il seguente codice SQL restituisce le geometrie in una raccolta di geometrie.

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)