

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

ST\$1SetPoint retorna uma linestring com coordenadas atualizadas em relação à posição do linestring de entrada conforme especificado pelo índice. As novas coordenadas são as coordenadas do ponto 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_SetPoint-function-syntax"></a>

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

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

 *Índice do*   
Um valor de tipo de dados `INTEGER` que representa a posição de um índice. Um `0` refere-se ao primeiro ponto da linestring a partir da esquerda, `1` refere-se ao segundo ponto, e assim por diante. O índice pode ser um valor negativo. Um `-1` refere-se ao primeiro ponto da linestring a partir da direita, `-2` refere-se ao segundo ponto, e assim por diante. 

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

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

`GEOMETRY`

Se *geom2* for um ponto vazio, então *geom1* será retornado. 

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

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

Se *índice* não está dentro de um intervalo de índice válido, então será retornado um erro. 

Se *geom2* não for um ponto, então será retornado um erro. 

Um erro será retornado se *geom1* e *geom2* não tiverem o mesmo valor do identificador do sistema referência espacial (SRID -spatial reference system identifier). 

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

O SQL a seguir retorna uma nova linestring onde definimos o segundo ponto da linestring de entrada com o ponto 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)
```

O exemplo SQL a seguir retorna uma nova linestring onde definimos o terceiro ponto a partir da direita (o índice é negativo) da linestring com o ponto 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)
```