الاسم
ST_LineInterpolatePoints — تُعيد نقاطًا مُستكمَلة على امتداد خط عند فاصل كسري.
المختصر
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);
الوصف
تُعيد نقطة أو أكثر مُستكمَلة على امتداد خط عند فاصل كسري. يجب أن يكون الوسيط الأول LINESTRING. والوسيط الثاني قيمة float8 بين 0 و1 تمثّل التباعد بين النقاط كنسبة من طول الخط. وإذا كان الوسيط الثالث false، فستُنشأ نقطة واحدة على الأكثر (وهو ما يكافئ ST_LineInterpolatePoint.)
إذا كان الناتج يحتوي على صفر نقاط أو نقطة واحدة، يُعاد بوصفه POINT. وإذا احتوى على نقطتين أو أكثر، يُعاد بوصفه MULTIPOINT.
متاحة منذ: 2.5.0
تدعم هذه الدالة الأبعاد الثلاثية ولا تُسقط قيمة Z.
تدعم هذه الدالة إحداثيات M.
أمثلة
خط (LineString) مع نقاط مُستكمَلة كل 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))