

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

ST\$1 AddPoint renvoie une géométrie de chaîne de lignes identique à la géométrie d'entrée avec un point ajouté. Si un index est fourni, le point est ajouté à la position de l’index. Si l’index est -1 ou non fourni, le point est ajouté à linestring. 

L’index est basé sur zéro. L’identificateur du système de référence spatiale (SRID) du résultat est identique à celui de la géométrie en 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_AddPoint-function-syntax"></a>

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

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

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

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

 *index*   
Valeur de type de données `INTEGER` qui représente la position d’un index de base zéro. 

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

`GEOMETRY` 

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

Si *geom2* est le point vide, une copie de *geom1* est renvoyée. 

Si *geom1* n’est pas un `LINESTRING`, une erreur est renvoyée. 

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

Si *l’index* est hors de portée, une erreur est renvoyée. Les valeurs valides pour la position d’index sont -1 ou une valeur comprise entre 0 et `ST_NumPoints(geom1)`. 

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

Le code SQL suivant ajoute un point à un linestring pour en faire une linestring fermée. 

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

Le code SQL suivant ajoute un point à une position spécifique dans une 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)
```