Name

ST_LineInterpolatePoints — Renvoie des points interpolés le long d'une ligne à un intervalle fractionnaire.

Synopsis

geometry ST_LineInterpolatePoints(geometry a_linestring, float8 a_fraction, boolean repeat);

geography ST_LineInterpolatePoints(geography a_linestring, float8 a_fraction, boolean use_spheroid = true, boolean repeat = true);

Description

Renvoie un ou plusieurs points interpolés le long d'une ligne à un intervalle fractionnaire. Le premier argument doit être une LINESTRING. Le second argument est un float8 entre 0 et 1 représentant l'espacement entre les points en tant que fraction de la longueur de la ligne. Si le troisième argument est faux, un seul point sera construit (ce qui est équivalent à ST_LineInterpolatePoint.)

Si le résultat a zéro ou un point, il est retourné sous forme de POINT. S'il a deux points ou plus, il est retourné sous la forme d'un MULTIPOINT.

Disponibilité : 2.5.0

Cette fonction prend en charge la 3D et ne supprime pas l'indice z.

Cette fonction prend en charge les coordonnées M.

Exemples

Une ligne avec des points interpolés tous les 20 %

--Return points each 20% along a 2D line
SELECT ST_AsText(ST_LineInterpolatePoints('LINESTRING(25 50, 100 125, 150 190)', 0.20))
----------------
 MULTIPOINT((51.5974135047432 76.5974135047432),(78.1948270094864 103.194827009486),(104.132163186446 130.37181214238),(127.066081593223 160.18590607119),(150 190))