

 Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del parche 198. Las UDF de Python existentes seguirán funcionando hasta el 30 de junio de 2026. Para obtener más información, consulte la [publicación del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# ST\$1SetPoint
<a name="ST_SetPoint-function"></a>

ST\$1SetPoint devuelve una cadena de línea con coordenadas actualizadas con respecto a la posición de la cadena de línea de entrada especificada por el índice. Las coordenadas nuevas son las coordenadas del punto de entrada. 

La dimensión de la geometría devuelta es la misma que la del valor *geom1*. Si *geom1* y *geom2* tienen diferentes dimensiones, *geom2* se proyecta a la dimensión de *geom1*.

## Sintaxis
<a name="ST_SetPoint-function-syntax"></a>

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

## Argumentos
<a name="ST_SetPoint-function-arguments"></a>

 *geom1*   
Un valor de tipo de datos `GEOMETRY` o una expresión que toma el valor de un tipo `GEOMETRY`. El subtipo debe ser `LINESTRING`. 

 *Índice de*   
Un valor del tipo de datos `INTEGER` que representa la posición de un índice. `0` hace referencia al primer punto de la cadena de línea desde la izquierda, `1` hace referencia al segundo punto, y así sucesivamente. El índice puede ser un valor negativo. `-1` hace referencia al primer punto de la cadena de línea desde la derecha, `-2` hace referencia al segundo punto, y así sucesivamente. 

 *geom2*   
Un valor de tipo de datos `GEOMETRY` o una expresión que toma el valor de un tipo `GEOMETRY`. El subtipo debe ser `POINT`. 

## Tipo de retorno
<a name="ST_SetPoint-function-return"></a>

`GEOMETRY`

Si *geom2* es el punto vacío, se devuelve *geom1*. 

Si *geom1*, *geom2*, o *índice* es null, se devuelve el valor null. 

Si *geom1* no es una cadena de línea, se devuelve un error. 

Si *index* no está dentro de un rango de índice válido, se devuelve un error. 

Si *geom2* no es un punto, se devuelve un error. 

Si *geom1* y *geom2* no tienen el mismo valor en el identificador de sistema de referencia espacial (SRID), se devuelve un error. 

## Ejemplos
<a name="ST_SetPoint-function-examples"></a>

El siguiente SQL devuelve una nueva cadena de línea en la que se establece el segundo punto de la cadena de línea de entrada con el punto especificado. 

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

El siguiente ejemplo de SQL devuelve una nueva cadena de línea en la que se establece el tercer punto desde la derecha (el índice es negativo) de la cadena de línea con el punto especificado. 

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