

 Amazon Redshift ne prendra plus en charge la création de nouveaux Python à UDFs partir du patch 198. UDFs Le Python existant continuera de fonctionner jusqu'au 30 juin 2026. Pour plus d’informations, consultez le [ billet de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

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

ST\$1 SetPoint renvoie une chaîne de lignes avec des coordonnées mises à jour par rapport à la position de la chaîne de ligne d'entrée telle que spécifiée par l'index. Les nouvelles coordonnées sont les coordonnées du point d’entrée. 

La dimension de la géométrie renvoyée est identique à celle de la valeur *geom1*. Si *geom1* et *geom2* ont des dimensions différentes, *geom2* est projeté à la dimension de *geom1*.

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

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

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

 *geom1*   
Valeur de type de données `GEOMETRY` ou expression qui est évaluée sur un type `GEOMETRY`. Le sous-type doit être `LINESTRING`. 

 *index*   
Valeur de type de données `INTEGER` qui représente la position d’un index. Un `0` fait référence au premier point de la linestring à partir de la gauche, un `1` fait référence au deuxième point, et ainsi de suite. L’index peut être une valeur négative. Un `-1` fait référence au premier point de la linestring à partir de la droite, un `-2` fait référence au deuxième point, et ainsi de suite. 

 *geom2*   
Valeur de type de données `GEOMETRY` ou expression qui est évaluée sur un type `GEOMETRY`. Le sous-type doit être `POINT`. 

## Type de retour
<a name="ST_SetPoint-function-return"></a>

`GEOMETRY`

Si *geom2* est le point vide, *geom1* est renvoyé. 

Si *geom1*, *geom2*, ou *index* est null, alors null est renvoyé. 

Si *geom1* n’est pas une linestring, une erreur est renvoyée. 

Si *index* n’est pas dans une plage d’index valide, une erreur est renvoyée. 

Si *geom2* n’est pas un point, une erreur est renvoyée. 

Si *geom1* et *geom2* n’ont pas la même valeur pour l’identifiant de système de référence spatiale (SRID), une erreur est renvoyée. 

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

Le code SQL suivant renvoie une nouvelle linestring où nous définissons le deuxième point de la linestring d’entrée avec le point spécifié. 

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

L’exemple de code SQL suivant renvoie une nouvelle linestring où nous définissons le troisième point à partir de la droite (l’index est négatif) de la linestring avec le point spécifié. 

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