

 O Amazon Redshift não permitirá mais a criação de UDFs do Python a partir do Patch 198. As UDFs do Python existentes continuarão a funcionar normalmente até 30 de junho de 2026. Para ter mais informações, consulte a [publicação de 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 retorna uma geometria de linestring que é a mesma geometria de entrada com adição de um ponto. Se um índice for fornecido, o ponto será adicionado na posição do índice. Se o índice for -1 ou não for fornecido, o ponto será anexado à linestring. 

O índice é baseado em zero. O Spatial Reference System Identifier (SRID – Identificador do sistema de referência espacial) do resultado é o mesmo da geometria de entrada. 

A dimensão da geometria retornada é a mesma do valor de *geom1*. Se *geom1* e *geom2* têm dimensões diferentes, *geom2* é projetado para a dimensão de *geom1*.

## Sintaxe
<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*   
Um valor de tipo de dados `GEOMETRY` ou uma expressão que é avaliada como um tipo `GEOMETRY`. O subtipo deve ser `LINESTRING`. 

 *geom2*   
Um valor de tipo de dados `GEOMETRY` ou uma expressão que é avaliada como um tipo `GEOMETRY`. O subtipo deve ser `POINT`. O ponto pode ser o ponto vazio.

 *Índice do*   
Um valor do tipo de dados `INTEGER` que representa a posição de um índice baseado em zero. 

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

`GEOMETRY` 

Se *geom1*, *geom2* ou *index* for null, será retornado null. 

Se *geom2* é o ponto vazio, então uma cópia do *geom1* é retornado. 

Se *geom1* não for uma `LINESTRING`, será retornado um erro. 

Se *geom2* não for um `POINT`, será retornado um erro. 

Se *index* estiver fora do intervalo, será retornado um erro. Os valores válidos para a posição do índice são -1 ou um valor entre 0 e `ST_NumPoints(geom1)`. 

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

O SQL a seguir adiciona um ponto a uma linestring para torná-la uma linestring fechada. 

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

O SQL a seguir adiciona um ponto a uma posição específica em uma 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)
```