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 typeGEOMETRY
. Le sous-type doit êtreLINESTRING
. - geom2
-
Valeur de type de données
GEOMETRY
ou expression qui est évaluée sur un typeGEOMETRY
. Le sous-type doit êtrePOINT
. 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)