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

ST_ AddPoint restituisce una geometria di stringhe di linee che è la stessa della geometria di input con un punto aggiunto. Se viene fornito un indice, il punto viene aggiunto alla posizione dell'indice. Se l'indice è -1 o non viene fornito, il punto viene aggiunto alla linestring.

L'indice è a base zero. L'identificatore del sistema di riferimento spaziale (SRID) del risultato è lo stesso della geometria 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_AddPoint(geom1, geom2)
ST_AddPoint(geom1, geom2, index)

Argomenti

geom1

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

geom2

Un valore di tipo GEOMETRY o un'espressione che restituisce un valore di tipo GEOMETRY. Questo sottotipo deve essere POINT. Il punto può essere il punto vuoto.

indice

Valore del tipo di dati INTEGER che rappresenta la posizione di un indice a base zero.

Tipo restituito

GEOMETRY

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

Se geom2 è il punto vuoto, quindi viene restituita una copia di geom1.

Se geom1 non è un LINESTRING, allora viene restituito un errore.

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

Se index è fuori intervallo, viene restituito un errore. I valori validi per la posizione dell'indice sono -1 o un valore compreso tra 0 e ST_NumPoints(geom1).

Esempi

Il seguente codice SQL aggiunge un punto a una linestring per renderla una linestring chiusa.

WITH tmp(g) AS (SELECT ST_GeomFromText('LINESTRING(0 0,10 0,10 10,5 5,0 5)',4326)) SELECT ST_AsEWKT(ST_AddPoint(g, ST_StartPoint(g))) FROM tmp;
st_asewkt ------------------------------------------------ SRID=4326;LINESTRING(0 0,10 0,10 10,5 5,0 5,0 0)

Il seguente codice SQL aggiunge un punto a una posizione specifica in una linestring.

WITH tmp(g) AS (SELECT ST_GeomFromText('LINESTRING(0 0,10 0,10 10,5 5,0 5)',4326)) SELECT ST_AsEWKT(ST_AddPoint(g, ST_SetSRID(ST_Point(5, 10), 4326), 3)) FROM tmp;
st_asewkt ------------------------------------------------ SRID=4326;LINESTRING(0 0,10 0,10 10,5 10,5 5,0 5)