ST_ LineInterpolatePoint - Amazon Redshift

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

ST_ LineInterpolatePoint renvoie un point le long d'une ligne à une distance fractionnaire du début de la ligne.

Pour déterminer l'égalité des points, ST_ LineInterpolatePoint agit sur la projection 2D de la géométrie d'entrée. Si la géométrie en entrée est vide, une copie de celle-ci est renvoyée dans la même dimension que l’entrée. Pour les géométries 3DZ, 3DM et 4D, les coordonnées z ou m sont la moyenne des coordonnées z ou m du segment où se trouve le point.

Syntaxe

ST_LineInterpolatePoint(geom, fraction)

Arguments

geom

Valeur de type de données GEOMETRY ou expression qui est évaluée sur un type GEOMETRY. Le sous-type est LINESTRING.

fraction

Valeur du type de données DOUBLE PRECISION qui représente la position d’un point le long de la linestring pour la ligne. La valeur est une fraction comprise entre 0 et 1, inclus.

Type de retour

GEOMETRY du sous-type POINT.

Si geom ou fraction est null, null est renvoyé.

Si geom est vide, le point vide est renvoyé.

La valeur de l’identifiant de système de référence spatiale (SRID) de la géométrie renvoyée est la valeur SRID de la géométrie d’entrée.

Si fraction est hors limites, une erreur est renvoyée.

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

Exemples

Le code SQL suivant renvoie un point à mi-chemin d’une linestring.

SELECT ST_AsEWKT(ST_LineInterpolatePoint(ST_GeomFromText('LINESTRING(0 0, 5 5, 7 7, 10 10)'), 0.50));
st_asewkt ----------- POINT(5 5)

Le code SQL suivant renvoie un point à 90 % du chemin le long d’une linestring.

SELECT ST_AsEWKT(ST_LineInterpolatePoint(ST_GeomFromText('LINESTRING(0 0, 5 5, 7 7, 10 10)'), 0.90));
st_asewkt ----------- POINT(9 9)