ST_ AddPoint - Amazon Redshift

Amazon Redshift ne prendra plus en charge la création de nouveaux Python UDFs à compter du 1er novembre 2025. Si vous souhaitez utiliser Python UDFs, créez la version UDFs antérieure à cette date. Le Python existant UDFs continuera à fonctionner normalement. Pour plus d'informations, consultez le billet de blog.

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_ AddPoint

ST_ 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

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

Arguments

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

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

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)