

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

ST\$1AddPoint devuelve una geometría de linestring que es la misma que la geometría de entrada con un punto agregado. Si se proporciona un índice, entonces el punto se agrega en la posición del índice. Si el índice es -1 o no se proporciona, entonces el punto se anexa a la linestring. 

El índice tiene base cero. El identificador del sistema de referencia espacial (SRID) del resultado es el mismo que el de la geometría 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_AddPoint-function-syntax"></a>

```
ST_AddPoint(geom1, geom2)
```

```
ST_AddPoint(geom1, geom2, index)
```

## Argumentos
<a name="ST_AddPoint-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`. 

 *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`. El punto puede ser el punto vacío.

 *Índice de*   
Un valor del tipo de datos `INTEGER` que representa la posición de un índice con base cero. 

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

`GEOMETRY` 

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

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

Si *geom1* no es `LINESTRING`, se devuelve un error. 

Si *geom2* no es `POINT`, se devuelve un error. 

Si el *índice* está fuera de rango, se devuelve un error. Los valores válidos para la posición de índice son -1 o un valor entre 0 y `ST_NumPoints(geom1)`. 

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

El siguiente SQL agrega un punto a una linestring para convertirla en una linestring cerrada. 

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

El siguiente SQL agrega un punto a una posición específica en 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)
```