ST_ SetPoint - Amazon Redshift

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

ST_ SetPoint restituisce una stringa di linee con coordinate aggiornate rispetto alla posizione della stringa di linea di input specificata dall'indice. Le nuove coordinate sono le coordinate del punto di input.

La dimensione della geometria restituita è la stessa del valore geom1. Se geom1 e geom2 hanno dimensioni diverse, geom2 è proiettato sulla dimensione di geom1.

Sintassi

ST_SetPoint(geom1, index, geom2)

Argomenti

geom1

Un valore di tipo GEOMETRY o un'espressione che restituisce un valore di tipo GEOMETRY. Questo sottotipo deve essere LINESTRING.

indice

Un valore del tipo di dati INTEGER che rappresenta la posizione di un indice. Un 0 si riferisce al primo punto del linestring da sinistra, 1 si riferisce al secondo punto e così via. L'indice può essere un valore negativo. Un -1 si riferisce al primo punto del linestring da sinistra, -2 si riferisce al secondo punto da destra e così via.

geom2

Un valore di tipo GEOMETRY o un'espressione che restituisce un valore di tipo GEOMETRY. Questo sottotipo deve essere POINT.

Tipo restituito

GEOMETRY

Se geom2 è il punto vuoto, allora viene restituito geom1.

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

Se geom1 non è una linestring, allora viene restituito un errore.

Se index non è compreso in un intervallo di indice valido, allora viene restituito un errore.

Se geom2 non è un punto, allora viene restituito un errore.

Se geom1 e geom2 non presentano lo stesso valore di identificatore del sistema di riferimento spaziale (SRID), allora viene restituito il valore nullo.

Esempi

Il seguente SQL restituisce un nuovo linestring in cui è stato impostato il secondo punto del linestring di input con il punto specificato.

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)

Il seguente SQL di esempio restituisce un nuovo linestring in cui è stato impostato il terzo punto dalla destra (l'indice è negativo) del linestring di input con il punto specificato.

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)