

 Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il [post del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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\$1 SetPoint
<a name="ST_SetPoint-function"></a>

ST\$1 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
<a name="ST_SetPoint-function-syntax"></a>

```
ST_SetPoint(geom1, index, geom2)
```

## Arguments (Argomenti)
<a name="ST_SetPoint-function-arguments"></a>

 *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
<a name="ST_SetPoint-function-return"></a>

`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
<a name="ST_SetPoint-function-examples"></a>

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)
```